求问利用easyx写生命扣除的相关代码或思想
visualstudio吧
全部回复
仅看楼主
level 1
Xppyun 楼主
if (msg.message== WM_KEYDOWN) {
int hit = 0;
char key_char = toupper(msg.vkcode);
for (i = 0; i < APPLE_NUM; i++) {
if (key_char == apple[lbk]i[rbk].letter) {
score++;
apple[lbk]i[rbk].letter = rand() % 26 + 'A';
apple[lbk]i[rbk].x = rand() % 1200;
Is_Overlap(i, rw);
No_Overlap(i, rw);
apple[lbk]i[rbk].y = 0;
hit = 1;
break;
}
}
if(!hit&&msg.vkcode>='A'&&msg.vkcode<='Z'){
keyboard[lbk]msg.vkcode[rbk]=1;
}
}else if(msg.message== WM_KEYUP){
if (keyboard[lbk]msg.vkcode[rbk] == 1 && msg.message>= 'A' && msg.message<= 'Z') {
health--;
keyboard[lbk]msg.vkcode[rbk] = 0;
}
}这是关键位置,在一个while(1)中,我运行时发生了即使按对了按键也会导致生命扣除,如何解决
(这代码是实现打出屏幕中出现的字母则加分,否则扣生命)
2025年12月18日 00点12分 1
1