【长期维护】C++休闲(修仙)躲方块小游戏
左右键控制小球左右移动,上键加速,Esc退出。
一个‘@’20分
- #include <windows.h>
- #include <bits/stdc++.h>
- #include <conio.h>
- using namespace std;
- char mmp[][], putmmp[][];
- int main() {
- system("color 70");
- srand(time(NULL));
- for (register int i = ; i <= ; i++) {
- mmp[i][] = mmp[i][] = mmp[i][] = mmp[i][] = mmp[i][] = ' ';
- if (i % == && i > ) {
- mmp[i][rand() % ] = '#';
- if (i % == ) {
- mmp[i][rand() % ] = '@';
- }
- }
- }
- int j = , x = , score = , delay = ;
- char ch;
- mmp[j][x] = 'O';
- for (register int i = ; i <= ; i++) {
- Sleep(delay);
- if (i == )//500帧后加速(10帧一动)
- delay = ;
- if (i == )//1000帧后加速(10帧一动)
- delay = ;
- if (i == )//1500帧后加速(10帧一动)
- delay = ;
- if (i % == ) {
- j++;
- score++;
- if (mmp[j][x] == '#') {
- system("cls");
- printf("score:%d", score);
- Sleep();
- system("cls");
- printf("again?(Y/N)");
- ch = ;
- while(ch ^ 'Y' && ch ^ 'y') {
- ch = getch();
- if (ch == 'N' || ch == 'n') {
- exit();
- }
- }
- main();
- }
- if (mmp[j][x] == '@')
- score += ;
- mmp[j][x] = 'O';
- system("cls");
- putmmp[][] = '+', putmmp[][] = putmmp[][] = putmmp[][] = putmmp[][] = putmmp[][] = '-', putmmp[][] = '+', putmmp[][] = '\n';
- int p = ;
- for (register int k = j + ; k >= j; k--, p++) {
- putmmp[p][] = '|';
- for (register int l = ; l < ; l++) {
- putmmp[p][l + ] = mmp[k][l];
- }
- putmmp[p][] = '|', putmmp[p][] = '\n';
- }
- putmmp[][x + ] = 'O';
- fwrite(putmmp, , * , stdout);
- puts("|\n+-----+");
- }
- if (kbhit()) {
- ch = getch();
- switch(ch) {
- case :
- exit();
- break;
- case -:
- ch = getch();
- switch(ch) {
- case :
- if (x > ) {
- if (mmp[j][x - ] == '#') {
- system("cls");
- printf("score:%d", j);
- Sleep();
- system("cls");
- printf("again?(Y/N)");
- ch = ;
- while(ch ^ 'Y' && ch ^ 'y') {
- ch = getch();
- if (ch == 'N' || ch == 'n') {
- exit();
- }
- }
- main();
- }
- if (mmp[j][x - ] == '@') {
- score += ;
- }
- mmp[j][x] = ' ';
- x--;
- mmp[j][x] = 'O';
- }
- break;
- case :
- if (x < ) {
- if (mmp[j][x + ] == '#') {
- system("cls");
- printf("score:%d", j);
- Sleep();
- system("cls");
- printf("again?(Y/N)");
- ch = ;
- while(ch ^ 'Y' && ch ^ 'y') {
- ch = getch();
- if (ch == 'N' || ch == 'n') {
- exit();
- }
- }
- main();
- }
- if (mmp[j][x + ] == '@') {
- score += ;
- }
- mmp[j][x] = ' ';
- x++;
- mmp[j][x] = 'O';
- }
- break;
- case :
- j++;
- score++;
- if (mmp[j][x] == '#') {
- system("cls");
- printf("score:%d", j);
- Sleep();
- system("cls");
- printf("again?(Y/N)");
- ch = ;
- while(ch ^ 'Y' && ch ^ 'y') {
- ch = getch();
- if (ch == 'N' || ch == 'n') {
- exit();
- }
- }
- main();
- }
- mmp[j][x] = 'O';
- Sleep();
- system("cls");
- putmmp[][] = '+', putmmp[][] = putmmp[][] = putmmp[][] = putmmp[][] = putmmp[][] = '-', putmmp[][] = '+', putmmp[][] = '\n';
- int p = ;
- for (register int k = j + ; k >= j; k--, p++) {
- putmmp[p][] = '|';
- for (register int l = ; l < ; l++) {
- putmmp[p][l + ] = mmp[k][l];
- }
- putmmp[p][] = '|', putmmp[p][] = '\n';
- }
- putmmp[][x + ] = 'O';
- fwrite(putmmp, , * , stdout);
- puts("|\n+-----+");
- break;
- }
- break;
- }
- mmp[j][x] = 'O';
- system("cls");
- putmmp[][] = '+', putmmp[][] = putmmp[][] = putmmp[][] = putmmp[][] = putmmp[][] = '-', putmmp[][] = '+', putmmp[][] = '\n';
- int p = ;
- for (register int k = j + ; k >= j; k--, p++) {
- putmmp[p][] = '|';
- for (register int l = ; l < ; l++) {
- putmmp[p][l + ] = mmp[k][l];
- }
- putmmp[p][] = '|', putmmp[p][] = '\n';
- }
- putmmp[][x + ] = 'O';
- fwrite(putmmp, , * , stdout);
- puts("|\n+-----+");
- }
- }
- return ;
- }
更新于二〇一九年八月六日(星期二)
#include <windows.h>#include <bits/stdc++.h>#include <conio.h>
using namespace std;
char mmp[10000001][6], putmmp[16][8];
int main() {
system("color 70");srand(time(NULL));
for (register int i = 1; i <= 10000000; i++) {
mmp[i][0] = mmp[i][1] = mmp[i][2] = mmp[i][3] = mmp[i][4] = ' ';
if (i % 3 == 0 && i > 30) {
mmp[i][rand() % 5] = '#';if (i % 20 == 0) {
mmp[i][rand() % 5] = '@';
}
}
}
int j = 1, x = 2, score = 1, delay = 10;char ch;
mmp[j][x] = 'O';
for (register int i = 1; i <= 100000000; i++) {
Sleep(delay);if (i == 500)//500帧后加速(10帧一动)delay = 8;if (i == 1000)//1000帧后加速(10帧一动)delay = 6;if (i == 1500)//1500帧后加速(10帧一动)delay = 4;
if (i % 10 == 0) {
j++;score++;if (mmp[j][x] == '#') {
system("cls");printf("score:%d", score);Sleep(1000);system("cls");printf("again?(Y/N)");ch = 1;while(ch ^ 'Y' && ch ^ 'y') {
ch = getch();if (ch == 'N' || ch == 'n') {
exit(0);
}
}main();
}if (mmp[j][x] == '@')score += 20;mmp[j][x] = 'O';system("cls");putmmp[0][0] = '+', putmmp[0][1] = putmmp[0][2] = putmmp[0][3] = putmmp[0][4] = putmmp[0][5] = '-', putmmp[0][6] = '+', putmmp[0][7] = '\n';int p = 1;for (register int k = j + 15; k >= j; k--, p++) {
putmmp[p][0] = '|';
for (register int l = 0; l < 5; l++) {
putmmp[p][l + 1] = mmp[k][l];
}
putmmp[p][6] = '|', putmmp[p][7] = '\n';
}putmmp[15][x + 1] = 'O';fwrite(putmmp, 1, 18 * 7, stdout);puts("|\n+-----+");
}
if (kbhit()) {
ch = getch();
switch(ch) {
case 27 :
exit(0);
break;
case -32:
ch = getch();
switch(ch) {
case 75 :
if (x > 0) {
if (mmp[j][x - 1] == '#') {
system("cls");printf("score:%d", j);Sleep(1000);system("cls");printf("again?(Y/N)");ch = 1;while(ch ^ 'Y' && ch ^ 'y') {
ch = getch();if (ch == 'N' || ch == 'n') {
exit(0);
}
}main();
}if (mmp[j][x - 1] == '@') {
score += 20;
}mmp[j][x] = ' ';x--;mmp[j][x] = 'O';}
break;
case 77 :
if (x < 4) {
if (mmp[j][x + 1] == '#') {
system("cls");printf("score:%d", j);Sleep(1000);system("cls");printf("again?(Y/N)");ch = 1;while(ch ^ 'Y' && ch ^ 'y') {
ch = getch();if (ch == 'N' || ch == 'n') {
exit(0);
}
}main();
}if (mmp[j][x + 1] == '@') {
score += 20;
}mmp[j][x] = ' ';x++;mmp[j][x] = 'O';}
break;
case 72:
j++;score++;
if (mmp[j][x] == '#') {
system("cls");printf("score:%d", j);Sleep(1000);system("cls");printf("again?(Y/N)");ch = 1;while(ch ^ 'Y' && ch ^ 'y') {
ch = getch();if (ch == 'N' || ch == 'n') {
exit(0);
}
}main();
}
mmp[j][x] = 'O';Sleep(5);system("cls");putmmp[0][0] = '+', putmmp[0][1] = putmmp[0][2] = putmmp[0][3] = putmmp[0][4] = putmmp[0][5] = '-', putmmp[0][6] = '+', putmmp[0][7] = '\n';int p = 1;for (register int k = j + 15; k >= j; k--, p++) {
putmmp[p][0] = '|';
for (register int l = 0; l < 5; l++) {
putmmp[p][l + 1] = mmp[k][l];
}
putmmp[p][6] = '|', putmmp[p][7] = '\n';
}putmmp[15][x + 1] = 'O';fwrite(putmmp, 1, 18 * 7, stdout);puts("|\n+-----+");
break;
}
break;
}
mmp[j][x] = 'O';system("cls");putmmp[0][0] = '+', putmmp[0][1] = putmmp[0][2] = putmmp[0][3] = putmmp[0][4] = putmmp[0][5] = '-', putmmp[0][6] = '+', putmmp[0][7] = '\n';int p = 1;for (register int k = j + 15; k >= j; k--, p++) {
putmmp[p][0] = '|';
for (register int l = 0; l < 5; l++) {
putmmp[p][l + 1] = mmp[k][l];
}
putmmp[p][6] = '|', putmmp[p][7] = '\n';
}putmmp[15][x + 1] = 'O';fwrite(putmmp, 1, 18 * 7, stdout);puts("|\n+-----+");
}
}
return 0;
}
【长期维护】C++休闲(修仙)躲方块小游戏的更多相关文章
- Java---俄罗斯方块小游戏
去年就已经学了这个技术了,一直没去写,现在抽个时间写了个俄罗斯方块游戏. 只有简单的新游戏,暂停,继续,积分功能.简单的实现了俄罗斯的经典功能. 不介绍了,有兴趣的自己运行一下,后面贴出了图片. 代码 ...
- keras 修仙笔记一
对于牛逼的程序员,人家都喜欢叫他大神:因为大神很牛逼,人家需要一个小时完成的技术问题,他就20分钟就搞定.Keras框架是一个高度集成的框架,学好它,就犹如掌握一个法宝,可以呼风唤雨.所以学keras ...
- oo修仙之路
写在前面: 之前听说过oo这门课的威力,计院全体修仙现场的图也被转了不知多少遍,然而自己不亲身经历就不知这门课的难度所在.每次debug时耳边总会想起三国杀里面周瑜的话"挣扎吧,在血和暗的深 ...
- 程序猿修仙之路--数据结构之你是否真的懂数组? c#socket TCP同步网络通信 用lambda表达式树替代反射 ASP.NET MVC如何做一个简单的非法登录拦截
程序猿修仙之路--数据结构之你是否真的懂数组? 数据结构 但凡IT江湖侠士,算法与数据结构为必修之课.早有前辈已经明确指出:程序=算法+数据结构 .要想在之后的江湖历练中通关,数据结构必不可少. ...
- LazyCoder修仙之路
本人不才,没有高文凭,茹果本人的修仙[开发]之路能 ,走的很远,后来的人能看的上我 作品,有不足,和不对,帮帮我完善和理解.这也是我 学习笔记把!
- 运维(SA)修仙 之路
运维(SA)修仙 之路: 大纲: 系统 ,网络 ,数据库,开发 系统 :linux(cent OS && ubuntu) 网络 :路由,防火墙,安全 数据库:mysql, mong ...
- 《带你装B,带你飞》pytest修仙之路3 - setup/teardown
1. 简介 学过unittest的都知道里面用前置和后置setup和teardown非常好用,在每次用例开始前和结束后都去执行一次.当然还有更高级一点的setupClass和teardownClass ...
- 《带你装B,带你飞》pytest修仙之路5 - yield操作
1. 简介 上一篇中,我们刚刚实现了在每个用例之前执行初始化操作,那么用例执行完之后如需要清除数据(或还原)操作,可以使用 yield 来实现.fixture通过scope参数控制setup级别,既然 ...
- 从零搭建Golang开发环境--go修仙序章
1. 什么是go语言 Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态 .强类型.编译型语言 .Go 语 ...
随机推荐
- python语言程序设计基础(嵩天)第二章课后习题
p56: *2.1 实例1的修改.改造实例代码1.1,采用eval(input(<提示内容>))替换现有输入部分,并使输出的温度值为整数. 源代码: TempStr=input(" ...
- python编程基础之二十
字符串的其他常用方法: ord(char) # 返回char字符对应的码值,可以是中文字符 chr(x) # 输入一个unicode码,返回对应的字符 eval(str) # 将str 中的内容 ...
- Java源码解析|HashMap的前世今生
HashMap的前世今生 Java8在Java7的基础上,做了一些改进和优化. 底层数据结构和实现方法上,HashMap几乎重写了一套 所有的集合都新增了函数式的方法,比如说forEach,也新增了很 ...
- 移动端网页常用meta
今天在对前公司的某直播室前端进行改版时,整理了一下平时移动端页面开发时,最常用的meta.如下: <!--定义页面制作者,可以留姓名,也可以留联系方式--> <meta name=& ...
- 安装VMworkstation和Centos虚拟机
1.安装VMware workstation. 2.下一步. 3.可以选择安装位置,下面选项不选. 4.这两个选项不需要选. 5.下一步 6.安装 7. 8.点击许可证输入密钥,密钥在网上搜,然后就完 ...
- 利用pyecharts将数据可视化
可视化展示在数据分析领域中是一个至关重要的点,好的可视化展示对我们的结果分析有更好的支持作用. 一.问题 在数据分析的时代里面我们需要将数据的可视化展现出来,更加方便用户的观察.如下图 有些时候我们需 ...
- C# 添加、读取、删除Excel文档属性
在文档属性中,可以设置诸多关于文档的信息,如创建时间.作者.单位.类别.关键词.备注等摘要信息以及一些自定义的文档属性.下面将通过C#程序来演示如何设置,同时对文档内的已有信息,也可以实现读取或删除等 ...
- 素数与Miller-Rabin测试
素数及其性质 素数又称质数.指整数在一个大于 111 的自然数中,除了 111 和此整数自身外,没法被其他自然数整除的数. 性质1 有无穷多个素数. 证明: 用反证法.设已知的最大素数为 PPP,考虑 ...
- MyBatis 开发手册
这一遍看Mybatis的原因是怀念一下去年的 10月24号我写自己第一个项目时使用全配置文件版本的MyBatis,那时我们三个人刚刚大二,说实话,当时还是觉得MyBatis挺难玩的,但是今年再看最新版 ...
- React+Antd+Antd-Img-Crop实现上传固定大小的裁剪头像或者图片(且可控制图片数量)
见章知著 1024,程序员们节日快乐!本文主要讲述react配合antd以及react-img-crop第三方库实现一个可控的图片上传功能. 运行项目 需要具有node环境 第三方库安装 1.antd ...