基于C语言制作的超级玛丽小游戏
资源下载地址:https://download.csdn.net/download/sheziqiong/85707555
资源下载地址:https://download.csdn.net/download/sheziqiong/85707555
1 设计目标
《超级玛丽》是一代人的童年经典游戏,其易于上手的操作和丰富的关卡元素让大家津津乐道,我们组计划用一个小狐狸素材包,制作一个《超级狐狸》,通过一定程度的模仿、复刻来致敬这个经典的游戏。
2 概要设计
2.1 功能实现
该游戏是 2d 的闯关游戏,其实现的是让玩家操控角色(小狐狸)在地图上进行移动、跳跃,然后收集物品和消灭敌人。主要要实现的功能有:
(1)小狐狸的移动和跳跃
(2)敌人的移动
(3)收集物品时计分
(4)暂停游戏,期间能更改游戏设置或退出游戏
(5)小狐狸进行一些动作或触发一些事件时,加入音效。
2.2 功能模块图
3 详细设计
3.1 类图
图中各个类的说明如下:
3.1.1 Scroll:实现地图背景的左右滚动
- left:确定左边界
- right:确定右边界
- distance:左右边界之间的距离
- Start():在游戏开始时获取边界和距离
- Update():在游戏运行过程中更新左右边界的坐标,达到背景左右平移的效果。
3.1.2 Shift:实现地图背景的上下滚动
- up:确定上边界
- down:确定下边界
- distance:上下边界之间的距离
- Start():在游戏开始时获取边界和距离
- Update():在游戏运行过程中更新上下边界的坐标,达到背景上下平移的效果。
3.1.3 PlayerControllor:操作人物
- speed:速度
- jumpForce:跳跃力度
- isGround:是否在地面
- isCroch:是否趴下
- isHurt:是否受伤
- jumpCount:跳跃次数,实现二段跳
- cherry:收集的樱桃数目
- Movement():实现小狐狸移动的函数。
- Jump():实现小狐狸跳跃的函数。
- SwitchAnim():切换小狐狸动画表现的函数。
- OnTriggerEnter2D():判断小狐狸与其他触发器的碰撞,基于此实现收集物品。
- OnCollisionEnter2D():判断小狐狸与其他碰撞器的碰撞,基于此实现与敌人战斗。
- Restart():小狐狸死后游戏重置。
3.1.4 SceneManeger:实现场景(关卡)切换
- Restart():游戏重置,回到主菜单。
- Next():下一关。
- Exit():退出游戏。
3.1.5 Audio:播放背景音乐和音效。
- clip:获取播放的音乐片段。
- audioSouece:音乐播放器。
- Play():播放音乐。
- Destory():停止播放。
3.1.5 Enemy:怪物类
- anim:获取怪物的动画。
- Start():开始游戏时播放怪物的动画。
- Explosion():被消灭时爆炸。
- Death():被消灭后销毁对象。
3.1.6 Enemy_Frog:青蛙
- speed:移动速度
- jumpForce:跳跃力度
- Movement():实现青蛙边移动边跳跃的函数。
- AnimSwitch():切换青蛙的动画效果。
3.1.7 Enemy_Eagle:老鹰
- speed:移动速度
- Movement():老鹰移动。
3.1.8 Enemy_Eagle:猫
- speed:移动速度
- Movement():猫移动。
3.1.9 Item:物品类
- anim:获取物品的动画
- Play():游戏开始时播放物品的动画(摇晃或闪烁)。
- Destory():被获取后销毁对象。
3.1.10 Cherry:樱桃
- score:樱桃的分数
- Increase(int):增加分数。
3.1.10 Gem:宝石
- score:宝石的分数
- Increase(int):增加分数。
3.2 活动图
3.3 UI 设计
主菜单 UI:
介绍:
- 开始:点击后开始游戏,进入第一关的场景。
- 结束:点击后退出游戏
游戏内 UI:
介绍:
- 左上角记录收集到的樱桃和宝石数目
- || :暂停按钮,点击后游戏暂停,然后弹出返回主菜单或是继续游戏的窗口
- X :退出按钮,退出游戏。
资源下载地址:https://download.csdn.net/download/sheziqiong/85707555
资源下载地址:https://download.csdn.net/download/sheziqiong/85707555
基于C语言制作的超级玛丽小游戏相关推荐
- 基于C语言的信息管理系统和小游戏
基于C语言的信息管理系统和小游戏 一.课设题 本次课程设计有以两类题可以选择: 信息管理系统: 即实现个基于控制台的信息管理系统,例如选课系统.图书馆系统.公司财务系统等等 ,除满增删查改等基本功能, ...
- 基于C语言设计的俄罗斯方块小游戏(VS2017运行)
(1)俄罗斯方块起源 <俄罗斯方块>(Tetris, 俄文:Тетрис)是一款由俄罗斯人阿列克谢·帕基特诺夫于1984年6月发明的休闲游戏. 该游戏曾经被多家公司代理过.经 ...
- C语言制作一个五子棋小游戏【附代码】
目录 五子棋游戏设计与实现 1.1 系统开发思路(需求分析) 1.2 系统功能设计 1.3 系统详细设计 1.3.1数据结构设计 1.4 系统实现 1.5 系统测试 五子棋游戏设计与实现 1.1 系统 ...
- 如何运用C语言制作猜数字小游戏?
之前做课程设计无意中发现了这个好玩的游戏,于是就抱着做着玩的心态开始用c写这个东西,虽然东西不够精致,但是也没有太大瑕疵,希望各位大神们能给出点意见,也希望这篇小代码能给您帮助.(ps:游戏排行 ...
- [c语言]制作一个扑克牌小游戏
扑克牌游戏 一.问题阐述 实现一个简单的扑克牌游戏,可以洗牌.发牌,还有玩家打牌等功能,具体任务如下: (1)一副扑克52张牌(去掉大小王),分别是A.2.3.4.5.6.7.8.9.10.J.Q.K ...
- c语言使用easyX图形库制作打气球小游戏
大一c语言使用easyX图形库制作打气球小游戏 如果你是入门easyX图形库,那么这个打气球小游戏将会是和不错的入门项目选择,easyX开创了可视化窗口,使用户更加直观的了解到对象的变化,总代码以及素 ...
- c语言扔骰子随机数的相加,C语言编程学习:制作掷骰子小游戏
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...
- 基于 Vue 制作一个猜拳小游戏
目录 前言: 项目效果展示: 对应素材: 代码实现思路: 实现代码: 总结: 前言: 在工作学习之余玩一会游戏既能带来快乐,还能缓解生活压力,跟随此文一起制作一个小游戏吧. 描述: 石头剪子布,是一种 ...
- C语言编程学习:制作掷骰子小游戏!超适合新手的练手项目!
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...
- c 语言掷骰子游戏,C 语言编程学习: 制作掷骰子小游戏
C 语言编程学习: 制作掷骰子小游戏 问题描述 骰子是一个有六个面的正方体, 每个面分别印有 16 之间的小圆点代表点数. 假设这个游戏的规则是: 两个人轮流掷骰子 6 次, 并将每次投掷的点数累加起 ...
最新文章
- mysql多表联查分页_sqlserver多表联合查询和多表分页查询的代码讲解
- 关于.NET前后台提示框的那点事
- 将调试信息同时输出到终端和文件_暨_多参数函数封装
- 排序算法_桶排序(箱排序)
- 机器学习基础自学笔记2
- solidworks模板_工程师实用高级操作,Solidworks自定义属性链接到工程图模板
- laravel代码提示:laravel-ide-helper
- 计算机怎么新建word文档,右键新建没有word文档怎么办?Win10新建word文档的方法...
- 宇视NVR录像机密码忘记找回方式.pdf
- 【机器学习手册】【1】熟练使用向量矩阵和数组 —— 二维矩阵叉乘公式
- 杀毒软件简介:杀毒软件原理,教你如何选择一个好的杀毒软件
- google阅读器快捷键
- 第4届CCCC字符串大赛 L2-3深入虎穴
- Android 第三方 ROM
- Shake Shack上海第7家门店开业
- 7.6批量下载网易云歌曲
- 关闭msmpeng_你知道吗?把电脑系统里的这些进程关闭掉,可以提升系统流畅
- ipv4与ipv6的联系与区别
- DHL供应链将再投资2.18亿欧元加码中国市场
- 论影响高学习效率的几大因素