python使用pygame实现笑脸乒乓球弹珠球游戏
今天我们用python和pygame实现一个乒乓球的小游戏,或者叫弹珠球游戏。
笑脸乒乓球游戏功能介绍
乒乓球游戏功能如下:
乒乓球从屏幕上方落下,用鼠标来移动球拍,使其反弹回去,并获得得分,如果没有接到该球,则失去一条命。玩家有一定数量的命如5。
游戏设计思路
根据游戏规则,我们需要
1、初始化游戏环境
2、画出乒乓球,球拍等
3、设置乒乓球的运动,并监听鼠标,以移动球拍
4、判断乒乓球被接住与否
5、游戏是否结束,是否再玩。
代码实现
importpygame
pygame.init()
screen_width=800
screen_height=600
screen=pygame.display.set_mode([screen_width,screen_height])
pygame.display.set_caption("笑脸乒乓球")
keepGoing=True
pic=pygame.image.load("CrazySmile.bmp")
colorkey=pic.get_at((0,0))
pic.set_colorkey(colorkey)
picx=0
picy=0
BLACK=(0,0,0)
WHITE=(255,255,255)
timer=pygame.time.Clock()
paddle_width=200
paddle_height=25
paddle_x=300
paddle_y=550
speedx=5
speedy=5
#图片的高度和宽度
pic_width=pic.get_width()
pic_height=pic.get_height()
#分数和命
points=0
lives=5
font=pygame.font.SysFont("Times",24)
pop=pygame.mixer.Sound("pop.wav")
whilekeepGoing:
foreventinpygame.event.get():
ifevent.type==pygame.QUIT:
keepGoing=False
ifevent.type==pygame.KEYDOWN:
ifevent.key==pygame.K_F1:#F1=NewGame
points=0
lives=5
picx=0
picy=0
speedx=5
speedy=5
pop.play()
picx+=speedx
picy+=speedy
ifpicx<=0orpicx>=700:
speedx=-speedx*1.1
ifpicy<=0:
speedy=-speedy+1
ifpicy>=500:
lives-=1
speedy=-5
speedx=5
picy=499
#ifpicx<=0orpicx+pic_width>screen_width:
#speedx=-speedx
#ifpicy<=0:
#speedy=-speedy
#ifpicy>=500:
#lives-=1
#speedy=-speedy
screen.fill(BLACK)
screen.blit(pic,(picx,picy))
#画出球拍
paddle_x=pygame.mouse.get_pos()[0]
paddle_x-=paddle_width/2
pygame.draw.rect(screen,WHITE,(paddle_x,paddle_y,paddle_width,paddle_height))
#判断接住乒乓球
ifpicy+pic_width>paddle_yandpicy+pic_height0:
ifpicx+pic_width/2>paddle_xandpicx+pic_width/2
代码中用的乒乓球是如下图片。
总结
1、通过上述代码,功能基本实现
2、可以有很多改进,如通过键盘来操控球拍,如给游戏加上背景音乐,其中加音乐的方法是
pop=pygame.mixer.Sound("pop.wav")
pop.play()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。