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
-
-
Stop Running Code
-
Show Chart
-
Show Console
-
Codesters How To (opens in a new tab)