Matriz para juego de mesa

Hola, quería saber si me puedes ayudar con este código en c# con mi programa de posiciones.
Tengo una matriz char[,] la cual empiezo a llenar datos o fichas según mis códigos, pero quisiera saber como puedo hacer que al momento de asignar un valor numérico a mi variable "avanzar" esta pueda asignar un valor a mi matriz y que aparezca ese valor en una posición, es decir: que en la posición [4, 1] me aparezca mi ficha "x" y cuando cambie mi variable ("avanzar")de valor esta por avance 2 o más posiciones (según el valor) en mi matriz. Por ejemplo: si valor=2 la posición es [4, 3], si el valor= 4 la posición es [3, 4], es decir ya tengo una ruta por donde debe ir mi carácter pero no se como implementarla o activarla, para que solamente por allí pase mi ficha según el valor que aparezca. En conclusión: deseo hacer algo similar como un juego de ludo, damas o ajedrez, todo en ambiente de consola de C#, donde tenga matrices que llenen los datos y según haga mi rutina de tirar dados según el numero avance mi ficha o también que si pulso con mis flechas direccionales de mi teclado estas fichas avancen donde deseo, esto ultimo ya lo hice, pero lo que deseo es que sea todo automático al tirar los dados, salga el numero y avance mi ficha en las posiciones o ruta ya definida
Gracias

1 respuesta

Respuesta
1
Ya veras vas bien, al declararte la matriz[x,y] para las posiciones ya que esa matriz me va a contener la ruta a seguir, ahora no se si lo tienes en cuenta pero las matrices empiezan desde 0 osea cuando pones matriz[2,3] te obtiene la posicion 3,4 ok,
yo me declararía dos variables, avanzarx y avanzary para obtener la ubicacion exacta de la ficha matriz[avanzarx,avanzary] posicion exacta y para poner el valor a la matriz utiliza metodos
private void TirarDados()
{
avanzarx=??;
avanzary=??;
LLenarMatriz(avanzarx,avanzary);
}
private void LlenarMatriz(int x, int y)
{
matriz[x,y] = ??;
refrescar pantalla y listo
}
si quieres que se de efecto como que camina por ejemplo a lanzar dados avanzas 3 y tas en la casilla 2, mediante un for puedes hacer que pase por la 3,4 y termine en 5 o sin el for se va directo
for(int i=0;i<cantidadlanzada;i++)
{
matriz[x (este tendria que ir aumentando si es horizontal),y (este vertical en el caso de que sea movimiento vertical tambien)] = ??;
refrescar pantalla
}
No se si habré sido claro, con todo si necesitas algo más claro me avisas para ver como lo puedo plantear de una forma más entendible

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas