左右键控制小球左右移动,上键加速,Esc退出。

一个‘@’20分

  1. #include <windows.h>
  2. #include <bits/stdc++.h>
  3. #include <conio.h>
  4.  
  5. using namespace std;
  6.  
  7. char mmp[][], putmmp[][];
  8.  
  9. int main() {
  10.  
  11. system("color 70");
  12. srand(time(NULL));
  13.  
  14. for (register int i = ; i <= ; i++) {
  15.  
  16. mmp[i][] = mmp[i][] = mmp[i][] = mmp[i][] = mmp[i][] = ' ';
  17.  
  18. if (i % == && i > ) {
  19.  
  20. mmp[i][rand() % ] = '#';
  21. if (i % == ) {
  22.  
  23. mmp[i][rand() % ] = '@';
  24.  
  25. }
  26.  
  27. }
  28.  
  29. }
  30.  
  31. int j = , x = , score = , delay = ;
  32. char ch;
  33.  
  34. mmp[j][x] = 'O';
  35.  
  36. for (register int i = ; i <= ; i++) {
  37.  
  38. Sleep(delay);
  39. if (i == )//500帧后加速(10帧一动)
  40. delay = ;
  41. if (i == )//1000帧后加速(10帧一动)
  42. delay = ;
  43. if (i == )//1500帧后加速(10帧一动)
  44. delay = ;
  45.  
  46. if (i % == ) {
  47.  
  48. j++;
  49. score++;
  50. if (mmp[j][x] == '#') {
  51.  
  52. system("cls");
  53. printf("score:%d", score);
  54. Sleep();
  55. system("cls");
  56. printf("again?(Y/N)");
  57. ch = ;
  58. while(ch ^ 'Y' && ch ^ 'y') {
  59.  
  60. ch = getch();
  61. if (ch == 'N' || ch == 'n') {
  62.  
  63. exit();
  64.  
  65. }
  66.  
  67. }
  68. main();
  69.  
  70. }
  71. if (mmp[j][x] == '@')
  72. score += ;
  73. mmp[j][x] = 'O';
  74. system("cls");
  75. putmmp[][] = '+', putmmp[][] = putmmp[][] = putmmp[][] = putmmp[][] = putmmp[][] = '-', putmmp[][] = '+', putmmp[][] = '\n';
  76. int p = ;
  77. for (register int k = j + ; k >= j; k--, p++) {
  78.  
  79. putmmp[p][] = '|';
  80.  
  81. for (register int l = ; l < ; l++) {
  82.  
  83. putmmp[p][l + ] = mmp[k][l];
  84.  
  85. }
  86.  
  87. putmmp[p][] = '|', putmmp[p][] = '\n';
  88.  
  89. }
  90. putmmp[][x + ] = 'O';
  91. fwrite(putmmp, , * , stdout);
  92. puts("|\n+-----+");
  93.  
  94. }
  95.  
  96. if (kbhit()) {
  97.  
  98. ch = getch();
  99.  
  100. switch(ch) {
  101.  
  102. case :
  103.  
  104. exit();
  105.  
  106. break;
  107.  
  108. case -:
  109.  
  110. ch = getch();
  111.  
  112. switch(ch) {
  113.  
  114. case :
  115.  
  116. if (x > ) {
  117.  
  118. if (mmp[j][x - ] == '#') {
  119.  
  120. system("cls");
  121. printf("score:%d", j);
  122. Sleep();
  123. system("cls");
  124. printf("again?(Y/N)");
  125. ch = ;
  126. while(ch ^ 'Y' && ch ^ 'y') {
  127.  
  128. ch = getch();
  129. if (ch == 'N' || ch == 'n') {
  130.  
  131. exit();
  132.  
  133. }
  134.  
  135. }
  136. main();
  137.  
  138. }
  139. if (mmp[j][x - ] == '@') {
  140.  
  141. score += ;
  142.  
  143. }
  144. mmp[j][x] = ' ';
  145. x--;
  146. mmp[j][x] = 'O';
  147. }
  148.  
  149. break;
  150.  
  151. case :
  152.  
  153. if (x < ) {
  154.  
  155. if (mmp[j][x + ] == '#') {
  156.  
  157. system("cls");
  158. printf("score:%d", j);
  159. Sleep();
  160. system("cls");
  161. printf("again?(Y/N)");
  162. ch = ;
  163. while(ch ^ 'Y' && ch ^ 'y') {
  164.  
  165. ch = getch();
  166. if (ch == 'N' || ch == 'n') {
  167.  
  168. exit();
  169.  
  170. }
  171.  
  172. }
  173. main();
  174.  
  175. }
  176. if (mmp[j][x + ] == '@') {
  177.  
  178. score += ;
  179.  
  180. }
  181. mmp[j][x] = ' ';
  182. x++;
  183. mmp[j][x] = 'O';
  184. }
  185.  
  186. break;
  187.  
  188. case :
  189.  
  190. j++;
  191. score++;
  192.  
  193. if (mmp[j][x] == '#') {
  194.  
  195. system("cls");
  196. printf("score:%d", j);
  197. Sleep();
  198. system("cls");
  199. printf("again?(Y/N)");
  200. ch = ;
  201. while(ch ^ 'Y' && ch ^ 'y') {
  202.  
  203. ch = getch();
  204. if (ch == 'N' || ch == 'n') {
  205.  
  206. exit();
  207.  
  208. }
  209.  
  210. }
  211. main();
  212.  
  213. }
  214.  
  215. mmp[j][x] = 'O';
  216. Sleep();
  217. system("cls");
  218. putmmp[][] = '+', putmmp[][] = putmmp[][] = putmmp[][] = putmmp[][] = putmmp[][] = '-', putmmp[][] = '+', putmmp[][] = '\n';
  219. int p = ;
  220. for (register int k = j + ; k >= j; k--, p++) {
  221.  
  222. putmmp[p][] = '|';
  223.  
  224. for (register int l = ; l < ; l++) {
  225.  
  226. putmmp[p][l + ] = mmp[k][l];
  227.  
  228. }
  229.  
  230. putmmp[p][] = '|', putmmp[p][] = '\n';
  231.  
  232. }
  233. putmmp[][x + ] = 'O';
  234. fwrite(putmmp, , * , stdout);
  235. puts("|\n+-----+");
  236.  
  237. break;
  238.  
  239. }
  240.  
  241. break;
  242.  
  243. }
  244.  
  245. mmp[j][x] = 'O';
  246. system("cls");
  247. putmmp[][] = '+', putmmp[][] = putmmp[][] = putmmp[][] = putmmp[][] = putmmp[][] = '-', putmmp[][] = '+', putmmp[][] = '\n';
  248. int p = ;
  249. for (register int k = j + ; k >= j; k--, p++) {
  250.  
  251. putmmp[p][] = '|';
  252.  
  253. for (register int l = ; l < ; l++) {
  254.  
  255. putmmp[p][l + ] = mmp[k][l];
  256.  
  257. }
  258.  
  259. putmmp[p][] = '|', putmmp[p][] = '\n';
  260.  
  261. }
  262. putmmp[][x + ] = 'O';
  263. fwrite(putmmp, , * , stdout);
  264. puts("|\n+-----+");
  265.  
  266. }
  267.  
  268. }
  269.  
  270. return ;
  271.  
  272. }

更新于二〇一九年八月六日(星期二)

#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++休闲(修仙)躲方块小游戏的更多相关文章

  1. Java---俄罗斯方块小游戏

    去年就已经学了这个技术了,一直没去写,现在抽个时间写了个俄罗斯方块游戏. 只有简单的新游戏,暂停,继续,积分功能.简单的实现了俄罗斯的经典功能. 不介绍了,有兴趣的自己运行一下,后面贴出了图片. 代码 ...

  2. keras 修仙笔记一

    对于牛逼的程序员,人家都喜欢叫他大神:因为大神很牛逼,人家需要一个小时完成的技术问题,他就20分钟就搞定.Keras框架是一个高度集成的框架,学好它,就犹如掌握一个法宝,可以呼风唤雨.所以学keras ...

  3. oo修仙之路

    写在前面: 之前听说过oo这门课的威力,计院全体修仙现场的图也被转了不知多少遍,然而自己不亲身经历就不知这门课的难度所在.每次debug时耳边总会想起三国杀里面周瑜的话"挣扎吧,在血和暗的深 ...

  4. 程序猿修仙之路--数据结构之你是否真的懂数组? c#socket TCP同步网络通信 用lambda表达式树替代反射 ASP.NET MVC如何做一个简单的非法登录拦截

    程序猿修仙之路--数据结构之你是否真的懂数组?   数据结构 但凡IT江湖侠士,算法与数据结构为必修之课.早有前辈已经明确指出:程序=算法+数据结构  .要想在之后的江湖历练中通关,数据结构必不可少. ...

  5. LazyCoder修仙之路

    本人不才,没有高文凭,茹果本人的修仙[开发]之路能 ,走的很远,后来的人能看的上我 作品,有不足,和不对,帮帮我完善和理解.这也是我 学习笔记把!

  6. 运维(SA)修仙 之路

    运维(SA)修仙 之路: 大纲: 系统 ,网络 ,数据库,开发 系统 :linux(cent OS && ubuntu)  网络 :路由,防火墙,安全  数据库:mysql, mong ...

  7. 《带你装B,带你飞》pytest修仙之路3 - setup/teardown

    1. 简介 学过unittest的都知道里面用前置和后置setup和teardown非常好用,在每次用例开始前和结束后都去执行一次.当然还有更高级一点的setupClass和teardownClass ...

  8. 《带你装B,带你飞》pytest修仙之路5 - yield操作

    1. 简介 上一篇中,我们刚刚实现了在每个用例之前执行初始化操作,那么用例执行完之后如需要清除数据(或还原)操作,可以使用 yield 来实现.fixture通过scope参数控制setup级别,既然 ...

  9. 从零搭建Golang开发环境--go修仙序章

    1. 什么是go语言 Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态 .强类型.编译型语言 .Go 语 ...

随机推荐

  1. python语言程序设计基础(嵩天)第二章课后习题

    p56: *2.1 实例1的修改.改造实例代码1.1,采用eval(input(<提示内容>))替换现有输入部分,并使输出的温度值为整数. 源代码: TempStr=input(" ...

  2. python编程基础之二十

    字符串的其他常用方法: ord(char)  # 返回char字符对应的码值,可以是中文字符 chr(x)  # 输入一个unicode码,返回对应的字符 eval(str)  # 将str 中的内容 ...

  3. Java源码解析|HashMap的前世今生

    HashMap的前世今生 Java8在Java7的基础上,做了一些改进和优化. 底层数据结构和实现方法上,HashMap几乎重写了一套 所有的集合都新增了函数式的方法,比如说forEach,也新增了很 ...

  4. 移动端网页常用meta

    今天在对前公司的某直播室前端进行改版时,整理了一下平时移动端页面开发时,最常用的meta.如下: <!--定义页面制作者,可以留姓名,也可以留联系方式--> <meta name=& ...

  5. 安装VMworkstation和Centos虚拟机

    1.安装VMware workstation. 2.下一步. 3.可以选择安装位置,下面选项不选. 4.这两个选项不需要选. 5.下一步 6.安装 7. 8.点击许可证输入密钥,密钥在网上搜,然后就完 ...

  6. 利用pyecharts将数据可视化

    可视化展示在数据分析领域中是一个至关重要的点,好的可视化展示对我们的结果分析有更好的支持作用. 一.问题 在数据分析的时代里面我们需要将数据的可视化展现出来,更加方便用户的观察.如下图 有些时候我们需 ...

  7. C# 添加、读取、删除Excel文档属性

    在文档属性中,可以设置诸多关于文档的信息,如创建时间.作者.单位.类别.关键词.备注等摘要信息以及一些自定义的文档属性.下面将通过C#程序来演示如何设置,同时对文档内的已有信息,也可以实现读取或删除等 ...

  8. 素数与Miller-Rabin测试

    素数及其性质 素数又称质数.指整数在一个大于 111 的自然数中,除了 111 和此整数自身外,没法被其他自然数整除的数. 性质1 有无穷多个素数. 证明: 用反证法.设已知的最大素数为 PPP,考虑 ...

  9. MyBatis 开发手册

    这一遍看Mybatis的原因是怀念一下去年的 10月24号我写自己第一个项目时使用全配置文件版本的MyBatis,那时我们三个人刚刚大二,说实话,当时还是觉得MyBatis挺难玩的,但是今年再看最新版 ...

  10. React+Antd+Antd-Img-Crop实现上传固定大小的裁剪头像或者图片(且可控制图片数量)

    见章知著 1024,程序员们节日快乐!本文主要讲述react配合antd以及react-img-crop第三方库实现一个可控的图片上传功能. 运行项目 需要具有node环境 第三方库安装 1.antd ...