[ Foro de C ]

Si alguien me pudiese exar unamanocon esto

15-Nov-2007 09:39
Sergio budupipol
5 Respuestas

1. Hundir la flota. Realiza un programa en pseudocódigo que simule el juego de hundir la
flota. El funcionamiento del programa se corresponderá con las siguientes directrices:
a) El juego se desarrolla entre dos jugadores.
b) Al iniciar el juego, cada jugador colocará 3 barcos en las casillas que quiera. Para ello se deberá de pedir a cada jugador, al inicio del programa, que introduzca tres valores del tipo: [A-D][1-4]. Ejemplo:
“Jugador1 - Introduzca la casilla para el barco 1:” A4
“Jugador1 - Introduzca la casilla para el barco 2:” B2
“Jugador1 - Introduzca la casilla para el barco 3:” C1
c) Tras introducir cada jugador sus barcos, el jugador 1 comenzará a intentar hundir
los barcos del jugador 2. Para ello, en cada ronda se deberá preguntar:
“Jugador 1 – Lanzar misil a las coordenadas:“
Con dichas coordenadas se deberá comprobar si en esa casilla existe algún barco
del jugador2. Si existe se mostrará el mensaje:
“Jugador 1 - ¡ Hundido! (quedan x barcos por hundir)”
En caso de que se hayan hundido los 3 barcos, se mostrará el mensaje:
“Jugador 1 - ¡ Enhorabuena! Has ganado”
Si las coordenadas introducidas no se corresponden con ningún barco del jugador
2 se mostrará el mensaje:
“Jugador 1 - Has fallado”
d) Tras terminar el jugador 1 con su jugada le tocará el turno al jugador 2, siguiendo
el mismo proceso que el explicado para el jugador 1.
e) Al finalizar el juego se mostrará una pequeña estadística con el siguiente mensaje:
“Estadística del juego:”
“Número de rondas jugadas: xx”
f) Finalmente se preguntará si se desea jugar otra partida.
Ayudas:
I. Para recoger los datos de los barcos de cada jugador se permite la instrucción: Leer(variable + i
+ j) siendo i y j enteros que indiquen el jugador (i=1 o i =2) y los barcos de cada jugador (para
jugador 1 i=1, el barco 1 j=1 ...). Será necesario declarar las variables: variable11, variable12
....
II. Se supone que los usuarios introducen correctamente las coordenadas.
III. En todo el algoritmo se podrá utiliza la expresión “(nombre+variable)”. Ejemplo de utilización:
Para utilizar una variable hundidos1 o hundidos2, si tenemos una variable i cuyo contenido
puede ser 1 o 2 podremos utilizar la expresión (hundidos+i) para representar una u otra
variable. Por ello podremos construir instrucciones como: (hundidos+i) ? (hundidos+i) + 1; ,
que se evaluará dependiendo de i. Ambas variables (en el ejemplo: hundido1 y hundido2)
tendrán que estar declaradas.
IV. Se deberá controlar que no se pueda hundir un barco ya hundido, es decir, que si se introducen
dos veces la misma coordenada, tan solo se cuente como barco hundido la primera vez, siendo
la segunda un fallo.
** no puedo utilizar arrays, tan solo estructuras repetitivas
------------------------------------------------------------------------------------------------
2. Validación de usuario y contraseña. Escribir un programa que pida un usuario y su contraseña y permita tres intentos. Si el usuario da la contraseña correcta antes de agotar los tres intentos responde "Enhorabuena!". En caso contrario el programa escribe "Lo siento, contraseña equivocada". El sistema debe de tener almacenados dos usuario con sus respectivas contraseñas.


16-Nov-2007 11:42
Jose P. Jávega

Hola, antes que nada decirte que tal vez yo no sea el mas adecuado para responderte ya que tiendo a pensar directamente en código sin pasar por pseudocódigo, pero en tu caso debería de ser más sencillo.
Para el "Hundir la flota" ya tienes un esquema de los pasos que se van a seguir, no necesitas saber como se van a almacenar los datos de los barcos (variables, struct, ect), ya que aún no lo vamos a pasar a código. Solo piensa en los procesos que tendrás que llevar a cabo esto es:

- Para el jugador1-->
coordenadasGuardadas=0.
repetir mientras coordenadasGuardadas <3.

pedir coordenada.
leer coordenada.
si coordenada no existe, guardar, coordenadasGuardadas++.
en caso contrario muestra mensaje "Coordenada introducida anteriormente"


- Para el jugador2-->
coordenadasGuardadas=0.
repetir mientras coordenadasGuardadas <3.
pedir coordenada.
leer coordenada.
si coordenada no existe, guardar, coordenadasGuardadas++.
en caso contrario muestra mensaje "Coordenada introducida anteriormente"
....

De esta formas vas simplificando todas las operaciones que se tendrán que ir produciendo. Inténtalo y cuando tengas algo lo posteas y lo repasamos a ver que tal.

Un saludo.

"Editor de textos forever..."


16-Nov-2007 13:00
Taisen Tetsu

Ahi te apoyo, viva el editor de textos y el terminal para compilar :P es lo mejor. Yo tampoco se de pseudocodigo pero diria que si que esta bien, aunque falta la mayoria del programa, ahora despues de eso vendrian los bucles de pedir coordenadas para lanzar misil a los usuarios y comprobar si coinciden con las de algun barco del otro jugador y si coinciden hundir y sino agua y todo eso.
17-Nov-2007 22:00
Jose P. Jávega

Eso es Taisen, pero la idea es darle un empujoncito a nuestro amigo, no hacerle nosotros el pseudocódigo. Por eso le dije que cuando tuviera algo que lo posteara y lo revisamos entre todos.
17-Nov-2007 22:36
Taisen Tetsu

ya, por eso yo tampoco he dicho nada :P


20-Nov-2007 11:54
Sergio budupipol

Gracias por la ayuda. me a servido de muxo. Muxas gracias por todo, seguire en contacto con este curso ya que es interesante.

GRACIAS






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)