基于Python實(shí)現(xiàn)牛牛套圈小游戲的示例代碼
前言
“幸運(yùn)牛牛套圈圈”套住歡樂(lè),圈住幸福,等你來(lái)挑戰(zhàn)!
哈嘍,大家上午好,我是你們的栗子同學(xué),今天來(lái)給大家?guī)?lái)一款新游戲,是不是很久沒(méi)給大家更新游戲板塊了呀~期不期待呢? 哈哈哈。——憶童年
沒(méi)有網(wǎng)絡(luò)也沒(méi)有智能手機(jī)的年代,現(xiàn)在回想起來(lái),那么多無(wú)聊的時(shí)間,我們是怎么打發(fā)的呢?
每個(gè)“大孩子”應(yīng)該都有自己的游戲回憶錄,見(jiàn)證了那個(gè)時(shí)候的天馬行空。
那個(gè)時(shí)候的我們邊玩著古董游戲機(jī),邊哼唱超級(jí)瑪麗和魂斗羅的配樂(lè),偶爾逛逛公園里擺滿玩具物件的套圈攤子,偷偷在課間翻看風(fēng)靡兒時(shí)的連環(huán)畫(huà)……
童年匆匆,沒(méi)有任何儀式與記載便從我們的年華里溜走,幸好它還留下了一些天真爛漫的日子供我們懷念。今天來(lái)給大家做了一個(gè)新款的斗牛士的套圈小游戲,希望大家喜歡哦~
當(dāng)然,嫌棄牛牛的話可以換成其他的可愛(ài)的小寵物哦!
一、環(huán)境配置
1)運(yùn)行環(huán)境
Python 3 、Pycharm、Pygame。其他內(nèi)置模塊,安裝好python環(huán)境就可以了。
(win + R 輸入cmd 輸入安裝命令 pip install 模塊名 (如果你覺(jué)得安 裝速度比較慢, 你可 以切換國(guó)內(nèi)鏡像源))
2)第三方庫(kù)安裝
pip install + 模塊名 或者 帶鏡像源 pip install -i pypi.douban.com/simple/ +模塊名
3)素材內(nèi)容
二、代碼展示
1)主程序
import pygame,sys from pygame.locals import * pygame.init() canvas = pygame.display.set_mode((1000,700)) pygame.display.set_caption("無(wú)敵斗牛士套圈小游戲") bg = pygame.image.load("images/bg.png") bull_img = pygame.image.load("images/bull.png") rope_img = pygame.image.load("images/rope.png") win = pygame.image.load("images/win.png") lose = pygame.image.load("images/lose.png") bow = pygame.image.load("images/bow.png") print("測(cè)試Test") print("[測(cè)試Test:1]碰撞檢測(cè):False") state = "RUNNING" print("[測(cè)試Test:4]state更改為RUNNING") on_off = 0 def handleEvent(): global on_off,state for event in pygame.event.get(): if event.type == QUIT or event.type == KEYDOWN and event.key == K_ESCAPE: print("[測(cè)試Test:2]結(jié)束測(cè)試Test") print("結(jié)束測(cè)試Test") if state == "RUNNING": raise UserWarning("[Error:1]中途退出") pygame.quit() sys.exit() if event.tye == KEYDOWN and event.key == K_SPACE: on_off = 1 print("[測(cè)試Test:3]on_off更改為1") class Rope(): def __init__(self,x,y,width,height,img): self.x = x self.y = y self.width = width self.height = height self.img = img self.speedY = -1 def paint(self): canvas.blit(self.img,(self.x,self.y)) def move(self): global on_off if on_off == 1: self.y += self.speedY * 10 if self.y < 400: self.speedY = 1 elif self.y > 600: self.speedY = -1 on_off = 0 print("[測(cè)試Test:3]on_off更改為0") def hit(self,b): return self.y == b.y and self.x + 40 > b.x and self.x < b.x + 40 class Bull(): def __init__(self,x,y,width,height,img): self.x = x self.y = y self.width = width self.height = height self.img = img def paint(self): canvas.blit(self.img,(self.x,self.y)) def move(self): self.x = self.x + 10 if self.x > 1000: self.x = 0 def comPaint(): canvas.blit(bg,(0,0)) bull.paint() rope.paint() def comMove(): bull.move() rope.move() def checkHit(): global on_off,state if rope.hit(bull): print("[測(cè)試Test:1]碰撞檢測(cè):True") on_off = 0 state = "SUCCESS" print("[測(cè)試Test:4]state更改為SUCCESS") print("[測(cè)試Test:5]停止運(yùn)動(dòng)") rope = Rope(385,600,39,52,rope_img) print("[測(cè)試Test:6]rope創(chuàng)建") bull = Bull(0,400,192,141,bull_img) print("[測(cè)試Test:6]bull創(chuàng)建") while True: if state == "RUNNING": comPaint() comMove() checkHit() elif state == "SUCCESS": comPaint() canvas.blit(win,(0,0)) handleEvent() pygame.display.update() pygame.time.delay(10)
三、效果展示
這款游戲很簡(jiǎn)單,效果做的不多啦:斗牛士動(dòng)態(tài)的效果,空格移動(dòng)套圈,套中游戲勝利即可結(jié)束。
1)界面截圖
?2)套空
3)套中勝利
到此這篇關(guān)于基于Python實(shí)現(xiàn)牛牛套圈小游戲的示例代碼的文章就介紹到這了,更多相關(guān)Python牛牛套圈游戲內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
OpenAI的Whisper模型進(jìn)行語(yǔ)音識(shí)別使用詳解
這篇文章主要介紹了OpenAI的Whisper模型進(jìn)行語(yǔ)音識(shí)別使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02django drf框架自帶的路由及最簡(jiǎn)化的視圖
這篇文章主要介紹了django-drf框架自帶的路由以及最簡(jiǎn)化的視圖,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09Python實(shí)現(xiàn)服務(wù)端渲染SSR的示例代碼
服務(wù)端渲染是一種常見(jiàn)的技術(shù)策略,特別是在需要改善網(wǎng)站的搜索引擎優(yōu)化(SEO)和首屏加載時(shí)間的場(chǎng)景下,本文將介紹如何利用?Python?實(shí)現(xiàn)?SSR,感興趣的可以了解下2024-02-02使用Python圖像處理庫(kù)Pillow處理圖像文件的案例分析
本文將通過(guò)使用Python圖像處理庫(kù)Pillow,幫助大家進(jìn)一步了解Python的基本概念:模塊、對(duì)象、方法和函數(shù)的使用,文中代碼講解的非常詳細(xì),需要的朋友可以參考下2023-07-07Pytorch保存模型用于測(cè)試和用于繼續(xù)訓(xùn)練的區(qū)別詳解
今天小編就為大家分享一篇Pytorch保存模型用于測(cè)試和用于繼續(xù)訓(xùn)練的區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01一文帶你快速掌握Python LightGBM必備知識(shí)點(diǎn)
LightGBM(Light Gradient Boosting Machine)是一種梯度提升樹(shù)算法的高效實(shí)現(xiàn),這篇文章為大家整理了十個(gè)LightGBM必備知識(shí)點(diǎn),希望對(duì)大家有所幫助2023-06-06基于python實(shí)現(xiàn)數(shù)組格式參數(shù)加密計(jì)算
這篇文章主要介紹了基于python實(shí)現(xiàn)數(shù)組格式參數(shù)加密計(jì)算,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04Python餐飲AI機(jī)器人學(xué)習(xí)數(shù)據(jù)網(wǎng)絡(luò)抓取
在餐飲行業(yè),AI機(jī)器人可以通過(guò)學(xué)習(xí)大量的相關(guān)數(shù)據(jù)來(lái)提供更好的服務(wù)和體驗(yàn),在文本中,我們將介紹如何使用python進(jìn)行餐飲A?I機(jī)器人學(xué)習(xí)數(shù)據(jù)的網(wǎng)絡(luò)抓取,并提供代碼的示例和最佳實(shí)踐2023-12-12python中partial()基礎(chǔ)用法說(shuō)明
這篇文章主要給大家介紹了關(guān)于python中partial()基礎(chǔ)用法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧2018-12-12