首頁 > 軟體

Python+Pygame實現接小彈珠遊戲

2022-12-27 14:00:52

遊戲介紹

小學生都不一定會晚的遊戲,用擋板接住會反彈的小球,隨著次數的增多,速度變快,分數增多。

效果展示

遊戲程式碼

import pygame as pg
import sys
from random import randint
import time
 
 
pg.init()         #對pygame內部各功能模組進行初始化建立及變數設定,預設呼叫
 
 
game_window = pg.display.set_mode((600, 500))   #初始化顯示視窗,第一個size是一個二值元組,分別表示視窗的寬度和高度
pg.display.set_caption("接彈珠遊戲")  #顯示視窗的標題內容
score = 0
font = pg.font.Font(None, 60)
window_color = (0, 0, 0)  # 設定視窗顏色——黑色
ball_color = (0, 255, 0)  # 設定球的顏色-——綠色
rect_color = (255, 125, 0)  # 設定擋板顏色——橙色
move_x = 1
move_y = 1
ball_x = randint(20, 580) #球的初始位置隨機
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)   #在視窗內畫球
    pg.draw.rect(game_window, rect_color, (mouse_x, 490, 100, 10))  #在視窗內畫矩形接拍
    ball_x += move_x
    ball_y += move_y
    my_score = font.render(str(score), False, (255, 255, 255))    #設定分數顯示,白色
    game_window.blit(my_score, (500, 30))
 
 
    ball_x += move_x
    ball_y += move_y
    if ball_x <= 20 or ball_x >= 580:          #左右兩側牆壁
        move_x = -move_x                       #碰到左右兩側牆壁時,X座標變為反方向
    if ball_y <= 20:                           #碰到上方牆壁時,Y座標改變方向
        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座標方向,並加分
        score += points
        count += 1                            #接球次數加1
        if count == 5:
            count = 0
            points += points                  #分數翻倍
            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)

專案資源

Github:pygame-/接小彈珠 at main · Auorui/pygame- (github.com)

到此這篇關於Python+Pygame實現接小彈珠遊戲的文章就介紹到這了,更多相關Python Pygame接彈珠遊戲內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com