跑酷天堂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 ...
随机推荐
- abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理三 (二十一)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...
- 并发编程的模型分类(转载于https://link.zhihu.com/?target=http%3A//www.54tianzhisheng.cn/2018/02/28/Java-Memory-Model/)强烈推荐!
在并发编程需要处理的两个关键问题是:线程之间如何通信 和 线程之间如何同步. 通信 通信 是指线程之间以何种机制来交换信息.在命令式编程中,线程之间的通信机制有两种:共享内存 和 消息传递. 在共享内 ...
- 引入外部js
引入外部js应该使用完整标签<script></script>,而使用单标签<script src=“”/>是错误的
- WebGL简易教程(十一):纹理
目录 1. 概述 2. 实例 2.1. 准备纹理 2.2. 配置纹理 2.3. 使用纹理 3. 结果 4. 参考 1. 概述 在之前的之前的教程<WebGL简易教程(九):综合实例:地形的绘制& ...
- python编程基础之九
原码, 反码, 补码原码,即用二进制表示正数: 原码 == 反码 == 补码负数: 反码: 原码除符号位之外全部取反 补码: 反码 + 1 位运算:运算符 作用 & 按位与 | 按位或 ^ 按 ...
- .bash_profile does not exist
localhost:test jerry$ open .bash_profile The file /Users/je/Desktop/test/.bash_profile does not exis ...
- Android OkHttp + Retrofit 下载文件与进度监听
本文链接 下载文件是一个比较常见的需求.给定一个url,我们可以使用URLConnection下载文件. 使用OkHttp也可以通过流来下载文件. 给OkHttp中添加拦截器,即可实现下载进度的监听功 ...
- 手把手教你吧Python应用到实际开发 不再空谈悟法☝☝☝
手把手教你吧Python应用到实际开发 不再空谈悟法☝☝☝ 想用python做机器学习吗,是不是在为从哪开始挠头?这里我假定你是新手,这篇文章里咱们一起用Python完成第一个机器学习项目.我会手把手 ...
- SpringBoot项目配置Tomcat和JVM参数
设置Tomcat端口号和连接数等 使用application.properties配置文件有一些参数无法设置,所以推荐创建一个类文件来配置,如下: package com.qipai.springbe ...
- SpringBootSecurity学习(26)前后端分离版之github单点登录
单点登录(SSO) 关于oauth2.0,最后我们再来学习一下单点登录.前面介绍过单点登录的定义,单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一. ...