Trabajando en un entorno empresarial, ya no consigo codificar ni usar la consola vieja. Mi trabajo es repetitivo y, por lo tanto, no es realmente desafiante.Asignación de matrices Serpiente
decidí desafiarme a mí mismo escribiendo un juego de la serpiente en una consola de C#; y chico, eso hizo que mi cerebro funcionara. Nunca tengo que pensar así de duro en el día a día, pero sentía que mi capacidad de programación no mejoraba.
Tengo un problema. El enfoque básico que tomé fue crear una clase de serpiente y una clase de comida. La clase de serpiente usa una matriz para almacenar todas las coordenadas y luego una clase de dibujo decide qué coordenadas dibujar en la pantalla.
El problema es que a medida que mueve la serpiente, la matriz se llena (maxsize es 250 para el rendimiento), así que cuando llegue al final de la matriz quiero copiar los últimos coords a una matriz temporal, lavar el matriz original y copie los coords de temperatura de vuelta a la matriz principal.
El problema que tengo es copiar x coordenadas de nuevo a la matriz original. Decidí hacerlo manualmente para probar, pero esta solución siempre hace que mi pobre serpiente deje atrás uno de sus segmentos en la pantalla cuando no debería estar allí.
¿Cómo voy a ir haciendo esto mediante programación?
spoints[4, 0] = stemp[249, 0];
spoints[4, 1] = stemp[249, 1];
spoints[4, 2] = stemp[249, 2];
spoints[3, 0] = stemp[248, 0];
spoints[3, 1] = stemp[248, 1];
spoints[3, 2] = stemp[248, 2];
spoints[2, 0] = stemp[247, 0];
spoints[2, 1] = stemp[247, 1];
spoints[2, 2] = stemp[247, 2];
spoints[1, 0] = stemp[246, 0];
spoints[1, 1] = stemp[246, 1];
spoints[1, 2] = stemp[246, 2];
spoints[0, 0] = stemp[245, 0];
spoints[0, 1] = stemp[245, 1];
spoints[0, 2] = stemp[245, 2];
Realmente no me importa la publicación de todo el juego aquí, si alguien realmente quiere profundizar en el código.
Estás haciendo tu vida más difícil mediante el uso de matrices en lugar de colecciones/diccionarios escritos. –