資源簡介
打磚塊小游戲
代碼片段和文件信息
#導(dǎo)入模塊
import?pygame
from?pygame.locals?import?*
import?sysrandomtimemath
?
class?GameWindow(object):
????‘‘‘創(chuàng)建游戲窗口類‘‘‘
????def?__init__(self*args**kw):??????
????????self.window_length?=?600
????????self.window_wide?=?500
????????#繪制游戲窗口,設(shè)置窗口尺寸
????????self.game_window?=?pygame.display.set_mode((self.window_lengthself.window_wide))
????????#設(shè)置游戲窗口標(biāo)題
????????pygame.display.set_caption(“CatchBallGame“)
????????#定義游戲窗口背景顏色參數(shù)
????????self.window_color?=?(135206250)
?
????def?backgroud(self):
????????#繪制游戲窗口背景顏色
????????self.game_window.fill(self.window_color)
?
class?Ball(object):
????‘‘‘創(chuàng)建球類‘‘‘
????def?__init__(self*args**kw):
????????#設(shè)置球的半徑、顏色、移動速度參數(shù)
????????self.ball_color?=?(2552150)???????
????????self.move_x?=?1
????????self.move_y?=?1
????????self.radius?=?10
?
????def?ballready(self):
????????#設(shè)置球的初始位置、
????????self.ball_x?=?self.mouse_x
????????self.ball_y?=?self.window_wide-self.rect_wide-self.radius
????????#繪制球,設(shè)置反彈觸發(fā)條件???????????
????????pygame.draw.circle(self.game_windowself.ball_color(self.ball_xself.ball_y)self.radius)
?
????def?ballmove(self):
????????#繪制球,設(shè)置反彈觸發(fā)條件???????????
????????pygame.draw.circle(self.game_windowself.ball_color(self.ball_xself.ball_y)self.radius)??????
????????self.ball_x?+=?self.move_x
????????self.ball_y?-=?self.move_y
????????#調(diào)用碰撞檢測函數(shù)
????????self.ball_window()
????????self.ball_rect()
????????#每接5次球球速增加一倍
????????if?self.distance?????????????self.frequency?+=?1
????????????if?self.frequency?==?5:
????????????????self.frequency?=?0
????????????????self.move_x?+=?self.move_x
????????????????self.move_y?+=?self.move_y
????????????????self.point?+=?self.point
????????#設(shè)置游戲失敗條件
????????if?self.ball_y?>?520:
????????????self.gameover?=?self.over_font.render(“Game?Over“False(000))
????????????self.game_window.blit(self.gameover(100130))
????????????self.over_sign?=?1
?
class?Rect(object):
????‘‘‘創(chuàng)建球拍類‘‘‘
????def?__init__(self*args**kw):
????????#設(shè)置球拍顏色參數(shù)
????????self.rect_color?=?(25500)
????????self.rect_length?=?100
????????self.rect_wide?=?10
?
????def?rectmove(self):
????????#獲取鼠標(biāo)位置參數(shù)
????????self.mouse_xself.mouse_y?=?pygame.mouse.get_pos()
????????#繪制球拍,限定橫向邊界????????????????????
????????if?self.mouse_x?>=?self.window_length-self.rect_length//2:
????????????self.mouse_x?=?self.window_length-self.rect_length//2
????????if?self.mouse_x?<=?self.rect_length//2:
????????????self.mouse_x?=?self.rect_length//2
????????pygame.draw.rect(self.game_windowself.rect_color((self.mouse_x-self.rect_length//2)(self.window_wide-self.rect_wide)self.rect_lengthself.rect_wide))
?
class?Brick(object):
????def?__init__(self*args**kw):
????????#設(shè)置磚塊顏色參數(shù)
????????self.brick_color?=?(139126102)
????????self.brick_list?=?[[111111][111111][111111][111111][111111]]
????????self.brick_length?=?80
????????self.brick_wide?=?20
?
????def?brickarrange(self):?????
????????for?i?in?range(5):
????????????for?j?in?range(6):
????????????????self.brick_x?=?j*(sel
評論
共有 條評論