![]() |
#2
laigaoat20052011-05-21 11:17
|

int CSnake::keyPress(int key) //按键控制
{
if(up&&key == 72) //return 5只是一种标记,代表此时要发设子弹
return 5 ;
if(down&&key == 80)
return 5 ;
if(left&&key == 75)
return 5 ;
if(right&&key ==77)
return 5 ;
if((up==true)&&(key==115||key==80))
return 6;//反向向下
if((down == true)&&(key == 119||key==72))
return 6;//反向向上
if((right==true)&&(key == 97||key == 75))
return 6;//反向向左
if((left==true)&&(key == 100||key == 77))
return 6;//反向向右
if(key!=224) //根据传入的键值来判断方向
{
if((key == 119||key==72)&&down!=true) //UP
{
up = true ;
down = left = right = false ;
}
if((key == 115||key == 80)&&up!= true) //DOWN
{
down = true ;
right = up = left = false ;
}
if((key == 97||key == 75)&&right !=true) //LEFT
{
left = true ;
right = up = down = false;
}
if((key == 100||key == 77)&&left !=true) //RIGHT
{
right = true ;
left = up = down = false;
}
}
return 0 ;
}
{
if(up&&key == 72) //return 5只是一种标记,代表此时要发设子弹
return 5 ;
if(down&&key == 80)
return 5 ;
if(left&&key == 75)
return 5 ;
if(right&&key ==77)
return 5 ;
if((up==true)&&(key==115||key==80))
return 6;//反向向下
if((down == true)&&(key == 119||key==72))
return 6;//反向向上
if((right==true)&&(key == 97||key == 75))
return 6;//反向向左
if((left==true)&&(key == 100||key == 77))
return 6;//反向向右
if(key!=224) //根据传入的键值来判断方向
{
if((key == 119||key==72)&&down!=true) //UP
{
up = true ;
down = left = right = false ;
}
if((key == 115||key == 80)&&up!= true) //DOWN
{
down = true ;
right = up = left = false ;
}
if((key == 97||key == 75)&&right !=true) //LEFT
{
left = true ;
right = up = down = false;
}
if((key == 100||key == 77)&&left !=true) //RIGHT
{
right = true ;
left = up = down = false;
}
}
return 0 ;
}
“if(key!=224) //根据传入的键值来判断方向”key!=224是什么意思啊我前后看了我的代码,都找不到为什么会出现key=224啊?,想近一步探求的可以email到wszghui@ 我把全部代码发给你