Python+Pygame實(shí)現(xiàn)接小彈珠游戲
游戲介紹
小學(xué)生都不一定會(huì)晚的游戲,用擋板接住會(huì)反彈的小球,隨著次數(shù)的增多,速度變快,分?jǐn)?shù)增多。
效果展示
游戲代碼
import pygame as pg import sys from random import randint import time pg.init() #對pygame內(nèi)部各功能模塊進(jìn)行初始化創(chuàng)建及變量設(shè)置,默認(rèn)調(diào)用 game_window = pg.display.set_mode((600, 500)) #初始化顯示窗口,第一個(gè)size是一個(gè)二值元組,分別表示窗口的寬度和高度 pg.display.set_caption("接彈珠游戲") #顯示窗口的標(biāo)題內(nèi)容 score = 0 font = pg.font.Font(None, 60) window_color = (0, 0, 0) # 設(shè)置窗口顏色——黑色 ball_color = (0, 255, 0) # 設(shè)置球的顏色-——綠色 rect_color = (255, 125, 0) # 設(shè)置擋板顏色——橙色 move_x = 1 move_y = 1 ball_x = randint(20, 580) #球的初始位置隨機(jī) ball_y = randint(20, 480) points = 1 count = 0 while True: game_window.fill(window_color) for event in pg.event.get(): if event.type == pg.QUIT: sys.exit() mouse_x, mouse_y = pg.mouse.get_pos() pg.draw.circle(game_window, ball_color, (ball_x, ball_y), 20) #在窗口內(nèi)畫球 pg.draw.rect(game_window, rect_color, (mouse_x, 490, 100, 10)) #在窗口內(nèi)畫矩形接拍 ball_x += move_x ball_y += move_y my_score = font.render(str(score), False, (255, 255, 255)) #設(shè)置分?jǐn)?shù)顯示,白色 game_window.blit(my_score, (500, 30)) ball_x += move_x ball_y += move_y if ball_x <= 20 or ball_x >= 580: #左右兩側(cè)墻壁 move_x = -move_x #碰到左右兩側(cè)墻壁時(shí),X坐標(biāo)變?yōu)榉捶较? if ball_y <= 20: #碰到上方墻壁時(shí),Y坐標(biāo)改變方向 move_y = -move_y elif ball_x >(mouse_x - 20) and ball_x <(mouse_x + 120) and ball_y >= 470: move_y = -move_y #下方接到球,改變Y坐標(biāo)方向,并加分 score += points count += 1 #接球次數(shù)加1 if count == 5: count = 0 points += points #分?jǐn)?shù)翻倍 if move_x > 0: move_x += 1 else: move_x -= 1 move_y -= 1 elif ball_y > 480 and (ball_x <= mouse_x - 20 or ball_x >= mouse_x + 120): ball_y = 490 #沒有接到球,退出程序 break pg.display.update() #更新窗口,保證窗口始終打開 time.sleep(0.03)
項(xiàng)目資源
Github:pygame-/接小彈珠 at main · Auorui/pygame- (github.com)
到此這篇關(guān)于Python+Pygame實(shí)現(xiàn)接小彈珠游戲的文章就介紹到這了,更多相關(guān)Python Pygame接彈珠游戲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python利用3D引擎寫一個(gè)Pong游戲
- Python+Pygame編寫一個(gè)Pong游戲
- Python+Pygame實(shí)戰(zhàn)之俄羅斯方塊游戲的實(shí)現(xiàn)
- Python Pygame實(shí)戰(zhàn)之實(shí)現(xiàn)經(jīng)營類游戲夢想小鎮(zhèn)代碼版
- Python+Pygame實(shí)戰(zhàn)之詩詞填空游戲的實(shí)現(xiàn)
- Python+numpy實(shí)現(xiàn)一個(gè)蜘蛛紙牌游戲
- Python+Pygame實(shí)戰(zhàn)之文字劇情游戲的實(shí)現(xiàn)
- Python+Pygame實(shí)戰(zhàn)之炫舞小游戲的實(shí)現(xiàn)
- Python之freegames?零代碼的22個(gè)小游戲集合
相關(guān)文章
Python實(shí)現(xiàn)多腳本處理定時(shí)運(yùn)行
這篇文章主要介紹了Python實(shí)現(xiàn)多腳本處理定時(shí)運(yùn)行,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-06-06python 基于opencv實(shí)現(xiàn)圖像增強(qiáng)
這篇文章主要介紹了python 基于opencv實(shí)現(xiàn)圖像增強(qiáng)的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-12-12Python基礎(chǔ)教程,Python入門教程(超詳細(xì))
Python由荷蘭數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究學(xué)會(huì) 于1990 年代初設(shè)計(jì),作為一門叫做ABC語言的替代品。Python語法和動(dòng)態(tài)類型,以及解釋型語言的本質(zhì),使它成為多數(shù)平臺(tái)上寫腳本和快速開發(fā)應(yīng)用的編程語言2021-06-06pyqt5利用pyqtDesigner實(shí)現(xiàn)登錄界面
這篇文章主要為大家詳細(xì)介紹了pyqt5利用pyqtDesigner實(shí)現(xiàn)登錄界面,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03python 讀寫、創(chuàng)建 文件的方法(必看)
下面小編就為大家?guī)硪黄猵ython 讀寫、創(chuàng)建 文件的方法(必看)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09實(shí)例詳解Matlab 與 Python 的區(qū)別
Python是一種面向?qū)ο蟮慕忉屝陀?jì)算機(jī)程序設(shè)計(jì)語言。這篇文章主要介紹了Matlab 與 Python 的區(qū)別及優(yōu)勢,感興趣的朋友跟隨小編一起看看吧2019-04-04Python函數(shù)式編程之面向過程面向?qū)ο蠹昂瘮?shù)式簡析
這一番我們要學(xué)習(xí)點(diǎn)有難度的了,因此將降低閱讀與理解難度,盡量采用大白話為你鋪墊,因?yàn)樯婕暗囊恍└拍钜彩墙梃b的其它編程語言的風(fēng)格,而且實(shí)際落地中存在部分爭議不過多學(xué)一點(diǎn),總是沒有壞處的2021-09-09