elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  programa que resuelva el siguiente laberinto en C#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: programa que resuelva el siguiente laberinto en C#  (Leído 5,039 veces)
Emily

Desconectado Desconectado

Mensajes: 18


Ver Perfil
programa que resuelva el siguiente laberinto en C#
« en: 19 Marzo 2017, 14:44 pm »

Tengo mucho tiempo trabajando en un programa y no me queda alguien podría de favor ayudarme
Se los agradeceria mucho


Escribir un programa que resuelva el siguiente laberinto. La entrada es la

coordenada (0,1) y la salida es la coordenada (0,5), los unos representan los

obstáculos y los espacios libres se podrían representar por ceros. El usuario

introduce “A” para avanzar arriba, “B” para avanzar abajo, “D” para avanzar a la

derecha e “I” para avanzar a la izquierda.

Nota: mostrar cada movimiento.

Entrada:

Caracteres: A, B, D o I.

Salida:

Al llegar a la salida del laberinto el programa mostraría lo siguiente

(suponiendo que el valor 2 es el usuario):

1 0 1 1 0 2

1 0 1 1 0 1

1 0 1 1 0 1

1 0 0 0 0 1

1 1 0 1 1 1

Haz llegado a la salida, bien hecho.


· Los títulos deben ser descriptivos (modificado)
· Los temas de C# van en el foro de .NET no de C/C++ (movido)
>aquí las reglas del foro
-Engel Lex


« Última modificación: 19 Marzo 2017, 16:27 pm por engel lex » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: programa que resuelva el siguiente laberinto en C#
« Respuesta #1 en: 19 Marzo 2017, 16:28 pm »

no se hacen tareas, se resuelven dudas, muestra lo que llevas, explica en que te tranca y si tienes errores de compilador copia y pega


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.391


Ver Perfil
Re: programa que resuelva el siguiente laberinto en C#
« Respuesta #2 en: 20 Marzo 2017, 23:47 pm »

Básicamente lo que tienes que hacer es esperar a recibir pulsaciones de teclas, de ellas sólo interceptas (examinas) las mencionadas de movimiento.
es decir si se pulsó una de ellas, lo que debes hacer es ver si puede avanzarse en la dirección que la tecla tiene asignada, para saber si puede avanzar, hay que ver si en esa dirección la casilla (bit), a la que se apunta es un 0, si lo es se avanza (desplazas la ficha-peón a dicha casilla y la borras de la casilla previa), en caso contrario no se mueve y adviertes al usuario con algo, por ejemplo un sonido sordo.

Finalmente, cada vez que una ficha se ha movido, tienes que verificar si esa casilla es la de salida (0,5), es decir el bit 1 (empezando por la derecha y contando el 0), del primer 'byte' (ya son bytes quienes guardan el mapa).
Si es la casilla de salida, pones un banderín a true, y si el siguiente movimiento es 'ascender' salió del laberinto entonces muestras el mensaje que te piden, si teniendo el banderín a TRUE, se mueve en otra posición distinta (y digo se mueve, porque si no se mueve, no es una posición va´lida a la que moverse), desactivas el banderín (lo pones a FALSE)...

Una vez que lo entiendas bien, lo puedes simplificar mucho...
En línea

Meta


Desconectado Desconectado

Mensajes: 3.499



Ver Perfil WWW
Re: programa que resuelva el siguiente laberinto en C#
« Respuesta #3 en: 21 Marzo 2017, 15:51 pm »

Hola:

¿Lo que quieres es esto?


Este tipo de cosas recuerdo hacr un ejemplo de la serpiente, un juego ya viejo, que tienes que usar matrices.

Tutorial matrices.
https://msdn.microsoft.com/es-es/library/aa288453%28v=vs.71%29.aspx?f=255&MSPPError=-2147217396

En tu caso son muchas matrices. Solo tienes que indicar la coordenada para moverte dentro de la matriz y cambiar sus valores automáticamente con el teclado.

Saludos.
En línea

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.391


Ver Perfil
Re: programa que resuelva el siguiente laberinto en C#
« Respuesta #4 en: 21 Marzo 2017, 17:30 pm »

No necesita gran cosa sobre matrices, tan solo necesita una... que contiene el mapa... y alcaso, solo necesita aceder a un índice, sea para leer o cambiar el dato, para eso no hace falta un manual, se supone que eso es lo mínimo que le habrán enseñado sobre matrices... declararlas, acceder a un índice y cambiarlo.
Además, ya aclara que la salida del laberinto es el 2 (bajo
él habría un 0 en el mapa inicialmente), la entrada es el 0 más a la izquierda en la misma línea.

El trabajo básicamente es operar con bits y realizar comprobaciones.

Tampoco es preciso que cada línea sea un byte, cada posición en el mapa podría ser un entero (un byte, por ejemplo), en tal caso tendrías una matriz de dos dimensiones, y por lo mismo, no precisas trabajar a nivel de bits, si no de bytes. Si el mapa puede llegar a ser mucho más grande, es preferible así (de hecho parece sugerirse, que deba ser así, al parecer un '2' por ahí... (si no lo pusiste tú))

El ejecrcicio pone a prueba tu lógica, o bien te enseña a usar la lógica, si no la tienes elevada.
« Última modificación: 21 Marzo 2017, 17:38 pm por NEBIRE » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Busco el Link de el siguiente programa
Software
Tzdah 1 1,705 Último mensaje 19 Septiembre 2012, 02:34 am
por Eleкtro
Programa que resuelva sistema de ecuaciones [URGENTE]
Programación C/C++
Ater277 2 2,898 Último mensaje 7 Diciembre 2012, 00:52 am
por twins
programa en C++ que resuelva ecuacion cuadratica
Programación C/C++
dariomega 5 61,280 Último mensaje 3 Agosto 2013, 04:19 am
por dariomega
Programa resolución laberinto en C
Programación C/C++
Leafar77 4 13,043 Último mensaje 19 Noviembre 2014, 23:57 pm
por engel lex
programa en c que resuelva expresiones matematicas por ejemplo []{}
Programación C/C++
@krao 1 1,906 Último mensaje 9 Mayo 2018, 01:21 am
por Serapis
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines