左右键控制小球左右移动,上键加速,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++休闲(修仙)躲方块小游戏的更多相关文章

  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. [Note] Clipboard.js 使用

    clipboard.js是一个用来设置剪切板的库,小巧无依赖,但用法有点诡异,必须依赖一个DOM元素 据作者说,由于浏览器相关安全策略的缘故,无法使用下面这种方式来设置剪切板 clipboard.co ...

  2. C# 读取控制台的Console.Write

    一个程序去调用另一个xxx.exe的时候,需要记录下这个exe里面的console.write的输出 public static string InvokeExcute(string Command) ...

  3. 利用npm安装/删除/查看包信息

    查看远程服务器上的包的版本信息 npm view webpack version //查看npm服务器上包webpack的最新版本 npm view webpack versions //查看服务器上 ...

  4. python编程基础之三十八

    正则表达式:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑. 需要引入内置模块r ...

  5. Linux 命令之 chmod

    命令格式 chmod有以下三种格式 chmod [-cfvR] MODE[,MODE]... FILE... chmod [-cfvR] OCTAL-MODE FILE... chmod [-cfvR ...

  6. C语言-查找一个元素在数组中的位置

    #include<stdio.h> #include <stdlib.h> #include <time.h> int search(int key, int a[ ...

  7. 线程封闭之栈封闭和ThreadLocal

    线程封闭 在多线程的环境中,我们经常使用锁来保证线程的安全,但是对于每个线程都要用的资源使用锁的话那么程序执行的效率就会受到影响,这个时候可以把这些资源变成线程封闭的形式. 1.栈封闭 所谓的栈封闭其 ...

  8. PHP array_unshift

    1.函数的作用:在数组的开头插入一个或者多个元素 2.函数的参数: @params  array  &$array @params  mixed $value1 @params  mixed ...

  9. 解决seajs ie8 对象不支持charAt 属性。

    在使用 seajs做项目,今天偶然发现在ie9以下的ie版本会 报出 对象不支持charAt 属性.刚开始还以为是自己写的js部分出了问题,经过几个小时的奋战.最终找到了其根源.在sea-debug. ...

  10. 《FFT家族—从不会到崩溃(坑)》读blog笔记

    免责声明 原文地址https://blog.csdn.net/linjiayang2016/article/details/80341958,作者linjiayang2016.\text{linjia ...