石头剪刀布输1次脱的游戏,Python设计一个石头、剪刀、布游戏

抖帅宫 597 2023-10-31

石头剪刀布输1次脱的游戏,Python设计一个石头、剪刀、布游戏-第1张-观点-玄机派

来源头条作者:少儿编程Prog61

石头剪刀布是一种很受欢迎的游戏。我们将在python编程语言中实现石头剪刀布(Rock, Paper, and Scissors)。Python是最简单的编程语言之一,理解它不需要花费太多时间。让我们开始吧。

让我们分解石头,剪刀、布

在转到编码部分之前,编程和开发的第一条规则始终是分析并分解我们将要实现的内容。将我们的问题分解为更小的步骤称为分解。在这里,我们将为游戏石头剪刀布创建一个程序。我们将问题分为几部分。

1.玩家。在这个游戏中我们需要两个人,我们将有一个用户,另一个用户是计算机。用户和计算机都将输入他们的选择。不用担心计算机的输入,它将是最有趣的部分。

2.规则。接下来,我们必须创建示例方案来确定谁是每个回合的赢家。让我们简要地讨论这些情况:

– 当用户和计算机做出相同选择时,这是平局。

– 石头胜过剪刀,输给布

– 布胜过石头,输给了剪刀

– 剪刀战胜布,输给石头

3.退出策略。总会有一个选择来完成游戏。

4.谁赢了?我们还需要保留双方所获得的积分。

现在我们知道我们将要做什么。让我们开始编码吧!

编写Python游戏代码:分步说明

这款游戏是使用变量,列表,while循环,if-elif-else阶梯和我们从随机模块导入的特殊randint方法创建的。我们将在下面介绍所有这些初学者编程概念!

如果您没有python编辑器,并且正在寻找一种非常简单的方法立即开始使用Python,则可以使用在线Python IDE编辑器。 只需打开此页面https://repl.it/languages/python3,您就可以立即开始使用!

步骤1:导入模块

from random import randint

我们使用'from'和'import'关键字从随机模块导入randint函数。randint函数具有一些特殊功能,我们将在程序中使用它们。 我们将在后面讨论。 现在我们已经有了重要的功能,可以在我们的代码中使用它了。

步骤2:创建可用选项列表Python中的数据结构是用户友好的并且非常易于理解。让我们看一下第一个数据结构的代码,一个列表。

#List of options game = ["Rock", "Paper", "Scissors"]

Python中还有其他数据结构,每个结构都有不同的功能。使用方括号创建列表,要检索它的值,我们需要做的就是,写下列表的名称,后跟两个方括号,然后输入要检索的值的索引。例如:

game[1]

步骤3:让电脑随机选择

我们已经导入了randint函数,并且我们还知道如何从列表中检索值。现在是时候结合这两个概念,我们需要获得计算机的选择。以下代码就是计算机在此程序中随机选择的方式。

#Assigning a random option to computer computer = game[randint(0,2)]

我们创建了一个名为computer的变量,该变量将保存计算机的选择。我们已经有了选择列表,接下来需要考虑让计算机可以随机选择其中之一。这是randint函数发挥作用的地方。

randint函数用于生成随机值。将上下限参数传递给此函数,并且返回值始终在此范围之间。根据列表定义,我们将传递参数0和2,游戏具有三个值,0是第一个值。因此,这里返回0、1和2共三个选项!

randint(0,2)

这行代码可以返回0、1或2,它可以是唯一的或相同的,这是完全随机的! 我们将使用返回的数字作为列表的索引。

game[randint(0,2)]

我们将整个randint函数写在方括号内,这样返回的随机数就可以作为索引。现在,计算机做出了选择,并保存在变量中。

第4步:让我们在开始游戏之前定义更多变量

变量是编程的重要组成部分。对于我们的石头剪刀布游戏,还有一些其他变量需要考虑。

playersPoint = 0 computersPoint = 0

这两个变量将为用户和计算机保存分数,所以要初始化为零。

goOn = True

除了选项之外,用户还可以结束游戏。当用户输入“Finish”时,上述变量将结束游戏。goOn变量设置为True,这是while循环的条件。

当用户输入“Finish”时,此变量的值将更改为false,游戏结束。

步骤5:创建While循环

while循环允许我们的游戏运行,直到游戏被用户结束为止。

#Loop goes on until goOn is false while(goOn):

在括号中,使用了goOn变量。 goOn变量的值为True,这意味着while循环中的条件为true,它将一直运行直到条件为false。稍后,当用户键入“Finish”时,我们将告诉程序将goOn变量更改为false。

步骤6:允许用户输入while循环中的第一行代码是:

#Ask for user input player = input("Rock, Paper or Scissors? or enter Finish to end!\n")

这是我们要求用户选择的地方。四个选项是“石头(Rock)”,“布(Paper)”,“剪刀(Scissors)”和“完成(Finish)”。 用户必须输入其中之一,否则程序将不会继续。

选项存储在player变量中,函数内编写的文本出现在屏幕上。我们必须完全按照要求输入值! 这是大小写敏感的!

步骤7:定义方案

我们有两个变量:computer和player,分别存有计算机和用户的选择。

现在是时候决定获胜者了。 我们将通过使用if-elif-else梯形图来实现。

#Check for scenarios if(player == 'Finish'): goOn = False elif(player == computer): print("Tie!") elif(player == "Rock"): if(computer == "Paper"): print("You lose!", computer, "covers", player) computersPoint = computersPoint + 1 else: print("You win!", player, "smashes", computer) playersPoint = playersPoint + 1 elif(player == "Paper"): if(computer == "Scissors"): print("You lose!", computer, "cut", player) computersPoint = computersPoint + 1 else: print("You win!", player, "covers", computer) playersPoint = playersPoint + 1 elif(player == "Scissors"): if(computer == "Rock"): print("You lose...", computer, "smashes", player) computersPoint = computersPoint + 1 else: print("You win!", player, "cut", computer) playersPoint = playersPoint + 1 else: print("That's not a valid play. Check your spelling!")

让我们了解一下“if-elif-else”的工作原理。每个if和elif在括号中都有一个条件部分。程序将进入条件为真的那个块。一旦找到真实条件,它将忽略所有其他条件。 但是,当所有条件都不成立时会发生什么? 执行进入else块。再次观察上面的代码,else块没有条件。

我们将逐步讨论所有条件。

1.第一个条件检查用户是否输入了“Finish”。 如果此条件为true,则goOn变量的值将更改为false,程序将结束。

if(player == 'Finish'): goOn = False

2.第二个条件检查用户和计算机的选择是否相同。 在这种情况下,任何人都不会获得得分。

elif(player == computer): print("Tie!")

3.接下来的三个条件根据游戏的基本概念起作用。 决定赢家,并相应地奖励积分。 之前,我们用0初始化了两个变量,computersPoint和playersPoint。 如果计算机获胜,则computersPoint变量将增加1,如果用户获胜,playersPoint变量将增加1。

elif(player == "Rock"): if(computer == "Paper"): print("You lose!", computer, "covers", player) computersPoint = computersPoint + 1 else: print("You win!", player, "smashes", computer) playersPoint = playersPoint + 1 elif(player == "Paper"): if(computer == "Scissors"): print("You lose!", computer, "cut", player) computersPoint = computersPoint + 1 else: print("You win!", player, "covers", computer) playersPoint = playersPoint + 1 elif(player == "Scissors"): if(computer == "Rock"): print("You lose...", computer, "smashes", player) computersPoint = computersPoint + 1 else: print("You win!", player, "cut", computer) playersPoint = playersPoint + 1

4.最后是else块。 没有条件。 仅当用户输入无效选项时,它才会显示一条消息。

else: print("That's not a valid play. Check your spelling!")

步骤8:允许游戏继续在while循环结束时,我们再次使用randint函数为计算机分配选项。

#Assigning a random option to computer computer = game[randint(0,2)] print('********Next Turn********')

即使我们在游戏开始时有类似的代码行,也必须重复此操作。 请记住,计算机必须要做出选择。 这就是为什么我们再次编写此行代码的原因。

步骤9:显示最终分数当用户通过键入“完成”结束游戏时,程序将显示最终得分。 最终分数存储在我们之前使用的两个变量中,computersPoint和playersPoint。

#Printing final points print("********Final Points********") print("Player: ", playersPoint) print("Computer: ", computersPoint)剪刀石头布完整代码

您需要完整的代码,才能在Python中运行“剪刀石头布”游戏。 您可以将此代码复制并粘贴到https://repl.it/languages/python3中,然后自己玩这个游戏!

from random import randint #List of options game = ["Rock", "Paper", "Scissors"] #Assigning a random option to computer computer = game[randint(0,2)] #Keep count for points playersPoint = 0 computersPoint = 0 goOn = True #Loop goes on until goOn is false while(goOn): #Ask for user input player = input("Rock, Paper or Scissors? or enter Finish to end!\n") #Check for scenarios if(player == 'Finish'): goOn = False elif(player == computer): print("Tie!") elif(player == "Rock"): if(computer == "Paper"): print("You lose!", computer, "covers", player) computersPoint = computersPoint + 1 else: print("You win!", player, "smashes", computer) playersPoint = playersPoint + 1 elif(player == "Paper"): if(computer == "Scissors"): print("You lose!", computer, "cut", player) computersPoint = computersPoint + 1 else: print("You win!", player, "covers", computer) playersPoint = playersPoint + 1 elif(player == "Scissors"): if(computer == "Rock"): print("You lose...", computer, "smashes", player) computersPoint = computersPoint + 1 else: print("You win!", player, "cut", computer) playersPoint = playersPoint + 1 else: print("That's not a valid play. Check your spelling!") #Assigning a random option to computer computer = game[randint(0,2)] print('********Next Turn********') #Printing final points print("********Final Points********") print("Player: ", playersPoint) print("Computer: ", computersPoint)让我们看看最终代码的运行结果!

用户可以输入“ Rock”,“ Paper”或“ Scissors”进行游戏,或输入“ Finish”结束游戏。然后将值与计算机的选择相匹配,并相应地分配分数。 游戏结束后,最终分数将显示在屏幕上。这就是我们可以使用python创建简单的石头剪刀布游戏的方式。

上一篇:母马犬起名大全,起个好名字
下一篇:梦见抱着一条蛇是什么预兆,周公解梦最后一件事看似不吉利
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

返回顶部小火箭