莱斯大学Python课程Mini-project # 1- Rock-paper-scissors-lizard-Spock

要求:https://class.coursera.org/interactivepython-004/human_grading/view/courses/972072/assessments/28/submissions

做得跟要求有点不同。现在已经是第四周了,我还只做了前两周的练习。本月内一定要追上进度。


# play Rock-paper-scissors-lizard-Spock game with computer

import math
import random
import simplegui

#global
player_choice="choose one please"
your_choice= "nono"
message="start"
comp_number=random.randrange(0, 5)    

# the first helper function,change the name to number,0 — rock,1 — Spock,2 — paper,3 — lizard,4 — scissors
def name_to_number(name):
    if name=='rock':
        number = 0
         
    elif  name=='spock':
        number=1

    elif name=='paper' :
        number=2

    elif name=='lizard':
        number=3
   
    elif name=='scissors':
        number=4 
       
    else: 
        number=5
        
    return number

# the second helper function, converts a number in the range 0 to 4 into its corresponding name as a string

def number_to_name(number):
    if number == 0:
        name='rock'
         
    elif number==1:
        name='spock'

    elif number==2 :
        name='paper'

    elif number==3 :
         name='lizard'
   
    elif number==4 :
         name ='scissors'
       
    else: 
        name= 'unidentified number'
        
    return name



#define an input handler

def input_handler(text):
    global player_choice
    player_choice=text
    
# define a handler to start new game
def  new_game():
    global comp_number  
    global your_choice
    comp_number=random.randrange(0, 5)  
    
    
# main function
    
def compare():
    global message
    
    player_number=name_to_number(player_choice)
    if  player_number == 5:
       message= "start again !!!"
    elif (comp_number-player_number)%5 == 0 :
        message= "TIE"
    elif  (comp_number-player_number)%5 == 1 :
        message= "you win"  
    elif  (comp_number-player_number)%5 == 2 :
        message= "you win, ok?"     
    else:
        message= "computer wins"
    
    return message
    
    
    
#define draw handler
def draw(canvas):
    canvas.draw_text(compare(),[100,100],20,"White")
    
    

    
#create the frame
frame=simplegui.create_frame("little game",300,200)

    
    
#register event handler
frame.set_draw_handler(draw) 
frame.add_input("input rock, or paper,or scissors,or lizard,or spock",input_handler,180)    
frame.add_button("new game",new_game,108)
    
#start the game
frame.start()


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值