主要知识点:
- 精准碰撞检测
- 用户自定义事件
- 敌人生成
一、躲避汉堡游戏(参考小甲鱼微信打飞机项目)(单人)
游戏规则:
1、操作人物躲避天空掉落的汉堡🍔
2、吃到绿色的西蓝花🥦可以进入短时间的双倍得分时间
3、吃到雪花可以短时间冻结下落的汉堡
4、吃到草莓🍓可以获得短时间护盾,无敌时间
5、重生后会有短时间无敌时间
6、游戏分为多个等级,不同等级下落物数量和速度不同
7、内置最高分记录功能
设计:
1、掉落物抽象为单独的类enemy,继承Sprite类
2、玩家为Player类,继承Sprite 类
3、道具同样抽象为suply 类,继承Sprite类
实现如下如:
二、乌龟🐢和螃蟹🦀(双人)
规则:
1、屏幕会随机生成两种食物,一种只能乌龟吃,一种只能螃蟹吃
2、如果误吃对方的食物扣分,吃到正确✅的食物加分
3、游戏采用倒计时机制,当时间结束时比较双方分数
设计:
1、食物 抽象为单独的类Food,继承Sprite类,Food1和Food2
2、玩家为Player类,继承Sprite 类,其中有Player1和Player2
实现:
三、躲避红球(单人)
主要代码参考
https://blog.csdn.net/m0_63171455/article/details/122036655
在该代码上进行部分修改。
规则:
1、游戏分为三个等级,在游戏开始之前可以进行选择
2、每个登记内还分为三个等级,该等级会随时间推移而增加
3、操作绿球躲避画面中的红球
4、坚持时间越长,分数越高
5、内置最高分记录功能
实现:
项目代码地址:
参考dev分支
https://gitee.com/miaohy/pygame_demo.git
总结
- 项目代码量都很小,即使之前不会pygame,简单学习后也可以快速看懂运行
- 项目完全没有考虑代码复用和抽象,遵循着《能用就行》原则,能用代码量解决的就多写代码,即使重复
- 有很多无用代码,可以删除,虽然我没有删,因为赶dl太急了
- pygame还是蛮有意思的