Inicio
Buscar
Ingresar
Registrarse
Starfield: el juego que revolucionará el espacio y la tecnología
Hack x Crack - Comunidad de Seguridad informática
»
Programación
»
Otros
»
ayuda programar juego ruleta suerte
Imprimir
Páginas: [
1
]
Ir Abajo
Autor
Tema: ayuda programar juego ruleta suerte (Leído 7307 veces)
juanmayari
{ L0 } Ñuub
Mensajes: 4
ayuda programar juego ruleta suerte
«
en:
Diciembre 24, 2015, 07:29:08 pm »
estoi super atascado no se ni empesar el ejercicio agradeceria que alguien me ayude por favor gracias
Reglas del Juego:
1. Habrá dos jugadores. El ordenador seleccionará una frase de la cual
sólo veremos la longitud por pantalla, es decir, el número de letras
que forman la palabra, y se mostrará la pista Por ejemplo: ***** ***
******* (ciudad de Extremadura). Será turno del jugador 1.
2. El jugador entonces, puede escoger si resolver, o girar la ruleta.
a. Si decide resolver, debe escribir toda la frase entera. Si
acierta, gana la cantidad que tiene acumulada. Si falla, pierde
el turno.
b. Si decide girar la ruleta, girará la ruleta: La ruleta dará un
valor entre 0 y 20, siendo 0 una “quiebra” (el usuario pierde
todo el dinero acumulado y el turno), y cualquier otro
número será la cantidad por la que jugará si acierta la letra.
i. En caso de que haya salido quiebra, perderá el turno.
ii. Si no salió quiebra, dirá la letra.
Si acierta, se le suman la cantidad de letras
acertadas por la cantidad que ha salido en la
ruleta a su contador (más lo que ya tenía), y
vuelve al inicio del punto 2
Si falla, pierde turno, y es turno para el otro
jugador, que también vuelve al punto 2.
3. Cuando alguien acierte la palabra, sólo ese jugador acumulará el
dinero a su casillero global (el otro jugador acumulará 0). Entonces,
el programa preguntará si se quiere hacer otra ronda. Si
seleccionamos que sí, volveremos al punto 1.
4. Cuando se seleccione que no, el programa finalizará indicando
cuantas rondas han jugado, cuantas victorias ha hecho el jugador1
y el jugador2, y quien ha ganado el juego (el que tiene más dinero,
no el que tiene más victorias).
En línea
howara
{ L3 } Über
Mensajes: 201
Think that your users are stupid and make it easy!
Re:ayuda programar juego ruleta suerte
«
Respuesta #1 en:
Diciembre 24, 2015, 07:52:28 pm »
Primero te recomiendo pensar en las funciones que necesitarás para hacerlo funcionar. Por lo que veo en las reglas necesitas funciones como: printar_frase(), resolver_frase(), girar_ruleta()... Una vez las tienes piensa en qué precondiciones y postcondiciones deberían cumplir cada una. Cuando tengas todo eso claro, es hora de implementar cada una de ellas. Con eso hecho ya sólo te tocará ponerlo todo en el main en el orden correspondiente y ya lo tienes.
Saludos!
En línea
If you have any doubt say it!
Zarkrosh_7
{ L1 } Newbie
Mensajes: 53
La única iglesia que ilumina es la que arde
Re:ayuda programar juego ruleta suerte
«
Respuesta #2 en:
Diciembre 25, 2015, 02:29:21 pm »
Resuelvo! "Fuente del Maestre"
En línea
juanmayari
{ L0 } Ñuub
Mensajes: 4
Re:ayuda programar juego ruleta suerte
«
Respuesta #3 en:
Diciembre 25, 2015, 05:51:01 pm »
Pero me podría alguien comenzar hacer el principio por favor
En línea
Zarkrosh_7
{ L1 } Newbie
Mensajes: 53
La única iglesia que ilumina es la que arde
Re:ayuda programar juego ruleta suerte
«
Respuesta #4 en:
Diciembre 25, 2015, 07:07:43 pm »
Como dijo howara, ¿qué tal si pruebas a desgajar el juego en funciones y luego en main le das forma? Ya lo tienes casi todo hecho, sólo te falta programarlo y no veo que pueda surgir ningún problema en cuanto a eso, si es que sabes cómo programar. Si te damos el programa hecho, o una parte, no vas a aprender nada y te pasará lo mismo con los problemas venideros. Prueba tú a hacer algo, lo envías y te vamos ayudando en cuanto a lo que TÚ hagas
En línea
juanmayari
{ L0 } Ñuub
Mensajes: 4
Re:ayuda programar juego ruleta suerte
«
Respuesta #5 en:
Diciembre 25, 2015, 08:45:47 pm »
Código: C#
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
ConsoleApplication1
{
class
Program
{
static
void
Main
(
string
[
]
args
)
{
int
NumPan
;
int
[
]
Panel
=
new
int
[
9
]
;
for
(
int
i
=
0
;
i
<
9
;
i
++
)
{
Console
.
WriteLine
(
NumPan
)
;
}
Console
.
WriteLine
(
"Pista: Tienes el primer puesto porque..."
)
;
Console
.
ReadLine
(
)
;
do
{
Console
.
WriteLine
(
"Resolver 1, Girar ruleta 2"
)
;
dec
=
int
.
Parse
(
Console
.
ReadLine
(
)
)
;
switch
(
dec
)
{
case
1
:
Console
.
WriteLine
(
"Resuelve el panel"
)
;
resuelve
;
Console
.
WriteLine
(
"Seguir jugando?, S o N"
)
;
eleccion
=
char
.
Parse
(
Console
.
ReadLine
(
)
)
;
switch
(
eleccion
)
{
case
s
:
break
;
case
n
:
case
2
:
Console
.
WriteLine
(
"Gira la ruleta"
)
;
GirarRuleta
;
}
while
(
(
dec
!=
1
)
&&
(
dec
!=
2
)
)
;
}
}
}
public
static
int
dec
{
get
;
set
;
}
public
static
char
eleccion
{
get
;
set
;
}
}
static
void
resolver
(
int
ResPan,
int
bot1,
int
din1
)
;
{
Console
.
WriteLine
(
"Resuelve el panel"
)
;
ResPan
=
int
.
Parse
(
Console
.
ReadLine
(
)
)
;
if
(
ResPan
=
123425267
)
{
Console
.
WriteLine
(
"Has ganado"
)
;
bot1
=
bot1
+
din1
;
}
else
{
Console
.
WriteLine
(
"Has fallado, pierdes el turno"
)
;
}
return
(
ResPan
)
;
}
}
static
int
ruletagiratoria
(
int
num,
int
din1
)
{
Random r
=
new
Random
(
)
;
int
ale
=
r
.
Next
(
0
,
20
)
;
switch
(
r
)
{
case
r
>
1
:
Console
.
WriteLine
(
"Diga un numero"
)
;
num
.
Parse
(
Console
.
ReadLine
(
)
)
;
if
(
(
num
>=
1
)
&&
(
num
<=
7
)
)
{
din1
=
din1
+
(
r
*
num
)
;
return
(
din1
)
;
}
else
{
Console
.
WriteLine
(
"Numero no encontrado"
)
;
}
default
:
{
Console
.
WriteLine
(
"Quiebra, Pierdes el dinero acumulado y el turno"
)
;
din1
=
0
;
break
;
}
}
}
«
Última modificación: Diciembre 27, 2015, 10:50:33 pm por Doddy
»
En línea
Zarkrosh_7
{ L1 } Newbie
Mensajes: 53
La única iglesia que ilumina es la que arde
Re:ayuda programar juego ruleta suerte
«
Respuesta #6 en:
Diciembre 26, 2015, 06:52:30 pm »
Antes de nada, acostumbra a poner el código en el contenedor correspondiente al lenguaje al postear, así es mucho más legible.
Código: C#
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
ConsoleApplication1
{
class
Program
{
static
void
Main
(
string
[
]
args
)
{
int
NumPan
;
int
[
]
Panel
=
new
int
[
9
]
;
for
(
int
i
=
0
;
i
<
9
;
i
++
)
{
Console
.
WriteLine
(
NumPan
)
;
}
Console
.
WriteLine
(
"Pista: Tienes el primer puesto porque..."
)
;
Console
.
ReadLine
(
)
;
do
{
Console
.
WriteLine
(
"Resolver 1, Girar ruleta 2"
)
;
dec
=
int
.
Parse
(
Console
.
ReadLine
(
)
)
;
switch
(
dec
)
{
case
1
:
Console
.
WriteLine
(
"Resuelve el panel"
)
;
resuelve
;
Console
.
WriteLine
(
"Seguir jugando?, S o N"
)
;
eleccion
=
char
.
Parse
(
Console
.
ReadLine
(
)
)
;
switch
(
eleccion
)
{
case
s
:
break
;
case
n
:
case
2
:
Console
.
WriteLine
(
"Gira la ruleta"
)
;
GirarRuleta
;
}
while
(
(
dec
!=
1
)
&&
(
dec
!=
2
)
)
;
}
}
}
public
static
int
dec
{
get
;
set
;
}
public
static
char
eleccion
{
get
;
set
;
}
}
static
void
resolver
(
int
ResPan,
int
bot1,
int
din1
)
;
{
Console
.
WriteLine
(
"Resuelve el panel"
)
;
ResPan
=
int
.
Parse
(
Console
.
ReadLine
(
)
)
;
if
(
ResPan
=
123425267
)
{
Console
.
WriteLine
(
"Has ganado"
)
;
bot1
=
bot1
+
din1
;
}
else
{
Console
.
WriteLine
(
"Has fallado, pierdes el turno"
)
;
}
return
(
ResPan
)
;
}
}
static
int
ruletagiratoria
(
int
num,
int
din1
)
{
Random r
=
new
Random
(
)
;
int
ale
=
r
.
Next
(
0
,
20
)
;
switch
(
r
)
{
case
r
>
1
:
Console
.
WriteLine
(
"Diga un numero"
)
;
num
.
Parse
(
Console
.
ReadLine
(
)
)
;
if
(
(
num
>=
1
)
&&
(
num
<=
7
)
)
{
din1
=
din1
+
(
r
*
num
)
;
return
(
din1
)
;
}
else
{
Console
.
WriteLine
(
"Numero no encontrado"
)
;
}
default
:
{
Console
.
WriteLine
(
"Quiebra, Pierdes el dinero acumulado y el turno"
)
;
din1
=
0
;
break
;
}
}
}
En el código que has puesto hay varios errores con {}, en el bucle do while por ejemplo. No entiendo la función del segundo switch anidado.
Una práctica recomendada en los juegos o programas similares en el main esté solo un bucle para el gameover con una o dos funciones más. Es decir:
Código: C#
bool
gameOver
=
false
;
while
(
!
gameOver
)
{
// Juego
}
Así, cuando en el juego se dé la condición para que se produzca el gameOver, solo tendrás que hacer "gameOver = true", y se detendrá.
Me parece que has dado una solución única al juego, trata de hacer un array de Strings con todas (o algunas) de las posibles soluciones del juego, y que con un número aleatorio se decida una.
Te falta un break en el switch del bucle do while.
En la función de la ruleta, creo que quisiste poner como variable a "ale" en vez de al Random.
«
Última modificación: Diciembre 26, 2015, 11:47:40 pm por Zarkrosh_7
»
En línea
juanmayari
{ L0 } Ñuub
Mensajes: 4
Re:ayuda programar juego ruleta suerte
«
Respuesta #7 en:
Diciembre 26, 2015, 10:27:26 pm »
da muchos fallos aparte le querido añadir esto pero no podio añadirselo da muchos falloslo anterior
Código: C#
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
ConsoleApplication11
{
class
Program
{
/*inicializa los arrays palabra y pantalla. el primero de ellos a traves del uso de guiones (_) mientras que el segundo sera cargado con el valos 0*/
public
static
void
inicializajuego
(
char
[
]
palabra,
char
[
]
[
]
pantalla
)
{
for
(
int
i
=
0
;
i
<
palabra
.
Length
;
i
++
)
{
palabra
[
i
]
=
'_'
;
}
for
(
int
i
=
0
;
i
<
palabra
.
Length
;
i
++
)
{
for
(
int
j
=
0
;
j
<
palabra
.
Length
;
j
++
)
{
pantalla
[
i
]
[
j
]
=
'0'
;
}
}
}
/*mostrara los arrays palabra y pantalla, observamos que tanto en la inicializacion se usasn bucles for, en pantalla observamos un bucle for anidado.al especificar pantalla[i].length estamos controlando el hecho de que cada fila pueda tener un numero diferentes de casillas o columnas*/
public
static
void
mostrar
(
char
[
]
palabra,
char
[
]
[
]
pantalla
)
{
Console
.
WriteLine
(
"palabra"
)
;
for
(
int
i
=
0
;
i
<
palabra
.
Length
;
i
++
)
{
Console
.
WriteLine
(
palabra
[
i
]
)
;
}
Console
.
WriteLine
(
)
;
for
(
int
i
=
0
;
i
<
palabra
.
Length
;
i
++
)
{
for
(
int
j
=
0
;
j
<
palabra
.
Length
;
j
++
)
{
Console
.
WriteLine
(
pantalla
[
i
]
[
j
]
)
;
}
Console
.
WriteLine
(
)
;
}
}
/*el metodo buscarLetra sera de utilidad a la hora de comprobar si la letra que el usuario indica se encuentra en la palabraSecreta.Este metodo pretende ser similar al IndexOf que ya hemos usado en c#*/
public
static
int
buscarLetra
(
char
[
]
palabraSecreta,
char
letra,
int
comienzo
)
{
int
posicion
=-
1
;
int
i
=
comienzo
;
while
(
i
<
palabraSecreta
.
Length
&&
posicion
==
-
1
)
{
if
(
palabraSecreta
[
i
]
==
letra
)
{
posicion
=
i
;
}
i
++;
}
return
posicion
;
}
}
}
«
Última modificación: Diciembre 27, 2015, 10:50:23 pm por Doddy
»
En línea
Zarkrosh_7
{ L1 } Newbie
Mensajes: 53
La única iglesia que ilumina es la que arde
Re:ayuda programar juego ruleta suerte
«
Respuesta #8 en:
Diciembre 26, 2015, 11:50:06 pm »
Te repito que pongas en contenedor el código por favor, simplemente hay que poner ['code=csharp] (código) [/'code] (sin las comillas)
Por favor, revisa y manda todo el código completo, porque estás usando variables que no has declarado en ningún sitio, o funciones sin definir.
En línea
BigBear
{ L5 } Smurf
Mensajes: 594
Re:ayuda programar juego ruleta suerte
«
Respuesta #9 en:
Diciembre 27, 2015, 10:49:42 pm »
Eh movido el tema a su sección correspondiente.
@juanmayari : la proxima vez publica tu pregunta en la sección adecuada y usa las etiquetas de código correspondientes.
Saludos.
En línea
Imprimir
Páginas: [
1
]
Ir Arriba
Hack x Crack - Comunidad de Seguridad informática
»
Programación
»
Otros
»
ayuda programar juego ruleta suerte
Va un mudo y le dice a un sordo: Hack x Crack usa cookies. Pues eso...
OK
Learn more