Hit S, P, or R while computer randomly does the same. Scores will be updated according to the well-know rules: Scissors cut Paper, Paper wraps Rock, Rock smashes Scissors. Same versus Same is a draw.

stage.set_background_color("#00ff00") it_score = 0 me_score = 0 keypressed = False codesters.Text("ME:", -150, -150) codesters.Text("IT:", -150, 150) codesters.Text(str(me_score), -120, -150) codesters.Text(str(it_score), -120, 150) def computer(): global it pick = random.choice([1,2,3]) if pick == 1: it = codesters.Sprite("scissors", 0, 150) it.name = "scissors" if pick == 2: it = codesters.Sprite("paper", 0, 150) it.name = "paper" if pick == 3: it = codesters.Sprite("rock", 0, 150) it.name = "rock" stage.wait(1) def score(): #if me.scissor and it.paper: # score for me global it, me # <-- connects to "outside" global me_score, it_score if it.name == "scissors" and me.name == "rock": computer_wins = False if it.name == "scissors" and me.name == "paper": computer_wins = True if it.name == "scissors" and me.name == "scissors": return if it.name == "paper" and me.name == "rock": computer_wins = True if it.name == "paper" and me.name == "paper": return if it.name == "paper" and me.name == "scissors": computer_wins = False if it.name == "rock" and me.name == "rock": return if it.name == "rock" and me.name == "paper": computer_wins = False if it.name == "rock" and me.name == "scissors": computer_wins = True if computer_wins: sprite = codesters.Rectangle(-125, 145, 20, 30, "#00ff00") it_score = it_score + 1 else: # make ME score 1 higher sprite = codesters.Rectangle(-125, -145, 20, 30, "#00ff00") me_score = me_score + 1 codesters.Text(str(me_score), -120, -150) codesters.Text(str(it_score), -120, 150) def s_key(): # scissors global me, keypressed if keypressed: return # block further keystrokes keypressed = True me = codesters.Sprite("scissors", 0, -150) me.name = "scissors" computer() score() clear() def p_key(): # paper global me, keypressed if keypressed: return # block further keystrokes keypressed = True me = codesters.Sprite("paper", 0, -150) me.name = "paper" computer() score() clear() def r_key(): # rock global me, keypressed if keypressed: return # block further keystrokes keypressed = True me = codesters.Sprite("rock", 0, -150) me.name = "rock" computer() score() clear() def clear(): # clear sprites, allow keystrokes global keypressed stage.remove_sprite(me) stage.remove_sprite(it) keypressed = False stage.event_key("r", r_key) stage.event_key("s", s_key) stage.event_key("p", p_key)
  • Run Code
  • Show Console
  • Codesters How To (opens in a new tab)