2016-11-30 15 views
0

私のスコアを上げるのにいくつか問題があります。それは動作しますが、最初の "+1"が実行された後も0にリセットされ続けます。Python CGIの点数を増やす

user1score = 0 
user2score = 0 

def main(): 
    if form.has_key('choice'): 
     myMove = form['choice'].value 
     cpuM = computerMove() 
     result = compareMove(myMove, cpuM) 
     now = datetime.datetime.now() 
     writeFile(user, result, now) 
     show(user) 
     print user 
     print now.strftime("%Y-%m-%d %H:%M") 
     print result 



    else: 
     show(user) 



def computerMove(): 
    cc = ["rock","scissor","paper"] 
    return random.choice(cc) 



def compareMove(myMove, cpuM): 
    global user1score 
    global user2score 
    if myMove == cpuM: 
     return "Its a tie!" 
    elif myMove == 'rock': 
     if cpuM == 'paper': 
      user2score += 1 
      return "Paper beats Rock. Computer wins! " + str(user2score) 
     else: 
      user1score += 1 
      return "Rock beats Scissors. You win! " + str(user1score) 
    elif myMove == 'paper': 
     if cpuM == 'rock': 
      user1score += 1 
      return "Paper beats Rock. You win! " + str(user1score) 
     else: 
      user2score += 1 
      return "Scissors beats paper. Computer wins! " + str(user2score) 
    elif myMove == 'scissors': 
     if cpuM == 'rock': 
      user2score += 1 
      return "Rock beats scissors. Computer wins " + str(user2score) 
     else: 
      user1score += 1 
      return "Scissors beats paper. You win " + str(user1score) 

スコアが1つ増えた後、スコアがゼロに戻らないようにするにはどうすればよいですか?他のすべては意図したとおりに動作しています。

ありがとうございます。

+0

このスクリプトは、ユーザーが移動するたびに呼び出されますか? –

+0

それは確かにあります。 –

+0

ファイルまたはデータベースに値を書き込みます。 – furas

答えて

0

あなたのスクリプトは、ユーザが何かをするたびに呼び出されるので、前のラウンドの結果をrembemberできません。

どちらかセッション(クッキー)のいくつかの種類を使用するか隠された要素としてフォームにスコアを追加します。

関連する問題