Red de conocimientos turísticos - Conocimientos sobre calendario chino - Acerca del problema de escribir Greedy Snake en C#

Acerca del problema de escribir Greedy Snake en C#

Analizar ¿qué es necesario?

1: Dirección de avance

Solo hay una dirección de avance al mismo tiempo, es decir, cuando presionas arriba, abajo, izquierda y derecha, el valor que presionas cambia la dirección de avance (puedes usar el botón primero para hacerlo. 4 botones para seleccionar 4 direcciones respectivamente)

2: Velocidad de movimiento

La serpiente se moverá independientemente de si presionas la direccion! Así que aquí puedes usar un bucle para controlar el movimiento de la serpiente

Y después de presionar arriba, abajo, izquierda y derecha, el conocimiento cambia de dirección

3: Límite

Esto te dará una idea Sólo

X comienza en 0 X termina en 100

Y comienza en 0 Y termina en 100

Entonces ponlo en la matriz

4: La posición de la serpiente

La posición de la serpiente es irregular

Pero siempre hay reglas que también puedes usar. matrices o conjuntos

Por ejemplo, si la serpiente tiene forma de L, entonces su posición se puede registrar

XList[0]="1";

YList[0]="1";

XList[1]="1"

YList[1]="2";

XList [2]="1";

YList[2]="3";

p>

p>

Basado en las dos últimas coordenadas almacenadas, puedes saber cuál la cuadrícula es +1

Por ejemplo, X[reciprocal 2] = 3;Y[everywhere 2]=1;X[reciprocal 1] = 2;Y[everywhere 1]=1;Entonces la cabeza de serpiente debe estar a la derecha

Entonces estamos en X.Add(X[reciprocal 1]+1);Y.Add(Y[reciprocal 1]);

Cómo juzgar el programa específico depende de ti~

Para golpear la pared

Haz un inicio y final MAPX y un inicio y final MAPY, y luego usa la X[] de la serpiente Compara con Y[ ]

Si son iguales, debes haberte golpeado contra una pared

Ahora que tienes una idea, vamos, completa primero el control de movimiento básico

Entonces come

i.js">