版本号: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 游戏制作实录相关推荐

  1. C++ 字符跑酷#2 游戏制作实录

    版本号:1.1 嗨~我是oneNBmetel~ 上期,我们制作了一个简单的地图,这一期,我们就要实现激动人心的--移动功能!!! 既然我们是跑酷游戏,那最主要的当然就是跳跃,以及左右移动喽 跳跃有点复 ...

  2. C++ 字符跑酷#1 游戏制作实录

    版本号:1.0 我是~~~oneNBmetel!!!我知道metel错了但我懒得改(逃 我们今天来做!一个简简单单的C++跑酷游戏!!! 首先,既然是做游戏,那头文件是必不可少的!!! 这次做游戏,会 ...

  3. C++ 字符跑酷#5 游戏制作实录

    版本号:1.4 嗨,我是一块铌金属. 对的,我期末考试考完了,又闲了. 那就--做游戏吧! 首先,为了我们的游戏像德芙一样丝滑,我使用了_kbhit()函数. 这个函数的作用是:判断是否有按键按下. ...

  4. C++ 后室·无限#1 游戏制作实录(RPG类型游戏)

    版本号:1.0 嗨,我是一块铌金属 自从上次的字符酷跑以后,我还是觉得不过瘾,边想着开个新坑吧.我正想着做什么游戏呢,打开我的谷歌浏览器,看到收藏里的网址: 这是??后室! 于是乎,闲着没事的我开始决 ...

  5. C++打怪游戏#2 游戏制作实录

    前言 哈喽,我是~~~小小程序员!!!ヾ(•ω•`)o 我们今天继续做!一个简简单单的C++打怪游戏!!! 前几天有些事情,非常抱歉,这次就多做亿些~ 一.上期回顾 上次有人在评论区里说,要我把cin ...

  6. C++打怪游戏#1 游戏制作实录

    前言 哈喽,我是~~~小小程序员!!!ヾ(•ω•`)o 我们今天来做!一个简简单单的C++打怪游戏!!! 一.代码模板 首先,既然是做游戏,那头文件是必不可少的!!! 这次做游戏,会用到这几个头文件! ...

  7. C++ 谷歌小恐龙#1 游戏制作实录

    版本号:1.0 嗨,我是一块铌金属,新年快乐呀! 之前不是说啃了EGE库嘛,所以我打算做一个项目练练手. 做什么呢--?谷歌小恐龙! 谷歌小恐龙就是一款谷歌浏览器内置的小游戏--多的我就不说了,在谷歌 ...

  8. unity课设小游戏_【Unity3D开发小游戏】《跑酷小游戏》Unity开发教程

    一.前言 最近跑酷游戏比较流行,开发教程也很多,但是大部分都是不太详细,这篇文章就带着大家一步一步开发出来一个跑酷类的游戏,教程比较基础,适合大部分Unity开发的初学者. 还有就是,此专栏已经开通收 ...

  9. unity跑酷怎么添加金币_【Unity3D实战】零基础一步一步教你制作跑酷类游戏(填坑完整版)...

    在两个月前曾写了一篇<[Unity3D实战]零基础一步一步教你制作跑酷类游戏(1)>,里面一步一步演示了制作跑酷类游戏,然而由于时间原因,只写到了让角色往前移动为止.这个坑一直没有时间去填 ...

最新文章

  1. Winform开发的界面处理优化
  2. C# Socket编程笔记
  3. 2673(2673)shǎ崽 OrOrOrOrz
  4. ML之RFDT:利用RF(RFR)、DT(DTR)两种算法实现对boston(波士顿房价)数据集进行训练并预测
  5. opencv学习笔记18:canny算子边缘检测原理及其函数使用
  6. 括号生成—leetcode22
  7. 神圣的NLP!一文理解词性标注、依存分析和命名实体识别任务
  8. python修复不了_如何修复Python代码?
  9. python自动化--接口请求及封装
  10. mybatis入门教程(三) --分页
  11. 怎么样可以通过阿里云APP进行备案 阿里云备案一般多长时间
  12. 大数据未来7大发展趋势
  13. DWZ 富文本编辑器 IE下失去焦点
  14. python计算两点间距离_用python计算图像中两点之间的距离
  15. VSCode插件CodeRunner直接运行TypeScript
  16. 电脑桌面显示计算机信息,在桌面背景图片上显示各种电脑信息BGInfo 4.28
  17. 【数据结构】选择排序
  18. upupoo(网页壁纸)自主修改一:农历
  19. 2018春招Android实习生面试感悟
  20. Oracle net architecture

热门文章

  1. 千万级数据查询中CK、ES、RediSearch方案的优化
  2. R语言使用lm函数构建多元回归模型(Multiple Linear Regression)、并根据模型系数写出回归方程、使用fitted函数计算出模型的拟合的y值(响应值)向量
  3. 以流量为主导的发展方式,注定了直播带货无法逃脱电商的宿命
  4. IOS设置时间不兼容解决方案
  5. switch命令大全
  6. 一颗种子,一颗小树苗 在快速生长长大的过程中,遇到风雨在所难免
  7. 将矩阵的行列互换得到的新矩阵称为转置矩阵
  8. 以下是根据在下的一些朋友芳名作诗,请朋友指点,继续增加中
  9. 带动画的好看的按钮集合HTML + CSS各种好看按钮组件
  10. 自媒体平台今日头条申请秘籍(转)