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() #對(duì)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)畫(huà)球
pg.draw.rect(game_window, rect_color, (mouse_x, 490, 100, 10)) #在窗口內(nèi)畫(huà)矩形接拍
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 #沒(méi)有接到球,退出程序
break
pg.display.update() #更新窗口,保證窗口始終打開(kāi)
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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python利用3D引擎寫(xiě)一個(gè)Pong游戲
- Python+Pygame編寫(xiě)一個(gè)Pong游戲
- Python+Pygame實(shí)戰(zhàn)之俄羅斯方塊游戲的實(shí)現(xiàn)
- Python Pygame實(shí)戰(zhàn)之實(shí)現(xiàn)經(jīng)營(yíng)類(lèi)游戲夢(mèng)想小鎮(zhèn)代碼版
- Python+Pygame實(shí)戰(zhàn)之詩(shī)詞填空游戲的實(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)文章
爬蟲(chóng)代理池Python3WebSpider源代碼測(cè)試過(guò)程解析
這篇文章主要介紹了爬蟲(chóng)代理池Python3WebSpider源代碼測(cè)試過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
pytorch GAN偽造手寫(xiě)體mnist數(shù)據(jù)集方式
今天小編就為大家分享一篇pytorch GAN偽造手寫(xiě)體mnist數(shù)據(jù)集方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01
python實(shí)現(xiàn)修改固定模式的字符串內(nèi)容操作示例
這篇文章主要介紹了python實(shí)現(xiàn)修改固定模式的字符串內(nèi)容操作,結(jié)合實(shí)例形式詳細(xì)分析了Python修改固定模式字符串原理、實(shí)現(xiàn)方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-12-12
Python實(shí)現(xiàn)字符串格式化輸出的方法詳解
這篇文章主要介紹了Python實(shí)現(xiàn)字符串格式化輸出的方法,結(jié)合具體實(shí)例形式總結(jié)分析了Python字符串格式化輸出的各種常用操作技巧,需要的朋友可以參考下2017-09-09
Python?數(shù)據(jù)可視化超詳細(xì)講解折線(xiàn)圖的實(shí)現(xiàn)
數(shù)據(jù)可以幫助我們描述這個(gè)世界、闡釋自己的想法和展示自己的成果,但如果只有單調(diào)乏味的文本和數(shù)字,我們卻往往能難抓住觀(guān)眾的眼球。而很多時(shí)候,一張漂亮的可視化圖表就足以勝過(guò)千言萬(wàn)語(yǔ),讓我們來(lái)用Python實(shí)現(xiàn)一個(gè)可視化的折線(xiàn)圖2022-03-03
Python設(shè)計(jì)模式之模板方法模式實(shí)例詳解
這篇文章主要介紹了Python設(shè)計(jì)模式之模板方法模式,結(jié)合實(shí)例形式較為詳細(xì)的分析了模板方法模式的概念、原理及Python定義、使用模板方法模式相關(guān)操作技巧,需要的朋友可以參考下2019-01-01

