日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python挖矿_python简易版挖矿小游戏

發(fā)布時間:2025/3/15 python 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python挖矿_python简易版挖矿小游戏 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

大家好,今天我們來說一說怎么制作一個簡易版的挖礦小游戲。

先寫初始設置的代碼:import?pygame,?sys,?random,?time

pygame.init()

screen?=?pygame.display.set_mode((660,?640))

pygame.display.set_caption("寶石礦工")?#標題

gemImg?=?pygame.image.load("gem.png")?#寶石

heroImg?=?pygame.image.load("hero.png")?#挖礦者

gameoverbg?=?pygame.image.load("gameover.png")?#失敗提示

bgImg?=?pygame.image.load("bg.png")?#背景

myFont?=?pygame.font.SysFont("kaiti",?30)

sound?=?pygame.mixer.Sound("moveMusic.wav")

pygame.mixer.music.load("bgMusic.mp3")?#背景音樂

pygame.mixer.music.play(-1)

heroRect?=?pygame.Rect(270,?0,?80,?80)

創(chuàng)建寶石的列表:gemRectList?=?[]??#?寶石列表

number?=?0??#?挖到的寶石數(shù)量

start?=?False?#?False表示不退出第一層循環(huán),True表示退出

#創(chuàng)建寶石Rect列表

for?i?in?range(5):

x?=?random.randint(0,?610)

y?=?random.randint(30,?590)

gemRect?=?pygame.Rect(x,?y,?50,?50)

gemRectList.append(gemRect)

是否繼續(xù)上一次游戲的代碼:while?True:

for?event?in?pygame.event.get():

if?event.type?==?pygame.QUIT:

pygame.quit()

sys.exit()

elif?event.type?==?pygame.KEYDOWN:

if?event.key?==?pygame.K_y:

with?open("record.txt","r")?as?file:

number?=?int(file.read())

start?=?True

elif?event.key?==?pygame.K_n:

start?=?True

screen.fill((0,?0,?0))

myWord?=?"是否繼續(xù)上次的游戲成績?y/n"

text?=?myFont.render(myWord,?True,?(255,?0,?0))

screen.blit(text,?(130,?280))

if?start==True:

break

pygame.display.update()

把結尾寫一下:t1?=?time.time()

while?True:

for?event?in?pygame.event.get():

if?event.type?==?pygame.QUIT:

pygame.quit()

sys.exit()

elif?event.type?==?pygame.KEYDOWN:

sound.play()

if?event.key?==?pygame.K_UP?and?heroRect.y?>?0:

heroRect.y?=?heroRect.y?-?40

elif?event.key?==?pygame.K_DOWN?and?heroRect.y?

heroRect.y?=?heroRect.y?+?40

elif?event.key?==?pygame.K_LEFT?and?heroRect.x?>?0:

heroRect.x?=?heroRect.x?-?40

elif?event.key?==?pygame.K_RIGHT?and?heroRect.x?

heroRect.x?=?heroRect.x?+?40

t2?=?time.time()

t?=?t2?-?t1??#?t表示經(jīng)過的時間

#?繪制地圖

screen.blit(bgImg,?(0,?0))

#?繪制寶石

for?n?in?gemRectList:

if?n.colliderect(heroRect):

number?=?number?+?1

n.x?=?random.randint(0,?610)

n.y?=?random.randint(40,?590)

screen.blit(gemImg,?n)

#?繪制英雄

screen.blit(heroImg,?heroRect)

#?繪制字體

myWord?=?"挖到的寶石數(shù):"?+?str(number)

myText?=?myFont.render(myWord,?True,?(0,?0,?0))

screen.blit(myText,?(420,?10))

myWord?=?"剩余時間:"?+?str(int(20?-?t))

myText?=?myFont.render(myWord,?True,?(0,?0,?0))

screen.blit(myText,?(10,?10))

#時間結束,游戲結束,保存成績,顯示成績

if?int(t)?>=?20:

with?open("record.txt",?"w")?as?file:

file.write(str(number))

screen.blit(gameoverbg,?(0,?0))

myWord?=?"時間到了,你的成績?yōu)?"?+?str(number)

myText?=?myFont.render(myWord,?True,?(0,?0,?0))

screen.blit(myText,?(160,?80))

pygame.display.update()

完成!

完整代碼:import?pygame,?sys,?random,?time

pygame.init()

screen?=?pygame.display.set_mode((660,?640))

pygame.display.set_caption("寶石礦工")?#標題

gemImg?=?pygame.image.load("gem.png")?#寶石

heroImg?=?pygame.image.load("hero.png")?#挖礦者

gameoverbg?=?pygame.image.load("gameover.png")?#失敗提示

bgImg?=?pygame.image.load("bg.png")?#背景

myFont?=?pygame.font.SysFont("kaiti",?30)

sound?=?pygame.mixer.Sound("moveMusic.wav")

pygame.mixer.music.load("bgMusic.mp3")?#背景音樂

pygame.mixer.music.play(-1)

heroRect?=?pygame.Rect(270,?0,?80,?80)

gemRectList?=?[]??#?寶石列表

number?=?0??#?挖到的寶石數(shù)量

start?=?False?#?False表示不退出第一層循環(huán),True表示退出

#創(chuàng)建寶石Rect列表

for?i?in?range(5):

x?=?random.randint(0,?610)

y?=?random.randint(30,?590)

gemRect?=?pygame.Rect(x,?y,?50,?50)

gemRectList.append(gemRect)

while?True:

for?event?in?pygame.event.get():

if?event.type?==?pygame.QUIT:

pygame.quit()

sys.exit()

elif?event.type?==?pygame.KEYDOWN:

if?event.key?==?pygame.K_y:

with?open("record.txt","r")?as?file:

number?=?int(file.read())

start?=?True

elif?event.key?==?pygame.K_n:

start?=?True

screen.fill((0,?0,?0))

myWord?=?"是否繼續(xù)上次的游戲成績?y/n"

text?=?myFont.render(myWord,?True,?(255,?0,?0))

screen.blit(text,?(130,?280))

if?start==True:

break

pygame.display.update()

t1?=?time.time()

while?True:

for?event?in?pygame.event.get():

if?event.type?==?pygame.QUIT:

pygame.quit()

sys.exit()

elif?event.type?==?pygame.KEYDOWN:

sound.play()

if?event.key?==?pygame.K_UP?and?heroRect.y?>?0:

heroRect.y?=?heroRect.y?-?40

elif?event.key?==?pygame.K_DOWN?and?heroRect.y?

heroRect.y?=?heroRect.y?+?40

elif?event.key?==?pygame.K_LEFT?and?heroRect.x?>?0:

heroRect.x?=?heroRect.x?-?40

elif?event.key?==?pygame.K_RIGHT?and?heroRect.x?

heroRect.x?=?heroRect.x?+?40

t2?=?time.time()

t?=?t2?-?t1??#?t表示經(jīng)過的時間

#?繪制地圖

screen.blit(bgImg,?(0,?0))

#?繪制寶石

for?n?in?gemRectList:

if?n.colliderect(heroRect):

number?=?number?+?1

n.x?=?random.randint(0,?610)

n.y?=?random.randint(40,?590)

screen.blit(gemImg,?n)

#?繪制英雄

screen.blit(heroImg,?heroRect)

#?繪制字體

myWord?=?"挖到的寶石數(shù):"?+?str(number)

myText?=?myFont.render(myWord,?True,?(0,?0,?0))

screen.blit(myText,?(420,?10))

myWord?=?"剩余時間:"?+?str(int(20?-?t))

myText?=?myFont.render(myWord,?True,?(0,?0,?0))

screen.blit(myText,?(10,?10))

#時間結束,游戲結束,保存成績,顯示成績

if?int(t)?>=?20:

with?open("record.txt",?"w")?as?file:

file.write(str(number))

screen.blit(gameoverbg,?(0,?0))

myWord?=?"時間到了,你的成績?yōu)?"?+?str(number)

myText?=?myFont.render(myWord,?True,?(0,?0,?0))

screen.blit(myText,?(160,?80))

pygame.display.update()

總結

以上是生活随笔為你收集整理的python挖矿_python简易版挖矿小游戏的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。