【课程作业】Pygame游戏开发之三个小游戏 容易简单 附项目代码和游戏介绍

主要知识点:

  • 精准碰撞检测
  • 用户自定义事件
  • 敌人生成

一、躲避汉堡游戏(参考小甲鱼微信打飞机项目)(单人)

游戏规则:

1、操作人物躲避天空掉落的汉堡🍔

2、吃到绿色的西蓝花🥦可以进入短时间的双倍得分时间

3、吃到雪花可以短时间冻结下落的汉堡

4、吃到草莓🍓可以获得短时间护盾,无敌时间

5、重生后会有短时间无敌时间

6、游戏分为多个等级,不同等级下落物数量和速度不同

7、内置最高分记录功能

设计:

1、掉落物抽象为单独的类enemy,继承Sprite类

2、玩家为Player类,继承Sprite 类

3、道具同样抽象为suply 类,继承Sprite类

【课程作业】Pygame游戏开发之三个小游戏 容易简单 附项目代码和游戏介绍

; 实现如下如:

【课程作业】Pygame游戏开发之三个小游戏 容易简单 附项目代码和游戏介绍

二、乌龟🐢和螃蟹🦀(双人)

规则:

1、屏幕会随机生成两种食物,一种只能乌龟吃,一种只能螃蟹吃

2、如果误吃对方的食物扣分,吃到正确✅的食物加分

3、游戏采用倒计时机制,当时间结束时比较双方分数

设计:

1、食物 抽象为单独的类Food,继承Sprite类,Food1和Food2

2、玩家为Player类,继承Sprite 类,其中有Player1和Player2

【课程作业】Pygame游戏开发之三个小游戏 容易简单 附项目代码和游戏介绍

; 实现:

【课程作业】Pygame游戏开发之三个小游戏 容易简单 附项目代码和游戏介绍
【课程作业】Pygame游戏开发之三个小游戏 容易简单 附项目代码和游戏介绍

三、躲避红球(单人)

主要代码参考

https://blog.csdn.net/m0_63171455/article/details/122036655

在该代码上进行部分修改。

规则:

1、游戏分为三个等级,在游戏开始之前可以进行选择

2、每个登记内还分为三个等级,该等级会随时间推移而增加

3、操作绿球躲避画面中的红球

4、坚持时间越长,分数越高

5、内置最高分记录功能

实现:

【课程作业】Pygame游戏开发之三个小游戏 容易简单 附项目代码和游戏介绍
【课程作业】Pygame游戏开发之三个小游戏 容易简单 附项目代码和游戏介绍

; 项目代码地址:

参考dev分支

https://gitee.com/miaohy/pygame_demo.git

总结

  • 项目代码量都很小,即使之前不会pygame,简单学习后也可以快速看懂运行
  • 项目完全没有考虑代码复用和抽象,遵循着《能用就行》原则,能用代码量解决的就多写代码,即使重复
  • 有很多无用代码,可以删除,虽然我没有删,因为赶dl太急了
  • pygame还是蛮有意思的

Original: https://blog.csdn.net/MIAOHY_1/article/details/125372921
Author: 缪恒益
Title: 【课程作业】Pygame游戏开发之三个小游戏 容易简单 附项目代码和游戏介绍

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/779450/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 爬虫日记(86):Scrapy的Scheduler类(一)

    前面学习过了引擎类,明白整个引擎的工作过程,在引擎里要调用调度管理类,这样才能够把请求下载进行去重,或者优先下载等功能实现。现在我们就来分析这个类的实现,以便完全理解调度管理类的相…

    Python 2023年10月3日
    063
  • 源码级深度理解 Java SPI

    作者:vivo 互联网服务器团队- Zhang Peng SPI 是一种用于动态加载服务的机制。它的核心思想就是解耦,属于典型的微内核架构模式。SPI 在 Java 世界应用非常广…

    Python 2023年10月15日
    041
  • 嵌入式软件工程师技能树——应用编程/网络编程/驱动开发/操作系统/计算机网络

    啊哦~你想找的内容离你而去了哦 内容不存在,可能为如下原因导致: ① 内容还在审核中 ② 内容以前存在,但是由于不符合新 的规定而被删除 ③ 内容地址错误 ④ 作者删除了内容。 可…

    Python 2023年8月9日
    055
  • python tkinter详解

    PYTHON TKINTER Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数的平台下使用,同样可以…

    Python 2023年8月1日
    078
  • Python 最简单的实例:手机通讯录

    通讯录是记录了联系人姓名和联系方式的名录,手机通讯录是最常见的通讯录之一,人们可以在通讯录中通过姓名查看相关联系人的联系方式、邮箱、地址等信息,也可以在其中新增联系人,或修改、删除…

    Python 2023年8月2日
    055
  • Python截胡修改scrapy-redis适应动态redis_key,自由拼接url!!

    能看到这篇文章的人想必是有一定了解 scrapy的人,但是由于 redis_key非动态性以及不符合业务的 url拼接的原因,导致scrapy_redis对于某些业务非常不顺手,甚…

    Python 2023年10月3日
    037
  • 红外图像和可见光图像异源图像配准问题研究

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、配准的基本原理 * 1.1 常用的配准方法 1.2 配准流程 1.3 图像预处理 &#8211…

    Python 2023年9月17日
    042
  • django 报错 ‘set’ object is not reversible 解决

    这个问题在网上随便一搜就有解决办法,说是把urls.py里面的urlpatterns = 这部分的{}改成[]就可以了,想想也对,毕竟里面是个list也不是个dict 先说下我的p…

    Python 2023年10月31日
    045
  • 笔记10-Django上传图片

    静态文件 Django中静态文件包括css, 图片, js等文件,一般需要将静态文件放到一个单独的目录中,在html页面中调用需要指定路径. 可以发到项目根目录下也可以放到应用目录…

    Python 2023年8月4日
    051
  • 搭建类似pytest的Java环境把Java搞起来

    每次想写Java都被环境折腾困扰,不如写Python这般顺畅。为了解决这个问题,我写下这篇文章,归档到在线电子书,以备不时查看之需。 安装Java Python安装包是个 .exe…

    Python 2023年9月14日
    079
  • 分布式高性能消息处理中心HPMessageCenter

    高性能消息分发中心。用户只需写好restful接口,在portal里面配置消息的处理地址,消息消费者就会自动访问相关接口,完成消息任务。(其实HPMessageCenter有两个版…

    Python 2023年6月12日
    064
  • Python|蟒蛇书《外星人入侵》项目学习记录|添加飞船与子弹

    一.创建pygame窗口与用户响应 按照书上的提示,我们创建一个名为 alien_invasion.py的文件,在其中存放游戏的主要逻辑的代码。其主要逻辑为:首先创建一个Pygam…

    Python 2023年9月19日
    049
  • 使用django写出网页工具2-lnmp组件调度关系

    一、lnmp组成 L:linux,服务器的操作系统N: nginx,负载均衡器,实现动静分离,建议静态都由nginx获取,动态的策略交给django。M: mysql:数据库,主要…

    Python 2023年8月4日
    076
  • 【pytest官方文档】解读- 如何安装和使用插件

    本节讨论安装和使用第三方插件。关于编写自己的插件,我们下一章继续。 ; 一、pip 安装 就像安装一些其他第三方库一样,使用 pip也可以很容易地安装第三方插件, pytest-N…

    Python 2023年9月11日
    046
  • python中 .reshape 的用法:reshape(1,-1)

    reshape(1,-1)转化成1行: reshape(2,-1)转换成两行: reshape(-1,1)转换成1列: reshape(-1,2)转化成两列 reshape(2,8…

    Python 2023年8月23日
    0124
  • Java agent 使用详解

    一、前言 于一个即将上线的应用来说,系统监控是必不可少的,为什么需要监控呢?应用是跑在服务器上的,应用在运行过程中会发生各自意想不到的问题,像大家熟知的OOM,mysql故障,服务…

    Python 2023年8月2日
    0102
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球