用python寫小游戲源代碼(Python小游戲源碼)
本篇文章給大家談?wù)動胮ython寫小游戲源代碼,以及Python小游戲源碼對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。
本文目錄一覽:
- 1、球球各位大神怎么用python寫一個猜詞小游戲的代碼?
- 2、求個Python小游戲
- 3、Python游戲開發(fā),Python實現(xiàn)貪吃蛇小游戲與吃豆豆 附帶源碼
- 4、100行Python代碼,輕松完成貪吃蛇小游戲?
- 5、用python寫猜數(shù)字小游戲
- 6、python 編寫一個彩票游戲?
球球各位大神怎么用python寫一個猜詞小游戲的代碼?
key = input('請輸入一個單詞:')
description = input('輸入單詞描述:')
chance = 5
mark = 5
print('現(xiàn)在開始游戲')
print(description + ' '+'\t 這是單詞的描述,請你輸入這個單詞: ')
for i in range(0, 5):
a = input('請你輸入單詞:')
if a == key:
print('恭喜你答對了,您的分?jǐn)?shù)%d', mark)
else:
print('對不起,你打錯了,你還有 %d 次機會,你的分?jǐn)?shù)%d' % (chance-1, mark-1))
if chance == 0:
print('很抱歉,你已經(jīng)沒有機會了,最后得分%d' % mark)
chance -= 1
mark -= 1
求個Python小游戲
淺淺的笑著:“我會帶著你的孩子,
顚節(jié)進入
Python程序開發(fā)之簡單小程序?qū)嵗? (11)小 游戲 -跳動的小球 一、項目功能 用戶控制擋板來阻擋跳動的小球。 二、項目分析 根據(jù)項目功能自定義兩個類,一個用于控制小球在窗體中的運動,一個用于接收用戶按下左右鍵時,擋板在窗體中的運動。在控制小球的類中,我們還需要考慮當(dāng)小球下降時,碰到擋板時的位置判斷。 三、程序源代碼 源碼部分截圖: 源碼: #!/usr/bin/python3.6 # -*- coding: GBK -*- #導(dǎo)入相應(yīng)模塊 from tkinter import * import random import time #自定義小球的類 Ball class Ball: # 初始化 def __init__(self,canvas,paddle,color): #傳遞畫布值 self.canvas=canvas #傳遞擋板值 self.paddle=paddle #畫圓并且保存其ID self.id=canvas.create_oval(10,10,25,25,fill=color) self.canvas.move(self.id,245,100) #小球的水平位置起始列表 start=[-3,-2,-1,1,2,3] #隨機化位置列表 random.shuffle(start) self.x=start[0] self.y=-2 self.canvas_heigh=self.canvas.winfo_height()#獲取窗口高度并保存 self.canvas_width=self.canvas.winfo_width() #根據(jù)參數(shù)值繪制小球 def draw(self): self.canvas.move(self.id,self.x,self.y) pos=self.canvas.coords(self.id)#返回相應(yīng)ID代表的圖形的當(dāng)前坐標(biāo)(左上角和右上角坐標(biāo)) #使得小球不會超出窗口 pad=self.canvas.coords(self.paddle.id)#獲取小球擋板的坐標(biāo) if pos[1]=self.canvas_heigh or(pos[3]=pad[1] and pos[2]=pad[0] and pos[2]
Python游戲開發(fā),Python實現(xiàn)貪吃蛇小游戲與吃豆豆 附帶源碼
Python版本: 3.6.4
相關(guān)模塊:
pygame模塊;
以及一些Python自帶的模塊。
安裝Python并添加到環(huán)境變量,pip安裝需要的相關(guān)模塊即可。
貪吃蛇的 游戲 規(guī)則應(yīng)該不需要我多做介紹了吧T_T。寫個貪吃蛇 游戲 其實還是很簡單的。首先,我們進行一下 游戲 初始化:
然后定義一個貪吃蛇類:
其中head_coord用來記錄蛇頭所在位置,而tail_coords是一個二維數(shù)組,用來記錄所有蛇身的位置。一開始,貪吃蛇長為3,并且位置是隨機生成的。用戶通過 鍵來控制貪吃蛇的行動:
需要注意的是,貪吃蛇不能180 大拐彎,只能90 地拐彎。例如正在向左行動的貪吃蛇不能瞬間變成向右行動。具體而言,代碼實現(xiàn)如下:
然后,我們需要隨機生成一個食物,且需要保證該食物的位置不與貪吃蛇的位置相同:
在更新貪吃蛇的時候,如果它吃到了食物,則蛇身長加一,否則只是簡單的按照給定的方向行動而不改變蛇身長度:
同時,當(dāng)貪吃蛇吃到食物時,需要重新生成一個新的食物:
最后,當(dāng)貪吃蛇碰到墻壁或者蛇頭碰到蛇身時, 游戲 結(jié)束:
并顯示一下 游戲 結(jié)束界面:
玩家通過 鍵控制 游戲 的主角吃豆人吃掉藏在迷宮內(nèi)的所有豆子,并且不能被鬼魂抓到。
若能順利吃完迷宮內(nèi)的所有豆子并且不被鬼魂抓到,則 游戲 勝利,否則 游戲 失敗。
逐步實現(xiàn):
Step1:定義 游戲 精靈類
首先,讓我們先來明確一下該 游戲 需要哪些 游戲 精靈類。
① 墻類
② 食物類(即豆豆)
③ 角色類
角色類包括吃豆人和鬼魂,鬼魂由電腦控制其運動軌跡,吃豆人由玩家控制其運動軌跡。
顯然,其均需具備更新角色位置和改變角色運動方向的能力,其源代碼如下:
Step2:設(shè)計 游戲 地圖
利用Step1中定義的 游戲 精靈類,我們就可以開始設(shè)計 游戲 地圖了。由于時間有限,我只寫了一個關(guān)卡的 游戲 地圖,有興趣的小伙伴可以在此基礎(chǔ)上進行擴展(在我的源代碼基礎(chǔ)上進行擴展是很方便滴~)。 游戲 地圖的設(shè)計包括以下四方面內(nèi)容:
① 創(chuàng)建墻
② 創(chuàng)建門(一開始關(guān)幽靈用的)
image.gif
③ 創(chuàng)建角色
④ 創(chuàng)建食物
因為食物不能和墻、門以及角色的位置重疊,所以為了方便設(shè)計 游戲 地圖,要先創(chuàng)建完墻、門以及角色后再創(chuàng)建食物:
Step3:設(shè)計 游戲 主循環(huán)
接下來開始設(shè)計 游戲 主循環(huán)。首先是初始化:
然后定義主函數(shù):
其中startLevelGame函數(shù)用于開始某一關(guān) 游戲 ,其源代碼如下:
showText函數(shù)用于在 游戲 結(jié)束或關(guān)卡切換時在 游戲 界面中顯示提示性文字,其源代碼如下:
100行Python代碼,輕松完成貪吃蛇小游戲?
你是想讓我們向你提問題?你這個放錯地方了,應(yīng)該發(fā)布到自己的博客或論壇上面才對
用python寫猜數(shù)字小游戲
核心代碼給你,具體的功能還需要自己完善。
import?time,?random
class?GuessNum:
????def?__init__(self):
????????self._num?=?''
????????self.input_num?=?[]
????????self.count?=?1??????????????????????????????????????#猜對所用次數(shù)
????????self.sec?=?0???????????????????????????????????????????#猜對所用時間
????????self._generate_num()
????def?_generate_num(self):????????????????????????#產(chǎn)生不重復(fù)的四個數(shù)字
????????seq_zton?=?list(range(10))
????????for?i?in?range(0,?4):
????????????a?=?str(random.choice(seq_zton))???#選出一個數(shù)字
????????????self._num?+=?a
????????????seq_zton.remove(int(a))?????????????????#注意a的類型
????????self.sec?=?time.clock()??????????????????????????#開始計時
????def?check_answer(self):
????????return?self._num
????def?check_input(self):
????????num_pos,?num_value?=?0,?0???????????????#位置對和數(shù)值對的分別的個數(shù)
????????tmp?=?input("Please?input?the?number?you?guess(No?repetition),or?'c'?to?check?the?answer:")
????????if?tmp?==?'c':
????????????print(self.check_answer())
????????????tof?=?self.check_input()
????????????return?tof
????????elif?not?tmp.isalnum?or?not?len(tmp)?==?4:
????????????print("Wrong?format!")
????????????tof?=?self.check_input()????????????????#需要優(yōu)化
????????????return?tof
????????self.input_num?=?list(tmp)
????????lst_temp?=?list(self._num)
????????if?self.input_num?==?lst_temp:??????????#猜對
????????????self.prt_vic()
????????????return?True
????????for?i?in?lst_temp:
????????????if?i?in?self.input_num:
????????????????if?lst_temp.index(i)?==?self.input_num.index(i):????????#位置也相同
????????????????????num_pos?+=?1
????????????????????num_value?+=?1
????????????????else:
????????????????????num_value?+=?1
????????self.prt_state(num_pos,?num_value)
????????self.count?+=?1
????????return?False
????def?prt_state(self,?num_pos,?num_value):
????????print("You've?got?%d?numbers?with?the?right?position?and?%d?numbers?with?the?right?value?only"?%?(num_pos,?num_value))
????def?prt_vic(self):
????????t?=?time.clock()
????????self.sec?=?t?-?self.sec
????????print("Congratulations!You?have?successfully?got?the?right?number!")
????????print("%d?times?and?%.2f?sec?in?total?to?get?the?right?answer"?%?(self.count,?self.sec))
gn?=?GuessNum()
while?True:
????ss?=?gn.check_input()
????if?ss:
????????b?=?input("Continue??y/n:")
????????if?b?==?'n':
????????????break
????????else:
????????????gn?=?GuessNum()
????????????continue
python 編寫一個彩票游戲?
按照題目要求編寫的Python程序如下
import random
numlist=random.sample(range(0,10),5)
while numlist[0]==0:
? numlist=random.sample(range(0,10),5)
num=int(''.join([str(i) for i in numlist]))
inputnum=int(input("輸入號:"))
bonus=0
count=0
if inputnum==num:
bonus=10000
else:
for i in set(str(inputnum)):
if int(i) in numlist:
count+=1
bonus=1000*count
print("彩票號:%d" % num)
print("獎金:%d元" % bonus)
源代碼(注意源代碼的縮進)
用python寫小游戲源代碼的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于Python小游戲源碼、用python寫小游戲源代碼的信息別忘了在本站進行查找喔。
掃描二維碼推送至手機訪問。
版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請注明出處。