某天,这个蒟蒻在某古灌水区乱逛,突然,我发现一个帖子,大致是讨论如何读取键盘按下的情况的。然后我就有了一个大胆的想法:做一个类似iw的跳刺小游戏
但↓是呢,但↑是呢↑,出现了亿点小小的问题,例如输出刚输出完就cls了,直接跳过了检测键盘按键的步骤,并且不知道怎么解决。还有呢,就是跳跃他根本落不下来,直接原地左脚踩右脚螺旋升天,还有就是根本存不了档,死了直接回老家。
这边代码贴上原始版本,因为打代码到后面就跟个蜂窝一样,啊全是漏洞。这个版本的代码只有提到的第一个bug,求助
我才不说是小猫踩了电源啥也没保存只留下这个破玩意
#include <bits/stdc++.h>
#include <windows.h>
using namespace std;
#define KEYDOWN(VK_NONAME) (GetAsyncKeyState(VK_NONAME) & 0x8000 ? 1: 0)
int lst[10001];
bool keydown(int a){
int k = lst[a];
lst[a] = KEYDOWN(a);
return KEYDOWN(a)&&!k;
}
char a[100][100];
int main(){
int move = 0, x = 4, y = 1;
for (int i = 1; i <= 100; ++i){
a[5][i] = '*';
a[6][i] = '*';
}
a[x][y] = 'U';
while(true){
system("cls");
for (int i = 1; i <= 6; ++i){
for (int j = 1; j <= 100; ++j)
cout << a[i][j];
cout << endl;
}
if (keydown(VK_LEFT) && y > 1) --y;
if (keydown(VK_RIGHT)) ++y;
}
}