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 p>
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