一,壁球小游戏(操控型)             

被用户操控着且四处碰壁的小球

 二,壁球小游戏(操控型)的关键要素

需求:通过键盘的上下左右控制壁球运动速度,规则如下∶

三,壁球小游戏(操控型)的关键要素

壁球小游戏(操控型)的关键要素

键盘使用︰如何获取键盘的操作事件

速度调节︰根据对应按键调节壁球运动速度

 四,壁球小游戏(操控型)     源代码来了!!!!!

import pygame,syspygame.init()
size = width,height = 600,400
speed = [1,1]
BLACK = 0,0,0
screen = pygame.display.set_mode(size)
pygame.display.set_caption("Pygame壁球")
ball = pygame.image.load("PYG02-ball.gif")
ballrect = ball.get_rect()
fps = 300
fclock = pygame.time.Clock()while True:for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()elif event.type == pygame.KEYDOWN:if event.key == pygame.K_LEFT:speed[0] = speed[0] if speed[0] == 0 else (abs(speed[0]) - 1)*int(speed[0]/abs(speed[0]))elif event.key == pygame.K_RIGHT:speed[0] = speed[0] + 1 if speed[0] > 0 else speed[0] - 1elif event.key == pygame.K_UP:speed[1] = speed[1] + 1  if speed[1] > 0 else speed[1] - 1elif event.key == pygame.K_DOWN:speed[1] = speed[1] if speed[1] == 0 else (abs(speed[1]) - 1)*int(speed[1]/abs(speed[1]))ballrect = ballrect.move(speed[0],speed[1])if ballrect.left < 0 or ballrect.right >width:speed[0] = - speed[0]if ballrect.top < 0 or ballrect.bottom > height:speed[1] = - speed[1]screen.fill(BLACK)screen.blit(ball,ballrect)pygame.display.update()fclock.tick(fps)

五,壁球小游戏(节奏型)

 六,代码讲解

import pygame,sys# 初始化
pygame.init()
size = width,height = 600,400
speed = [1,1]
BLACK = 0,0,0
screen = pygame.display.set_mode(size)
pygame.display.set_caption("Pygame壁球")
# pygame. image. load(filename)
# 将filename路径下的图像载入游戏,支持JPG、PNG.GlF(非动画)等13种常用图片格式
ball = pygame.image.load("PYG02-ball.gif")
# Surface对象 ball.get_rect()
# Pygame使用内部定义的Surface对象表示所有载入的图像,其中.get_rect()方法返回一个覆盖图像的矩形Rect对象
# Rect对象
# Rect对象有一些重要属性,例如:top,bottom,left,right表示上下左右width,height表示宽度、高度
ballrect = ball.get_rect()
fps = 300 #Frames per Second每秒帧率参数
# pygame.time.Clock() 创建一个Clock对象,用于操作时间
fclock = pygame.time.Clock()# 事件处理
while True:for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()# pygame.KEYDOWN# Pygame对键盘敲击的事件定义,键盘每个键对应一个具体定义elif event.type == pygame.KEYDOWN:# 左if event.key == pygame.K_LEFT:speed[0] = speed[0] if speed[0] == 0 else (abs(speed[0]) - 1)*int(speed[0]/abs(speed[0]))# 右elif event.key == pygame.K_RIGHT:speed[0] = speed[0] + 1 if speed[0] > 0 else speed[0] - 1# 上elif event.key == pygame.K_UP:speed[1] = speed[1] + 1  if speed[1] > 0 else speed[1] - 1# 下elif event.key == pygame.K_DOWN:speed[1] = speed[1] if speed[1] == 0 else (abs(speed[1]) - 1)*int(speed[1]/abs(speed[1]))#ballrect.move(x,y)#矩形移动一个偏移量(x,y),即在横轴方向移动x像素,纵轴方向移动y像素,xy为整数ballrect = ballrect.move(speed[0],speed[1])# 壁球的反弹运动# 遇到左右两侧,横向速度取反;遇到上下两侧,纵向速度取反。if ballrect.left < 0 or ballrect.right >width:speed[0] = - speed[0]if ballrect.top < 0 or ballrect.bottom > height:speed[1] = - speed[1]# 窗口刷新# screen.fill(color)# 显示窗口背景填充为color颜色,采用RGB色彩体系。由于壁球不断运动,运动后原有位置将默认填充白色,因此需要不断刷新背景色screen.fill(BLACK)# screen.blit(src, dest)# 将一个图像绘制在另一个图像上,即将src绘制到dest位置上。通过Rect对象引导对壁球的绘制。screen.blit(ball,ballrect)pygame.display.update()# clock.tick(framerate)# 控制帧速度, 即窗口刷新速度, 例如: clock.tick(100)# 表示每秒钟100次帧刷新视频中每次展示的静态图像称为帧fclock.tick(fps)

Python壁球小游戏(操控型)与键盘的基本使用相关推荐

  1. Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第二篇)

    Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第二篇) 代码实现 窗口类 小车类 玩家类 电脑类 赛道类 小树类 打字类 Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第一篇) ...

  2. Python 打字小游戏开发,来体验不一样的打字游戏乐趣(完结篇)

    Python 打字小游戏开发,来体验不一样的打字游戏乐趣(完结篇) 资源下载 完整代码 Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第一篇) Python 打字小游戏开发,来体验不一样的 ...

  3. Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第一篇)

    Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第一篇) 前言 游戏素材准备 游戏项目结构 项目里面的类说明 Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第二篇) Python ...

  4. 10个python入门小游戏,零基础打通关,就能掌握编程基础

    前言 不会python就不能用python开发入门级的小游戏? 当然不是,我收集了十个python入门小游戏的源码和教程,并且即使你没有python基础,只要跟着这十个小游戏的开发详细教程去做,以及有 ...

  5. python经典小游戏五子棋,适合python编程的小游戏

    python入门可以做的小游戏 1.Python入门拼图小游戏简单介绍:将图像分为m×n个矩形块,并将图像右下角的矩形块替换为空白块后,将这些矩形块随机摆放成原图像的形状. 2.Python入门推箱子 ...

  6. python简单小游戏代码教程,Python简单小游戏代码

    球球各位大神怎么用python写一个猜词小游戏的代码? key = input('请输入一个单词:')description = input('输入单词描述:')chance = 5mark = 5p ...

  7. python入门小游戏代码20行,python入门小游戏代码

    python入门可以做的小游戏 1.Python入门拼图小游戏简单介绍:将图像分为m×n个矩形块,并将图像右下角的矩形块替换为空白块后,将这些矩形块随机摆放成原图像的形状. 2.Python入门推箱子 ...

  8. Python跳跳兔小游戏源代码,兔年必玩小游戏,兔年大吉

    Python跳跳兔小游戏源代码,兔年必玩小游戏,兔年大吉,小兔子跳跳,按空格键向上跳跃,按键盘方向键进行左右移动,以避开飞弹,以防被炸,还可以捡到火箭道具哦. 完整程序下载地址:Python跳跳兔小游 ...

  9. python手机版做小游戏代码大全-python简单小游戏代码 怎么用Python制作简单小游戏...

    1.Python猜拳小游戏代码: 2.import random #导入随机模块 3. 4.num = 1 5.yin_num = 0 6.shu_num = 0 7.while num <= ...

最新文章

  1. mongodb 设置远程可以访问
  2. GAN生成对抗网络-text to image原理与基本实现-文字转图像-11
  3. php扩展管理配置信息,PHP扩展管理 - 城市之雾的个人空间 - OSCHINA - 中文开源技术交流社区...
  4. Tableau研学小课堂(part1)--商业智能概述
  5. 打印更无缝:微软改善Win11中通用打印体验
  6. 今天拜读了X先生的作品,深受其益
  7. 12、设计模式-结构型模式-外观模式
  8. 判断这5个数值是否连续相邻
  9. ios Xcode 版本兼容及真机调试
  10. 怎么在知网上下载pdf格式的论文
  11. 第二空间计算机最新破解,雨过天晴海外版 电脑时光机 - RollBack Rx v10.2.2699597837 多国语言特别版...
  12. ZZULIOJ.1092:素数表(函数专题)
  13. 界面画好了如何开发软件_如何做儿童类APP?来看英语流利说的实战经验总结!...
  14. flash中如何制作播放和暂停按钮(as3.0)
  15. 通州区机器人比赛活动总结_机器人大赛总结报告
  16. Python游戏开发,pygame模块,Python实现记忆翻牌小游戏
  17. 普罗米修斯监控mysql与邮件告警
  18. 父窗口操控iframe
  19. 推荐中的ctr校准方式
  20. 大根堆和小根堆的区别

热门文章

  1. 软件项目管理与《拯救大兵瑞恩》
  2. 三百元左右的蓝牙耳机推荐,300元蓝牙耳机性价比之王
  3. 聚数·智赢未来丨云和恩墨2020夏季产品发布会要点回顾
  4. [Study]操作系统
  5. android js 双指事件,双指缩放的实现方式对比
  6. k8s部署Prometheus+Grafana
  7. 10 个最好用的 NodeJS 框架
  8. 华为OD机试真题- 不含101的数【2023Q2】【JAVA、Python、C++】
  9. LeNet5网络结构分类CIFAR10数据集
  10. E.03.31 Shadowed by Pandemic, Olympic Torch Relay Begins in Japan