首页
/
每日頭條
/
遊戲
/
如何用python自己做一款小遊戲
如何用python自己做一款小遊戲
更新时间:2025-01-09 04:25:44

如何用python自己做一款小遊戲(九道門教你用)1

大家都知道石頭剪刀布的遊戲吧,石頭赢剪刀,布赢石頭,剪刀赢布。在本教程中,我就要用 Python 來創建這個遊戲。

如何用python自己做一款小遊戲(九道門教你用)2

先來看一下代碼要怎麼寫:

#從python的random模塊中導入randint from random import randint #添加動作 moves = ["rock", "paper", "scissors"] print("Hi, welcome to the world of Rock, Paper and Scissor!") name = str(input("What's your name : ")) print(f"Okay {name}, let's start the game!") #創建連續循環 while True: #計算機從我們的移動列表中選擇任意值 computer = moves[randint(0, 2)] #從player獲取輸入值 print("Choose Rock, Paper, Scissor or Press 'q' for quit the game!") player = input("Your turn : ") print("Computer turn :", computer) #添加條件 if player == 'q': print(f"The game is ended, thanks for playing {name}!") break elif player == computer: print("Oops, the game is tie!") elif player == "rock": if computer == "paper": print("You loss,", computer, "beats", player) else: print("You win,", player, "beats", computer) elif player == "paper": if computer == "scissors": print("You loss,", computer, "beats", player) else: print("You win,", player, "beats", computer) elif player == "scissors": if computer == "rock": print("You loss,", computer, "beats", player) else: print("You win,", player, "beats", computer) else: print("Sorry, your value is not valid!")

簡單說一下這段代碼是如何工作的:

  • 首先從 Python 的随機模塊中導入了一個名為 randint() 的内置函數,然後我們以列表的形式添加了這些動作。玩家和計算機将根據此列表選擇動作,在動作中添加了石頭、剪刀、布的元素。
  • 之後,我創建了一個歡迎字條,并記錄用戶的名字。
  • 接下來,我創建了一個連續的 while 循環。在這個循環中,計算機和玩家必須先選擇他們的動作。計算機将使用 randint() 函數從列表中生成随機移動,然後我們将從玩家那裡獲取輸入。
  • 最後為這個遊戲設定條件。這些條件背後的邏輯如下所示:

條件1:如果玩家給出“q”作為輸入值,那麼結束這個遊戲!

條件2:如果玩家和電腦的走法相同,則平局!

條件3:如果用戶選擇“Rock”,而計算機選擇“Paper”,則你獲勝。

條件4:如果用戶選擇“Paper”,而計算機選擇“Scissors”,那麼你輸了。

條件5:如果用戶選擇“Rock”,而計算機選擇“Paper”,那麼你輸了。

條件6:如果用戶給出了無效的輸入或在我們的動作列表中不可用,則顯示您選擇了無效動作的消息。

最後欣賞一下成果:

如何用python自己做一款小遊戲(九道門教你用)3

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
Copyright 2023-2025 - www.tftnews.com All Rights Reserved