上:跳跃

左右:行走

 #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++小黑框版的更多相关文章

  1. 123457123457#0#-----com.threeapp.renzhepaoku01----儿童跑酷游戏(忍者版)

    com.threeapp.renzhepaoku01----儿童跑酷游戏(忍者版)

  2. 天堂Lineage(單機版)從零開始架設教學 Installing Lineage 3.52 Server - On Windows

      1. [下載原始碼] Using RapidSVN 用checkout      http://l1j-tw-99nets.googlecode.com/svn/trunk/L1J-TW_3.50 ...

  3. tomcat的stratup小黑框名字修改

    Tomcat的bin目录下:catalina.out文件, TITLE就是Tomcat startup窗口的名称,282行默认是:Tomcat.这里建议改成“服务名+端口号”的方式,看起来一目了然.因 ...

  4. Visual Studio 2019/2017 安装使用教程(快速上手版)

    目录 Visual Studio 2017 安装使用教程(详细) 在此鸣谢范华对本文工作的大力支持 一.下载 二.安装 2017版本新建项目过程 2019版本新建项目过程 然后你就可以简单编写一段代码 ...

  5. [转][darkbaby]任天堂传——失落的泰坦王朝(中)

    TV游戏产业历史上曾有过太多表里不一的外交辞令,然而当年SQUARE和任天堂分道扬镳的真正原因确实如坂口博信在1996年2月29日的PS版 <FFVII>发表会上宣称的那样:“虽然之前有过 ...

  6. while循环,格式化输出%,运算符,数据类型的转换,编码的初识,

    1.内容总览 while循环 格式化输出 运算符 and or not 编码的初识 2. 具体内容 while 循环 where:程序中:你需要重复之前的动作,输入用户名密码时,考虑到while循环. ...

  7. Python2x,3x源码的区别,编译型解释型,变量,注释,if,用户交互input,基本数据类型3种

    cpu 内存 硬盘 操作系统 ​ cpu: 计算机的运算和计算中心,相当于人类的大脑. ​ 内存:暂时存储数据,临时加载数据应用程序,4G,8G,16G,32G #速度快,造价高,断电即消失 ​ 硬盘 ...

  8. 从Webpack源码探究打包流程,萌新也能看懂~

    简介 上一篇讲述了如何理解tapable这个钩子机制,因为这个是webpack程序的灵魂.虽然钩子机制很灵活,而然却变成了我们读懂webpack道路上的阻碍.每当webpack运行起来的时候,我的心态 ...

  9. Linux 电子数据取证入门

    目录 Linux Basic Analysis 一.常见的Linux 发行版 二.Linux 系统的典型目录结构(Dir Structure) 三.Linux 系统重要文件夹与文件的内容 四.Linu ...

随机推荐

  1. mui中判断是点击还是滑动

    判断和滑动是两种触发方式 滑动分为四种,上下左右(swipeup,swipedown,swipeleft,swiperight) 点击分为两种,点击和双击,一般用单机(tap) 根据自己不同的需求进行 ...

  2. 多线程基础(主要内容转载于https://segmentfault.com/a/1190000014428190)

    进程作为资源分配的基本单位 线程作为资源调度的基本单位,是程序的执行单元,执行路径(单线程:一条执行路径,多线程:多条执行路径).是程序使用CPU的最基本单位. 线程有3个基本状态: 执行.就绪.阻塞 ...

  3. [Python] Python 学习记录(1)

    1.概论 弱类型 一个变量能被赋值时能与原类型不同 x = 1 x = "1"  #不加分号,给x赋值为int后再次赋值为string是可行的 与或非 and or not /  ...

  4. Windows10 1903错误0xc0000135解决方案

    Windows10 1903错误0xc0000135解决方案 === windows10 1903是2019年Mircosoft推出的最新版windows操作系统,但是有很多机器装上之后会存在不支持. ...

  5. 02 Pycharm的安装

    一.初试 在官网http://www.jetbrains.com/pycharm安装最新版本的pycharm软件,版本为 2019.2.3,根据网上教程发现安装不了,现在貌似还没破解,退而安装 201 ...

  6. CSS实现带箭头的提示框

    我们在很多UI框架中看到带箭头的提示框,感觉挺漂亮,但是之前一直不知道其原理,今天网上找了些资料算是弄清楚原理了: 先上效果图: 原理分析: 上面的箭头有没有觉得很像一个三角形,是的,它就是三角形:只 ...

  7. 02-25 scikit-learn库之决策树

    目录 scikit-learn库之决策树 一.DecisionTreeClassifier 1.1 使用场景 1.2 代码 1.3 参数详解 1.4 属性 1.5 方法 二.DecisionTreeR ...

  8. UWP开发入门(二十四)—— Win10风格的打印对话框

    虽然经常看到阿迪王发“看那个开发UWP的又上吊了”的图……还是忍不住重启一下这个系列.最近有用到UWP的print API,特地来写一篇给某软的这个伟大构想续一秒. 之前的打印对话框差不多长成这样: ...

  9. 【DP合集】m-knapsack

    给出 n 个物品,第 i 个物品有重量 w i .现在有 m 个背包,第 i 个背包的限重为 c i ,求最少用几个背 包能装下所有的物品. Input 输入的第一行两个整数 n, m ( n ≤ 2 ...

  10. MyEclipse注册代码

    package test;    import java.io.BufferedReader;  import java.io.IOException;  import java.io.InputSt ...