簡易音游底力練習(xí)器 Version:4.1.1
/*
第一次修改優(yōu)化了隨機(jī)數(shù),代碼見 https://www.bilibili.com/read/cv11974105
第二次修改修復(fù)了輸出錯誤,代碼已刪除。
第三次修改做到了下落式,代碼已刪除。
第四次修改修復(fù)了刷新屏幕時閃爍以及時間和規(guī)定時間內(nèi)擊中數(shù)量顯示不正確的Bug。
Version4.1修復(fù)了4號位空白問題
Version5目前屬于測試版
Version4.1.1 大量雙押等你挑戰(zhàn)!
類似于別踩白塊禪模式,20秒電腦版。
推薦編譯器(編輯器):Dev-C++(下載頁面:https://lanzoux.com/imXG3gpfjej)
Dev-C++備用下載頁面: https://lanzoui.com/imXG3gpfjej
Dev-C++適用于Windows7-64Bit以上。若您是XP系統(tǒng)請使用VC6.0以上。
*/
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#include <windows.h>
#include <thread>
using namespace std;
char c;
void gotoxy(short x, short y) {
COORD pos = {x, y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
}
int main() {
cout << "請按照屏幕上的字符\"這\"按下鍵盤按鍵(1:D,2:f,3:J,4:K)\n按任意鍵開始游戲\n";
getch();
system("cls");
int d = 0;
time_t start = time(0);
srand(time(0));
int Miss = 0, Tap = 0, b[8], j[8];
for (int i = 1; i <= 7; i++) {
b[i] = rand() % 4;
j[i] = rand() % 4;
}
char a[4] = {'d', 'f', 'j', 'k'}, k;
while (time(0) - start <= 20) {
for (int i = 1; i <= 7; i++) {
if (b[i] == 0 && j[i] == 0)
cout << "這 × × ×\n";
else if (b[i] == 0 && j[i] == 1)
cout << "這 這 × ×\n";
else if (b[i] == 0 && j[i] == 2)
cout << "這 × 這 ×\n";
else if (b[i] == 0 && j[i] == 3)
cout << "這 × × 這\n";
else if (b[i] == 1 && j[i] == 0)
cout << "這 這 × ×\n";
else if (b[i] == 1 && j[i] == 1)
cout << "× 這 × ×\n";
else if (b[i] == 1 && j[i] == 2)
cout << "× 這 這 ×\n";
else if (b[i] == 1 && j[i] == 3)
cout << "× 這 × 這\n";
else if (b[i] == 2 && j[i] == 0)
cout << "這 × 這 ×\n";
else if (b[i] == 2 && j[i] == 1)
cout << "× 這 這 ×\n";
else if (b[i] == 2 && j[i] == 2)
cout << "× × 這 ×\n";
else if (b[i] == 2 && j[i] == 3)
cout << "× × 這 這\n";
else if (b[i] == 3 && j[i] == 0)
cout << "這 × × 這\n";
else if (b[i] == 3 && j[i] == 1)
cout << "× 這 × 這\n";
else if (b[i] == 3 && j[i] == 2)
cout << "× × 這 這\n";
else if (b[i] == 3 && j[i] == 3)
cout << "× × × 這\n";
}
if (b[7] != j[7]) {
k = getch();
c = getch();
} else {
c = getch();
k = c;
}
if ((c == a[b[7]] || k == a[b[7]]) && (c == a[j[7]] || k == a[j[7]])) {
Tap++;
b[7] = b[6];
b[6] = b[5];
b[5] = b[4];
b[4] = b[3];
b[3] = b[2];
b[2] = b[1];
b[1] = rand() % 4;
j[7] = j[6];
j[6] = j[5];
j[5] = j[4];
j[4] = j[3];
j[3] = j[2];
j[2] = j[1];
j[1] = rand() % 4;
gotoxy(0, 0);
} else {
d = time(0) - start;
system("cls");
break;
}
gotoxy(0, 0);
}
system("cls");
if (d == 0) {
cout << "擊中:" << Tap - 1 << " 耗時約20\"";
} else {
cout << "您擊錯了。\n擊中:" << Tap << " 耗時約" << d << '\"';
}
getch();
getch();
}