我正在C#上做一個Snake遊戲,但我的鑰匙有一個小故障。我與我的蛇遊戲有一個錯誤
我正在關注在此處找到的確切代碼。 http://codesmesh.com/snake-game-in-c/ 我得到的錯誤是......例如,如果我正在下去,如果我在同一時間正確向上按壓,在那裏我基本按壓在一起,那麼蛇就會上升並走向它自己的身體,自殺。
這是我在我的代碼中的keydown部分。
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
//Space is just to restart the form.
if (e.KeyData == Keys.Space)
{
timer1.Enabled = true;
codesmeshlabel.Text= "";
spaceBarLabel.Text = "";
down = false;
up = false;
left = false;
right = true;
}
if (e.KeyData == Keys.Down && up == false)
{
down = true;
up = false;
right = false;
left = false;
}
if (e.KeyData == Keys.Up && down == false)
{
down = false;
up = true;
right = false;
left = false;
}
if (e.KeyData == Keys.Left && right == false)
{
down = false;
up = false;
right = false;
left = true;
}
if (e.KeyData == Keys.Right && left == false)
{
down = false;
up = false;
right = true;
left = false;
}
}
你可能會想檢查,看看是否對於擠壓方向的逆(在這種情況下向上)不是當前的方向(如果是,則忽略按鍵) –