开发工具
Python版本:3.6.4
相关模块:
pygame模块;
以及一些Python自带的模块。
#相关文件
关注公众号:Python学习指南,回复“乒乓球”即可获取
环境搭建
pip安装需要的相关模块即可。
原理简介
游戏规则:
操作:
玩家1(右)通过操作↑↓键上下移动球拍;
玩家2(左)通过操作ws键上下移动球拍(仅双人模式有效)。
得分:
玩家没有接住乒乓球则失一分,即对方玩家得一分。得分先累计到11的一方即为获胜方。
逐步实现:
Step1:开始界面
开始界面其实很简单,只需要定义两个按钮,然后当检测到玩家点击按钮时,将按钮对应的值传到接下来的游戏主循环中即可。代码实现如下:
'''定义按钮'''
def Button(screen, position, text, button_size=(200, 50)):
left, top = position
bwidth, bheight = button_size
pygame.draw.line(screen, (150, 150, 150), (left, top), (left+bwidth, top), 5)
pygame.draw.line(screen, (150, 150, 150), (left, top-2), (left, top+bheight), 5)
pygame.draw.line(screen, (50, 50, 50), (left, top+bheight), (left+bwidth, top+bheight), 5)
pygame.draw.line(screen, (50, 50, 50), (left+bwidth, top+bheight), (left+bwidth, top), 5)
pygame.draw.rect(screen, (100, 100, 100), (left, top, bwidth, bheight))
font = pygame.font.Font(config.FONTPATH, 30)
text_render = font.render(text, 1, (255, 235, 205))
return screen.blit(text_render, (left+50, top+10))
'''
Function:
开始界面
Input:
--screen: 游戏界面
Return:
--game_mode: 1(单人模式)/2(双人模式)
'''
def startInterface(screen):
clock = pygame.time.Clock()
while True:
screen.fill((41, 36, 33))
button_1 = Button(screen, (150, 175), '1 Player')
button_2 = Button(screen, (150, 275)