跑酷天堂C++小黑框版
上:跳跃
左右:行走
#include <bits/stdc++.h>
#include <windows.h>
#include <conio.h> using namespace std; char mmp[][] = {" ",
" ",
" ### # # # # # # # ### #### ### ",
" ## #### ### # # # # ### ## ",
" ## ##### #### ### ",
" ## ## ",
" #### ",
" ### ",
" ## ",
" ####",
" ",
" ## ### ",
" ## #### ",
" ### #### ",
" ### ## ",
" ",
" O ",
"##### ",
"##### ",
"##### "
};//20 * 200; char putmmp[][]; int jump[] = {, , , , , , , , , , , -, , -, , -, , -}; int main() { char ch; bool t = ; int x = , y = , delayjump = ; SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN); while () { Sleep(); if (y - < ) { for (register int i = ; i < ; i++) { for (register int j = ; j < ; j++) { putmmp[i][j] = mmp[i][j]; } } } else if (y + > ) { for (register int i = ; i < ; i++) { int k = ; for (register int j = ; j >= ; j--, k--) { putmmp[i][k] = mmp[i][j]; } } } else { for (register int i = ; i < ; i++) { int k = ; for (register int j = y - ; j <= y + ; j++, k++) { putmmp[i][k] = mmp[i][j]; } } } HANDLE hout;
COORD coord;
coord.X=;
coord.Y=;
hout=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hout,coord); for (register int i = ; i < ; i++) { bool t = ; for (register int j = ; j < ; j++) { if (putmmp[i][j] == 'O') { t = ; } } if (t) { for (register int j = ; j < ; j++) { if (putmmp[i][j] == 'O') { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED);
putchar('O');
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN); } else { putchar(putmmp[i][j]); } } putchar('\n'); } else { puts(putmmp[i]); } }
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
printf("%d %d\n", x, y);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN); if (delayjump > ) { if (delayjump > && (x + jump[delayjump] == - || mmp[x + jump[delayjump]][y] == '#')) { delayjump = ; } else { if (delayjump <= && x + jump[delayjump] == ) { mmp[x][y] = ' ';
x = , y = ;
mmp[x][y] = 'O'; } if (delayjump <= && (x + jump[delayjump] == || mmp[x + jump[delayjump]][y] == '#')) { delayjump = ; } else { mmp[x][y] = ' ';
x += jump[delayjump];
mmp[x][y] = 'O';
delayjump--; } } } if (!delayjump) { if (x + == ) { mmp[x][y] = ' ';
x = , y = ;
mmp[x][y] = 'O'; } if (mmp[x + ][y] == ' ' && x < && t) { t = !t;
mmp[x][y] = ' ';
x++;
mmp[x][y] = 'O'; } else { t = !t; } } if (kbhit()) { ch = getch(); switch(ch) { case : exit(); break; case - : ch = getch(); switch(ch) { case : if (y > && mmp[x][y - ] == ' ') { mmp[x][y] = ' ';
y--;
mmp[x][y] = 'O'; } break; case : if (y < && mmp[x][y + ] == ' ') { mmp[x][y] = ' ';
y++;
mmp[x][y] = 'O'; } break; case : if (!delayjump && mmp[x + ][y] == '#') { delayjump = ; } break; } break; } } } return ; }
自动版:
#include <bits/stdc++.h>
#include <conio.h>
#include <windows.h> using namespace std; char mmp[][] = {" ",
" ",
" #### ",
" # ",
" ### ### ##### ",
" #### #### ",
" # ### ### ",
" #### ## #### ",
"O #### ###### ",
"##### #"
}; char putmmp[][];
int jp[] = {, , , , , , , , }; int main() { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN); int x = , y = , dj = , tick = ; int clock2 = clock(); while () { int clock1 = clock();
clock2 = clock1; while (clock1 - clock2 <= ) { Sleep();
clock1 = clock(); } if (y < ) { for (register int i = ; i < ; i++) { for (register int j = ; j < ; j++) { putmmp[i][j] = mmp[i][j]; } } } else if (y > ) { for (register int i = ; i < ; i++) { for (register int j = , k = ; j < ; j++, k++) { putmmp[i][k] = mmp[i][j]; } } } else { for (register int i = ; i < ; i++) { for (register int j = y - , k = ; j < y + ; j++, k++) { putmmp[i][k] = mmp[i][j]; } } } HANDLE hout;
COORD coord;
coord.X=;
coord.Y=;
hout=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hout,coord); for (register int i = ; i < ; i++) { if (i ^ x) { puts(putmmp[i]); } else { for (register int j = ; j < ; j++) { if (putmmp[i][j] == 'O') { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN); putchar('O'); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN); } else { putchar(putmmp[i][j]); } } putchar('\n'); } } printf("%d\n", y); if (kbhit()) { char ch = getch(); if (ch == ' ' && (mmp[x + ][y] == '#' || mmp[x + ][y - ] == '#')) { dj = ; } if (ch == ) { exit(); } } if (dj > ) { if (x - jp[dj] >= && mmp[x - jp[dj]][y] == ' ') { mmp[x][y] = ' ';
x -= jp[dj];
mmp[x][y] = 'O'; dj--; } else { dj = ; } } else { if (x == ) { mmp[x][y] = ' ';
x = , y = ;
mmp[x][y] = 'O';
y--; } else { if (mmp[x + ][y] == ' ') { if (tick % == ) { mmp[x][y] = ' ';
x++;
mmp[x][y] = 'O'; } } } } mmp[x][y] = ' ';
y++;
if (mmp[x][y] == '#') { y--; }
if (y == ) { y = ; for (register int i = ; i < ; i++) { putmmp[i][] = ' '; } }
mmp[x][y] = 'O';
tick++; } return ; }
转载请注明©Ice_watermelon233
跑酷天堂C++小黑框版的更多相关文章
- 123457123457#0#-----com.threeapp.renzhepaoku01----儿童跑酷游戏(忍者版)
com.threeapp.renzhepaoku01----儿童跑酷游戏(忍者版)
- 天堂Lineage(單機版)從零開始架設教學 Installing Lineage 3.52 Server - On Windows
1. [下載原始碼] Using RapidSVN 用checkout http://l1j-tw-99nets.googlecode.com/svn/trunk/L1J-TW_3.50 ...
- tomcat的stratup小黑框名字修改
Tomcat的bin目录下:catalina.out文件, TITLE就是Tomcat startup窗口的名称,282行默认是:Tomcat.这里建议改成“服务名+端口号”的方式,看起来一目了然.因 ...
- Visual Studio 2019/2017 安装使用教程(快速上手版)
目录 Visual Studio 2017 安装使用教程(详细) 在此鸣谢范华对本文工作的大力支持 一.下载 二.安装 2017版本新建项目过程 2019版本新建项目过程 然后你就可以简单编写一段代码 ...
- [转][darkbaby]任天堂传——失落的泰坦王朝(中)
TV游戏产业历史上曾有过太多表里不一的外交辞令,然而当年SQUARE和任天堂分道扬镳的真正原因确实如坂口博信在1996年2月29日的PS版 <FFVII>发表会上宣称的那样:“虽然之前有过 ...
- while循环,格式化输出%,运算符,数据类型的转换,编码的初识,
1.内容总览 while循环 格式化输出 运算符 and or not 编码的初识 2. 具体内容 while 循环 where:程序中:你需要重复之前的动作,输入用户名密码时,考虑到while循环. ...
- Python2x,3x源码的区别,编译型解释型,变量,注释,if,用户交互input,基本数据类型3种
cpu 内存 硬盘 操作系统 cpu: 计算机的运算和计算中心,相当于人类的大脑. 内存:暂时存储数据,临时加载数据应用程序,4G,8G,16G,32G #速度快,造价高,断电即消失 硬盘 ...
- 从Webpack源码探究打包流程,萌新也能看懂~
简介 上一篇讲述了如何理解tapable这个钩子机制,因为这个是webpack程序的灵魂.虽然钩子机制很灵活,而然却变成了我们读懂webpack道路上的阻碍.每当webpack运行起来的时候,我的心态 ...
- Linux 电子数据取证入门
目录 Linux Basic Analysis 一.常见的Linux 发行版 二.Linux 系统的典型目录结构(Dir Structure) 三.Linux 系统重要文件夹与文件的内容 四.Linu ...
随机推荐
- Java性能调优的9个实用方法
1.使用StringBuilder StingBuilder 应该是在我们的Java代码中默认使用的,应该避免使用 + 操作符. 一般来说,使用 StringBuilder 的效果要优于使用 + 操作 ...
- MongoDB 学习笔记之 索引
索引: db.media.createIndex({"Tracklist": 1}) 1表示升序 -1表示降序 我们要着重看一下对数组创建索引的情况. 构建一个集合:db.medi ...
- MySQL系统表的利用姿势(浅探)
MySQL数据库文件读写 权限要求: 具备读写权限并且目标文件为可读内容 目标内容具有完整路径且目录可访问 目标内容是否具备文件读写操作权限 查看是否有文件读写权限 show variables li ...
- jquery经常用到的代码段
1.1jquery实现手风琴效果 <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"&g ...
- 渗透测试-基于白名单执行payload--zipfldr.dll
0x01 zipfldr.dll简介: zipfldr.dll自Windows xp开始自带的zip文件压缩/解压工具组件. 说明:zipfldr.dll所在路径已被系统添加PATH环境变量中,因此, ...
- 使用Spring 或Spring Boot实现读写分离( MySQL实现主从复制)
http://blog.csdn.net/jack85986370/article/details/51559232 http://blog.csdn.net/neosmith/article/det ...
- opencv::基于距离变换与分水岭的图像分割
什么是图像分割 图像分割(Image Segmentation)是图像处理最重要的处理手段之一 图像分割的目标是将图像中像素根据一定的规则分为若干(N)个cluster集合,每个集合包含一类像素. 根 ...
- vue-cli 3.x 自定义插件并发布到 npm
干货转载——https://www.cnblogs.com/wisewrong/archive/2018/12/28/10186611.html 全是知识点呐 赶紧记下来啊 一.调整项目结构 首先用 ...
- 关于a标签的href属性
今天有人问起我a标签的href属性值为 # 与 JavaScript:void(0) 有啥区别,想来也没啥可说,就简单说两句 a标签的href属性,优点有: 天然鼠标手型,以及可以被键盘focus以及 ...
- Cocos Creator 中 _worldMatrix 到底是什么(中)
Cocos Creator 中 _worldMatrix 到底是什么(中) 1. 中篇摘要 在上篇中主要做了三件事 简单表述了矩阵的基本知识,以及需要涉及到的三角函数知识 推导了图形变换中 位移 .旋 ...