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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。