C++ 字符跑酷#3 游戏制作实录
版本号:1.2
嗨~我是oneNBmetal~
今天,我们继续做:字符酷跑!!!
这次,我们要加入非常困难的部分:怪物以及切换关卡
上次做完后,我又做了一些小小的调整,主要就是结束界面,这里放一下代码:
#include <bits/stdc++.h>
#include <cstdio>
#include <conio.h>
#include <windows.h>using namespace std;char a[8][128] = {"################################", "# ","# *","# ##","# ###","# # # # ####","#I ## # # # # # #####","################################",
};int main() {char c;int x = 6;int y = 1;while (1) {c = _getch();if (a[x + 1][y] != '#') {if (a[x + 1][y] == '*') {system("cls");printf("YOU WIN");break;}a[x][y] = ' ';x++;a[x][y] = 'I';}if (c == 'a') {if (a[x][y - 1] != '#') {if (a[x][y - 1] == '*') {system("cls");printf("YOU WIN");break;}a[x][y] = ' ';y--;a[x][y] = 'I';}} else if (c == 'd') {if (a[x][y + 1] != '#') {if (a[x][y + 1] == '*') {system("cls");printf("YOU WIN");break;}a[x][y] = ' ';y++;a[x][y] = 'I';}} else if (c == 'w' && a[x + 1][y] == '#') {a[x][y] = ' ';for (int i = 0; i < 3; i++) {if (a[x - 1][y] != '#') {if (a[x - 1][y] == '*') {system("cls");printf("YOU WIN");return 0;}x--;}}a[x][y] = 'I';}system("cls");for (int i = 0; i < 8; i++) {puts(a[i]);}}
}
76行代码,我骄傲,我自豪个屁!
那我们先来做切换关卡
首先,数组我是不准备列那么多的了,我打算,一个关卡通关之后,直接在数组里把它的位置挪一下就好了,这样粉丝又不会说我水代码又不会爆内存,我真是个天才代码美观,又简单。
我们先把数组列一下:
(虽然我想一个数组搞定的但是看到两个地图的长度时我就决定,每5个地图一个数组)
在调试时,出现的离谱bug
事情是这样的,我看那个判断实在是碍眼,就想做成个函数,结果……
可我并不觉得哪里有问题……
我这次,加入了两个元素,一个是岩浆,一个是水,文中的“W”是水的英文缩写,“M”是岩浆的英文缩写。
水呢,我也是抄袭借鉴了我的世界里的水,把它变成了可以往上游的设定。
#include <bits/stdc++.h>
#include <cstdio>
#include <conio.h>
#include <windows.h>using namespace std;char a[8][175] = {"################################# #################################", "# # # #","# *# # W*#","# ### # W##","# #### # W##","# # # # ##### # W##","#I ## # # # # # ###### # W##","################################# ########M###MMM###MM#############",
};int By = 1;
int x = 6;
int y = 1;void check(int xad, int yad) {if (a[x + xad][y + yad] == '*') {a[x][y] = ' ';By += 35;x = 6;y = By;a[x][y] = 'I';} else if (a[x + xad][y + yad] == 'M') {a[x][y] = ' ';x = 6;y = By;a[x][y] = 'I';} else if (a[x + xad][y + yad] == 'W' && a[x][y] == 'U') {a[x][y] = 'W';x += xad;y += yad;a[x][y] = 'U';} else if (a[x + xad][y + yad] == 'W' && a[x][y] == 'I') {a[x][y] = ' ';x += xad;y += yad;a[x][y] = 'U';} else if (a[x + xad][y + yad] == ' ' && a[x][y] == 'U') {a[x][y] = 'W';x += xad;y += yad;a[x][y] = 'I';} else {a[x][y] = ' ';x += xad;y += yad;a[x][y] = 'I';}
}int main() {char c;while (1) {c = _getch();if (a[x + 1][y] == ' ') {check(1, 0);}if (c == 'a') {if (a[x][y - 1] != '#') {check(0, -1);}} else if (c == 'd') {if (a[x][y + 1] != '#') {check(0, 1);}} else if (c == 'w' && a[x - 1][y] == 'W') {check(-1, 0);} else if (c == 'w' && a[x + 1][y] == '#') {a[x][y] = ' ';for (int i = 0; i < 4; i++) {if (a[x - 1][y] != '#') {check(-1, 0);}}a[x][y] = 'I';} else if (c == 's') {if (a[x + 1][y] == 'W') {check(1, 0);}}system("cls");for (int i = 0; i < 8; i++) {puts(a[i]);}}
}
这样就搞好啦~~~
水的代码,可是浪费了我半小时!所以你还不赶快三连!
接下来,就是我们最核心,也是最困难的部分了,那就是:怪物。
算了……因为我功力不足,所以就先到这吧(逃
C++ 字符跑酷#3 游戏制作实录相关推荐
- C++ 字符跑酷#2 游戏制作实录
版本号:1.1 嗨~我是oneNBmetel~ 上期,我们制作了一个简单的地图,这一期,我们就要实现激动人心的--移动功能!!! 既然我们是跑酷游戏,那最主要的当然就是跳跃,以及左右移动喽 跳跃有点复 ...
- C++ 字符跑酷#1 游戏制作实录
版本号:1.0 我是~~~oneNBmetel!!!我知道metel错了但我懒得改(逃 我们今天来做!一个简简单单的C++跑酷游戏!!! 首先,既然是做游戏,那头文件是必不可少的!!! 这次做游戏,会 ...
- C++ 字符跑酷#5 游戏制作实录
版本号:1.4 嗨,我是一块铌金属. 对的,我期末考试考完了,又闲了. 那就--做游戏吧! 首先,为了我们的游戏像德芙一样丝滑,我使用了_kbhit()函数. 这个函数的作用是:判断是否有按键按下. ...
- C++ 后室·无限#1 游戏制作实录(RPG类型游戏)
版本号:1.0 嗨,我是一块铌金属 自从上次的字符酷跑以后,我还是觉得不过瘾,边想着开个新坑吧.我正想着做什么游戏呢,打开我的谷歌浏览器,看到收藏里的网址: 这是??后室! 于是乎,闲着没事的我开始决 ...
- C++打怪游戏#2 游戏制作实录
前言 哈喽,我是~~~小小程序员!!!ヾ(•ω•`)o 我们今天继续做!一个简简单单的C++打怪游戏!!! 前几天有些事情,非常抱歉,这次就多做亿些~ 一.上期回顾 上次有人在评论区里说,要我把cin ...
- C++打怪游戏#1 游戏制作实录
前言 哈喽,我是~~~小小程序员!!!ヾ(•ω•`)o 我们今天来做!一个简简单单的C++打怪游戏!!! 一.代码模板 首先,既然是做游戏,那头文件是必不可少的!!! 这次做游戏,会用到这几个头文件! ...
- C++ 谷歌小恐龙#1 游戏制作实录
版本号:1.0 嗨,我是一块铌金属,新年快乐呀! 之前不是说啃了EGE库嘛,所以我打算做一个项目练练手. 做什么呢--?谷歌小恐龙! 谷歌小恐龙就是一款谷歌浏览器内置的小游戏--多的我就不说了,在谷歌 ...
- unity课设小游戏_【Unity3D开发小游戏】《跑酷小游戏》Unity开发教程
一.前言 最近跑酷游戏比较流行,开发教程也很多,但是大部分都是不太详细,这篇文章就带着大家一步一步开发出来一个跑酷类的游戏,教程比较基础,适合大部分Unity开发的初学者. 还有就是,此专栏已经开通收 ...
- unity跑酷怎么添加金币_【Unity3D实战】零基础一步一步教你制作跑酷类游戏(填坑完整版)...
在两个月前曾写了一篇<[Unity3D实战]零基础一步一步教你制作跑酷类游戏(1)>,里面一步一步演示了制作跑酷类游戏,然而由于时间原因,只写到了让角色往前移动为止.这个坑一直没有时间去填 ...
最新文章
- Winform开发的界面处理优化
- C# Socket编程笔记
- 2673(2673)shǎ崽 OrOrOrOrz
- ML之RFDT:利用RF(RFR)、DT(DTR)两种算法实现对boston(波士顿房价)数据集进行训练并预测
- opencv学习笔记18:canny算子边缘检测原理及其函数使用
- 括号生成—leetcode22
- 神圣的NLP!一文理解词性标注、依存分析和命名实体识别任务
- python修复不了_如何修复Python代码?
- python自动化--接口请求及封装
- mybatis入门教程(三) --分页
- 怎么样可以通过阿里云APP进行备案 阿里云备案一般多长时间
- 大数据未来7大发展趋势
- DWZ 富文本编辑器 IE下失去焦点
- python计算两点间距离_用python计算图像中两点之间的距离
- VSCode插件CodeRunner直接运行TypeScript
- 电脑桌面显示计算机信息,在桌面背景图片上显示各种电脑信息BGInfo 4.28
- 【数据结构】选择排序
- upupoo(网页壁纸)自主修改一:农历
- 2018春招Android实习生面试感悟
- Oracle net architecture
热门文章
- 千万级数据查询中CK、ES、RediSearch方案的优化
- R语言使用lm函数构建多元回归模型(Multiple Linear Regression)、并根据模型系数写出回归方程、使用fitted函数计算出模型的拟合的y值(响应值)向量
- 以流量为主导的发展方式,注定了直播带货无法逃脱电商的宿命
- IOS设置时间不兼容解决方案
- switch命令大全
- 一颗种子,一颗小树苗 在快速生长长大的过程中,遇到风雨在所难免
- 将矩阵的行列互换得到的新矩阵称为转置矩阵
- 以下是根据在下的一些朋友芳名作诗,请朋友指点,继续增加中
- 带动画的好看的按钮集合HTML + CSS各种好看按钮组件
- 自媒体平台今日头条申请秘籍(转)