跑酷天堂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 ...
随机推荐
- python pytesseract——3步识别验证码的识别入门
验证码识别是个大工程,但入门开始只要3步.需要用到的库PIL.pytesserac,没有的话pip安装.还有一个是tesseract-ocr 下载地址:https://sourceforge.net/ ...
- css 添加手状样式,鼠标移上去变小手
cursor:pointer, 简单实用. 前端工作一年多,竟然没有博客.说出来别人都要笑话,这是一个新的开始.
- SpringBoot导入jsp依赖始终报错
先粘出我自己的pom代码: <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&qu ...
- 【Sqlserver】查询结果导出excel
1.右键数据库——>任务——>导出数据,打开SQL Server导入和导出向导: 2.选择当前数据库,填写用户名,密码,下一步: 3.选择目标类型 excel,选择导出模板,下一步: 4. ...
- Apache Kylin 概述
1 Kylin是什么 今天,随着移动互联网.物联网.AI等技术的快速兴起,数据成为了所有这些技术背后最重要,也是最有价值的"资产".如何从数据中获得有价值的信息?这个问题驱动了相关 ...
- Unity动态改变物体遮挡关系
在动态创建物体时,通常同父级下先创建的子物体会被后创建的遮挡,此时就需要我们用代码改变对象的层级. GameObject go;go.transform.SetAsLastSibling();//设置 ...
- Redis之安装配置(Windows)
下载 下载地址:https://github.com/MSOpenTech/redis/releases 解压,文件的名字重命名为redis. 打开文件夹,内容如下: 发送redis-server.e ...
- 复杂模型可解释性方法——LIME
一.模型可解释性 近年来,机器学习(深度学习)取得了一系列骄人战绩,但是其模型的深度和复杂度远远超出了人类理解的范畴,或者称之为黑盒(机器是否同样不能理解?),当一个机器学习模型泛化性能很好时 ...
- 聊聊 Vue 中 axios 的封装
聊聊 Vue 中 axios 的封装 axios 是 Vue 官方推荐的一个 HTTP 库,用 axios 官方简介来介绍它,就是: Axios 是一个基于 promise 的 HTTP 库,可以用在 ...
- asp.net core 腾讯验证码的接入
asp.net core 腾讯验证码的接入 Intro 之前使用的验证码服务是用的极验验证,而且是比较旧的,好久之前接入的,而且验证码服务依赖 Session,有点不太灵活,后来发现腾讯也有验证码服务 ...