私はFarkle(ダイスゲーム)のための簡単なスコアリングシステムを作った。私はPythonの初めの生徒で、特定のことをする方法についていくつかの質問があります。まず第一に、どのようにして一致するシーケンスがあるかについて、私のコードが自分のリスト(ダイスグループ)をチェックする方法を見つけるのが難しいです。私はそれをチェックしてみたいと思います。具体的には、私が入っていなくても、手動で各番号の番号があるときに何が起こるかを設定することなく、4種類あります。これを行う最も簡単な方法は何ですか?4種類のダイスゲーム
コードに関する一般的なご意見もありがとうございます。種類の4をチェックする
from __future__ import print_function
from collections import Counter
import random
onescore = 0
twoscore = 0
threescore = 0
fourscore = 0
fivescore = 0
fivesinglesscore = 0
sixscore = 0
fourofakind = 0
scorelist = []
##ROLLING THE DICE##
def roll():
dice = (1,2,3,4,5,6)
dice1 = random.choice(dice)
dice2 = random.choice(dice)
dice3 = random.choice(dice)
dice4 = random.choice(dice)
dice5 = random.choice(dice)
dice6 = random.choice(dice)
global onescore,twoscore,threescore,fourscore,fivescore,fivesinglesscore,sixscore,fourofakind
onescore = 0
twoscore = 0
threescore = 0
fourscore = 0
fivescore = 0
fivesinglesscore = 0
sixscore = 0
fourofakind = 0
dicegroup = [dice1,dice2,dice3,dice4,dice5,dice6]
print ('Your rolls are',dicegroup)
dicenum = Counter(dicegroup)
onescore = dicenum[1] * 100
print ('There are',dicenum[1],'ones. This gives you', onescore, 'points.')
fivesinglesscore = dicenum[5] * 50
print ('There are',dicenum[5],'fives. This gives you', fivesinglesscore, 'points.')
if dicenum[2] == 3:
twoscore = 200
print ('There are',dicenum[2],'twos. This gives you', twoscore, 'points.')
if dicenum[3] == 3:
threescore = 300
print ('There are',dicenum[3],'threes. This gives you', threescore, 'points.')
if dicenum[4] == 3:
fourscore = 400
print ('There are',dicenum[4],'fours. This gives you', fourscore, 'points.')
if dicenum[5] == 3:
fivescore = 500
print ('There are',dicenum[5],'fives. This gives you', fivescore, 'points.')
if dicenum[6] == 3:
sixscore = 600
print ('There are',dicenum[6],'sixes. This gives you', sixscore, 'points.')
if dicenum[any] == 4:
fourofakind = 1000
print ('You have four of a kind. This is worth', fourofakind, 'points.')
roll()
##SCORE PROCESSING
finalscore = onescore + twoscore + threescore + fivescore + fivesinglesscore + sixscore + fourofakind
print (finalscore)
scorelist.append(finalscore)
print ('')
print ('Score list is:')
print (scorelist)
StackOverflowは、コードレビューサイトではなく、Q&Aサイトです。具体的な回答がある特定の質問をする必要があります。コードレビューを求める他のフォーラムがあります(たとえばreddit.com/r/learnprogramming) – Metropolis
@ Metropolis Fair十分です。私はサイトの目的を少し誤解していました(しかし、私は質問しましたが、それにもかかわらず関連していると思います)。私に知らせてくれてありがとう。 – Andrew