Python接彈珠小游戲源代碼


接彈珠游戲,彈珠碰到上方及左右兩側的牆壁進行反彈,反彈,可以理解成彈珠的坐標值變成相反數。當彈珠的圓心坐標值到達上方牆壁時,只需要讓坐標變成負數,彈珠就可以向相反的方向移動了。

import pygame as pg

import sys

from random import randint

import time



pg.init()



game_window = pg.display.set_mode((600, 500))

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, 0, 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, 0))    #設置分數顯示,黃色

    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)                        #球運動的速度0.03秒走一個像素

更多Python源代碼,請微信關注:Python代碼大全,


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM