В настоящее время я делаю игру Snake в JGrasp только с использованием стандартного движения Draw и статических методов для создания этой игры, пока это код, который я имею, потому что я только начал вчера. Но в настоящее время я застрял в том, как сделать движения змей, чтобы они могли быть только вверх и вниз и вниз в сторону и для постоянного движения. На данный момент у меня есть то, что клавиши со стрелками перемещают змею, но она все еще может двигаться по диагонали и не постоянно < /p>
import java.awt.event.KeyEvent;
public class snake
{
static double squareX = .5;
static double squareY = .5;
static double squareR = .02;
public static void drawScene()
{
StdDraw.clear();
StdDraw.filledSquare(squareX, squareY, squareR);
StdDraw.show(1000/24);
}
public static void updateMotion()
{
if (StdDraw.isKeyPressed(KeyEvent.VK_UP))
{
squareY += .01;
}
if (StdDraw.isKeyPressed(KeyEvent.VK_DOWN))
{
squareY -= .01;
}
if (StdDraw.isKeyPressed(KeyEvent.VK_LEFT))
{
squareX -= .01;
}
if (StdDraw.isKeyPressed(KeyEvent.VK_RIGHT))
{
squareX += .01;
}
}
public static void main(String[] args)
{
while(true)
{
snake.drawScene();
snake.updateMotion();
if (squareX + squareR >= 1 )
{
//TODO: show "you lose" message / stop on edge of square
break;
}
if (squareX - squareR = 1 )
{
//TODO: show "you lose" message / stop on edge of square
break;
}
if (squareY - squareR
Подробнее здесь: https://stackoverflow.com/questions/340 ... ment-right