Linux乒乓球游戏,python使用pygame实现笑脸乒乓球弹珠球游戏
今天我们用python和pygame实现一个乒乓球的小游戏,或者叫弹珠球游戏。
笑脸乒乓球游戏功能介绍
乒乓球游戏功能如下:
乒乓球从屏幕上方落下,用鼠标来移动球拍,使其反弹回去,并获得得分,如果没有接到该球,则失去一条命。玩家有一定数量的命如5。
游戏设计思路
根据游戏规则,我们需要
1、初始化游戏环境
2、画出乒乓球,球拍等
3、设置乒乓球的运动,并监听鼠标,以移动球拍
4、判断乒乓球被接住与否
5、游戏是否结束,是否再玩。
代码实现
import pygame
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")
while keepGoing:
for event in pygame.event.get():
if event.type==pygame.QUIT:
keepGoing=False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_F1: # F1 = New Game
points = 0
lives = 5
picx = 0
picy = 0
speedx = 5
speedy = 5
pop.play()
picx += speedx
picy += speedy
if picx <= 0 or picx >= 700:
speedx = -speedx * 1.1
if picy <= 0:
speedy = -speedy + 1
if picy >= 500:
lives -= 1
speedy = -5
speedx = 5
picy = 499
# if picx <= 0 or picx + pic_width > screen_width:
# speedx = -speedx
# if picy <= 0:
# speedy = -speedy
# if picy >= 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))
#判断接住乒乓球
if picy + pic_width > paddle_y and picy + pic_height < paddle_y + paddle_height and speedy > 0:
if picx + pic_width / 2 > paddle_x and picx + pic_width / 2 < paddle_x + paddle_width:
points += 1
speedy = -speedy
# 在屏幕上画出得分
draw_string = "Lives: " + str(lives) + " Points: " + str(points)
if lives<1:
draw_string="Game Over. Your scores is "+str(points)
draw_string+="press F1 to play again"
text = font.render(draw_string, True, WHITE)
text_rect = text.get_rect()
text_rect.centerx = screen.get_rect().centerx
text_rect.y = 10
screen.blit(text, text_rect)
pygame.display.update()
timer.tick(60)
pygame.quit()
代码中用的乒乓球是如下图片。
总结
1、通过上述代码,功能基本实现
2、可以有很多改进,如通过键盘来操控球拍,如给游戏加上背景音乐,其中加音乐的方法是
pop = pygame.mixer.Sound("pop.wav")
pop.play()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持IIS7站长之家。
Linux乒乓球游戏,python使用pygame实现笑脸乒乓球弹珠球游戏相关推荐
- python 乒乓球_python使用pygame实现笑脸乒乓球弹珠球游戏
今天我们用python和pygame实现一个乒乓球的小游戏,或者叫弹珠球游戏. 笑脸乒乓球游戏功能介绍 乒乓球游戏功能如下: 乒乓球从屏幕上方落下,用鼠标来移动球拍,使其反弹回去,并获得得分,如果没有 ...
- 【Python游戏】基于Python的pygame模块实现的天天酷跑游戏 | 附带源码
前言 我相信很多小伙伴都玩过的第一个腾讯游戏,那就是天天酷跑,还记得之前为了凑齐钻石买小单车.人物.坐骑,小编可是花费了老长时间去弄这个的!!不过现在的天天酷跑随便冲个钱都能上大几百万分,没有了以前的 ...
- python编程小游戏-python趣味入门——写几个常玩的游戏
文档介绍 利用python写"猜数字","猜词语","谁是卧底"这三个游戏,从而快速掌握python编程的入门知识,包括python语法/列 ...
- Python接弹珠小游戏源代码
接弹珠游戏,弹珠碰到上方及左右两侧的墙壁进行反弹,反弹,可以理解成弹珠的坐标值变成相反数.当弹珠的圆心坐标值到达上方墙壁时,只需要让坐标变成负数,弹珠就可以向相反的方向移动了. import pyga ...
- python猜大小游戏,Python实现的摇骰子猜大小功能小游戏示例
搜索热词 本文实例讲述了Python实现的摇骰子猜大小功能小游戏.分享给大家供大家参考,具体如下: 最近学习Python的随机数,逻辑判断,循环的用法,就想找一些练习题,比如小游戏猜大小,程序思路如下 ...
- python弹球游戏实验报告_弹珠小游戏课程设计实验报告
摘要: 这个小程序是关于弹珠的小游戏, 游戏比较简单, 以小球的速度来区分游戏的难易. 该小程序是用左右键控制游戏的开始和挡板的方向,不让小球落到底端,当然,小球的 速度越快,该游戏的难度也就越大.此 ...
- Pygame之接小弹珠
目录 游戏介绍 效果展示 游戏代码 项目资源 游戏介绍 小学生都不一定会晚的游戏,用挡板接住会反弹的小球,随着次数的增多,速度变快,分数增多. 效果展示 游戏代码 import pygame as p ...
- 碰球游戏java课设实验体会_对碰球游戏教案
活动目标:1.能合拍地随音乐边拍手唱歌边走步.2.用不同的动作方式与同伴相"碰",学会按指令做出迅速准确的反应.3.体验与同伴合作.交流的友好情感和愉快心情.活动准备:1.在日常活 ...
- Java(awt)实现弹珠小游戏
package Dzgame;import javax.swing.border.Border; import java.awt.*; import java.awt.event.*; import ...
最新文章
- Linux 常用命令九 tar
- 如何使用gnvm自动更新Windows10操作系统上的nodejs
- qq流浏览器网页版_如何使QQ浏览器浏览简洁
- 如何用blend创建自定义窗口
- 前端开发之功能封装大全
- html表格编辑器退出编辑状态,易优后台编辑器取消html标签(比如表格属性等)过滤解决方法...
- 如何在不知道密码的情况下卸载趋势防毒墙网络版
- 简单奥数题 c语言基础
- 《托福写作——100 个替换词汇》
- 【清华大学】深入理解操作系统(陈渝) 第二章
- 一张电影票引发的思考,谈谈边际成本和机会成本
- AutoIt:常用文件操作
- unity 获取本地视频/下载网络视频
- 可编程定时/计数器 8253/8254
- IEEE Transactions on Industrial Informatics(TII)投稿须知
- 安卓开发SlidingDrawer实现抽屉效果
- 流媒体的几种播放方式
- 杭电oj11页 (c++) 31-40
- [root@localhost ~]#每个字符的意思
- 红外热成像检测的缺陷