void CtetrisDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
switch (nChar)
{
case 'w':
case 'W':
case VK_UP:
break;
case 's':
case 'S':
case VK_DOWN:
if(CheckMove('d'))
{
for(int i= 0;i<4;i++)
board[tempboard[i].row][tempboard[i].col] = 0;
for(int i = 0;i<4;i++)
{
tempboard[i].row += 1;
board[tempboard[i].row][tempboard[i].col] = 1;
}
ReDraw();
}
else{
for(int i=0;i<4;i++)
{
if(high > tempboard[i].row)
high = tempboard[i].row;
BOARD[tempboard[i].row][tempboard[i].col] = 1;
board[tempboard[i].row][tempboard[i].col] = 0;
}
CheckScore();
CheckGameover();
ResetTempboard();
}
break;
case 'a':
case 'A':
case VK_LEFT:
if(CheckMove('l'))
{
for(int i=0;i<4;i++)
board[tempboard[i].row][tempboard[i].col] = 0;
for(int i=0;i<4;i++)
{
tempboard[i].col -= 1;
board[tempboard[i].row][tempboard[i].col] = 1;
}
ReDraw();
}
break;
case 'd':
case 'D':
case VK_RIGHT:
if(CheckMove('r'))
{
for(int i=0;i<4;i++)
board[tempboard[i].row][tempboard[i].col] = 0;
for(int i=0;i<4;i++)
{
tempboard[i].col += 1;
board[tempboard[i].row][tempboard[i].col] = 1;
}
ReDraw();
}
break;
}用MFC做俄罗斯方块游戏,
新建一个对话框,去掉默认的确定和取消两个按钮。
……当对话框上什么都没有的时候,按下键盘上的'a','s','d','w'能够处理触发的消息,但按四个方向键时,却没有反应;如果在对放框上加上一个静态文本框或编辑框时,无论按键盘上的哪一个键都没有反应。请大哥大姐帮帮小弟?急!!