概述
之前做了一个基于python的tkinter的小球完全碰撞游戏:
今天利用业余时间,写了一个功能要强大一些的小球完全碰撞游戏:
游戏名称: 小球完全弹性碰撞 游戏规则: 1.游戏初始化的时候,有5个不同颜色的小球进行碰撞 2.玩家可以通过在窗口中单击鼠标左键进行增加小球个数 3.玩家可以通过在窗口中单击鼠标右键进行删减小球个数 4.玩家可以通过键盘的方向键:上,右键进行对小球加速 5.玩家可以通过键盘的方向键:下,左键进行对小球减速 6.玩家可以按键盘:f键实现全屏显示 7.玩家可以按键盘:Esc键实现退出全屏操作 8.窗口左下角显示小球个数,右下角显示作者邮箱
先看看图:
修改如下:增加了背景音乐增加小球的时候,会伴随音乐产生显示小球个数,速度,以及最后一个小球的位置
<div class="cnblogs_code">
pygame.locals *
sys random *
名称:
增加小球个数
键盘的方向键:上,右键进行对小球加速
键盘的方向键:下,左键进行对小球减速
键盘:f键实现全屏显示
键盘:Esc键实现退出全屏操作
显示小球个数,右下角显示作者邮箱
修改如下:
增加了背景音乐
增加小球的时候,会伴随音乐产生
显示小球个数,速度,以及最后一个小球的位置
= { : : : :
pygame.font: ( pygame.mixer: (
pygame.display.set_caption(
SCREEN_WIDTH = 600
SCREEN_HEIGHT = 500
SPEED = 1
SCREEN_DEFAULT_SIZE = (SCREEN_WIDTH,SCREEN_HEIGHT + 20 SCREEN_DEFAULT_COLOR = (255,255 READY =
screen = pygame.display.set_mode(SCREEN_DEFAULT_SIZE,32 bg = pygame.image.load( font = pygame.font.Font(,14 new_sound = pygame.mixer.sound( bg_sound = pygame.mixer.sound( bg_sound.set_volume(0.5 bg_sound.play(-1 new_sound.set_volume(1.0
balls = BALL_R = 30
BALL_COLORS = [(255,34 BALL_POINTS = [[40,400 BALL_VELociTY = [[1.5,1.1
i b = pygame.draw.circle(screen,BALL_R)
1 event event.type == event.type == event.key == SPEED += 0.1
event.key == SPEED -= 0.1
event.key == SPEED -= 0.1
event.key == SPEED += 0.1
event.key == pygame.display.set_mode(SCREEN_DEFAULT_SIZE,32 event.key == 27 pygame.display.set_mode(SCREEN_DEFAULT_SIZE,32 event.type == pressed_array = index index == new_sound.play(-1 c_color = (randint(0,255 x,BALL_R+1 c_r = randint(10,100 c_v = [randint(11,19) * 0.1 c = LociTY.append(c_v)
index == 2 len(balls) > 1