莱斯大学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()


好的,下面是一个简单的Python 3代码,实现了三个人玩石头剪刀布游戏: ```python import random # 定义游戏规则 rules = {'rock': 'scissors', 'scissors': 'paper', 'paper': 'rock'} # 定义玩家列表 players = ['Player 1', 'Player 2', 'Player 3'] # 定义游戏次数 rounds = 3 # 开始游戏 for i in range(rounds): print('Round', i+1) for player in players: # 玩家输入选择 choice = input(player + ', please choose rock, scissors or paper: ') # 电脑随机选择 computer_choice = random.choice(['rock', 'scissors', 'paper']) # 判断胜负 if choice == computer_choice: print(player, 'chose', choice, 'and computer chose', computer_choice, ', it is a tie!') elif rules[choice] == computer_choice: print(player, 'chose', choice, 'and computer chose', computer_choice, ',', player, 'wins!') else: print(player, 'chose', choice, 'and computer chose', computer_choice, ', computer wins!') ``` 代码解释: 1. `rules`定义了游戏规则,即`'rock'`胜过`'scissors'`,`'scissors'`胜过`'paper'`,`'paper'`胜过`'rock'`。 2. `players`定义了玩家列表,本例中有三个玩家。 3. `rounds`定义了游戏次数,本例中为三次。 4. 在游戏开始前,使用`for`循环遍历每一轮游戏,使用`for`循环遍历每一个玩家。 5. 玩家使用`input`函数输入自己的选择,电脑使用`random.choice`函数随机选择。 6. 判断胜负,如果玩家和电脑选择相同,则平局;如果玩家的选择胜过电脑的选择,则玩家获胜;否则,电脑获胜。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值