上:跳跃

左右:行走

 #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. 实现一个3D图片轮播插件 —— 更新版

    前言:     前段时间写下了之前那篇 3D图片轮播效果,后来发现了 Pedro Botelho 写的jquery.gallery.js ,于是重新修改了自己的这个图片轮播,使之可以成为一个插件来使用 ...

  2. 软件开发工具(第9章:使用Eclipse进行C/C++开发)

    一.安装MinGW MinGW是指用来生成可执行文件的编译环境,它是开发C/C++项目 的工具集.为了能够使用Eclipse CDT编译且运行C和C++程序,必须 要安装一个C/C++编译器. 下载: ...

  3. gorilla/mux类库解析

    golang自带的http.SeverMux路由实现简单,本质是一个map[string]Handler,是请求路径与该路径对应的处理函数的映射关系.实现简单功能也比较单一: 不支持正则路由, 这个是 ...

  4. (4)一起来看下mybatis框架的缓存原理吧

    本文是作者原创,版权归作者所有.若要转载,请注明出处.本文只贴我觉得比较重要的源码,其他不重要非关键的就不贴了 我们知道.使用缓存可以更快的获取数据,避免频繁直接查询数据库,节省资源. MyBatis ...

  5. TCP三次握手和四次握手全过程 为什么要三次握手而不是二次握手?

    三次握手 第一次握手: 客户端发送syn包(syn=x)到服务器,并进入SYN_SEND状态,等待服务器确认: 第二次握手: 服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送 ...

  6. sublime text2解决中文乱码,支持中文的设置方法

    步骤: 1.安装Sublime Package Control.        在Sublime Text 2上用Ctrl+-打开控制台并在里面输入以下代码,Sublime Text 2就会自动安装P ...

  7. 《深入理解Java虚拟机》-----第12章 Java内存模型与线程

    概述 多任务处理在现代计算机操作系统中几乎已是一项必备的功能了.在许多情况下,让计算机同时去做几件事情,不仅是因为计算机的运算能力强大了,还有一个很重要的原因是计算机的运算速度与它的存储和通信子系统速 ...

  8. Ubuntu 查看已安装软件

    apt list --installed dpkg -l

  9. 白话系列之实现自己简单的mvc式webapi框架

    前言:此文为极简mvc式的api框架,只当做入门api的解析方式,并且这里也不算是mvc框架,因为没有view层,毕竟现在大部分都属于前后端分离,当然也可以提供view层,因为只是将view当做文本返 ...

  10. phpstorm格式设置不同导致的Git代码无法正常比较

    多人开发代码,使用Git作为管理工具,遇到一个问题是 : IDE的格式设置不一样导致的整个文件无法正常的比较. window 和 linux 以及 mac 不同平台的换行符是导致这一个问题比较常见的原 ...