找回密码
 立即注册
搜索
热搜: 活动 交友
查看: 48|回复: 4

中A项目:ppball

[复制链接]

33

主题

95

回帖

3614

积分

超级版主

积分
3614
发表于 昨天 10:35 | 显示全部楼层 |阅读模式
Pong是人类最早的电子游戏,是Nolan Bushnell于1972年设计的(软件加硬件)
Pong就说美式英语乒乓球,英国人说table tennis,显然我们翻译的美语哈哈






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

33

主题

95

回帖

3614

积分

超级版主

积分
3614
 楼主| 发表于 昨天 10:36 | 显示全部楼层


这个公司的第40名员工是上图这位先生

后来他拉着他的好伙伴做了Pong的升级版:打砖块(上图)

再后来和这位好伙伴Stephen Gary Wozniak创办了苹果公司


我们中A的核心项目ppball,就是向经典致敬的一款游戏

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

33

主题

95

回帖

3614

积分

超级版主

积分
3614
 楼主| 发表于 昨天 10:38 | 显示全部楼层







V0.9OK啦

然后就可以向V1.0进发啦
V1.0算正式版,那就一定可以接球

请自己想办法完成:就写好ball.collide函数里的if语句即可

当前这个if语句里还没写具体条件,永远都是False,条件永远不成立,当然就永远接不到球......
所以,请认真理解ppt中的内容,理解”游戏里的各种判断,主要就是对坐标的计算和判断”

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

33

主题

95

回帖

3614

积分

超级版主

积分
3614
 楼主| 发表于 昨天 16:05 | 显示全部楼层
ppball V1.0

V0.9~1.0,增加的是碰撞处理,具体在方法函数ball.collide的if中添加
在这个函数中,self就是ball
所以是两个矩形之间的“是否互相碰上”的判断:
self.x, self.y, self.w, self.h
pad.x, pad.y, pad.w, pad.h
矩形4元组(x,y,w,h)的含义分别是:左上角坐标(x,y), 矩形宽度w,矩形高度h
注意计算机坐标系左上角(0,0), y轴向下。

但是具体做游戏的时候,要考虑到ball的spdX,因为比如spdX = 2, 那么上一秒还有距离1,下一秒又重叠了1,永远没有“紧挨着”的状态。
考虑到实现“球拍击球”功能后,如果没有接住球,还要增加“新开一局”功能,都在V1.0中实现。
具体代码:


注意增加了碰撞精度ACCURACY变量,意思是:如果ball的右侧与pad的左侧具体在ACCURACY之内,就算打到。碰撞暂定为2,这个数值与spdX的最大值有关。
函数set_new_ball在没接住球,“死球”后调用。

ball.collide中的碰撞检测,坐标判断,注意考虑了ACCURACY

键盘event处理,增加“空格键重玩”。

这样ppball V1.0就OK啦

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

33

主题

95

回帖

3614

积分

超级版主

积分
3614
 楼主| 发表于 昨天 16:09 | 显示全部楼层
接下来要增加功能,刚才是V1.0,我们的V1.1增加了重力引擎。
现在是做项目了,要先做好版本管理


Version Management
new folder: \ppball
copy a new file: ppball V1.1
V1.1是重力引擎版


增加的代码很少


现在运行看看,是不是ball可以打出曲线了?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|RealDevClub ( 沪ICP备2024093864号-1 )

GMT+8, 2-10-2026 07:41 , Processed in 0.070129 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表