Autor
|
Tema: Programando un Craps en C... (Leído 12,918 veces)
|
Principios en C
Desconectado
Mensajes: 34
|
Hola... Estoy programando un craps en C, creo que la base del juego ya me quedo... pero aun me falta incluir al juego apuestas!! y aqui es cuando me atoré... No sé como hacer para que se apueste minimo $5 cada vez que lanzen una tirada y pueda retirarse del juego o ganar el doble. Debo poner un limite de credito a la banca, por ejemplo $2000. Pero ya no me surgen ideas, podrian ayudarme con esto? Por favor!!!!! #include <stdio.h> #include <stdlib.h> #include <time.h> int lanzadado(void); main(){ int estadojuego, suma, mispuntos, avanza; /*Sección de declaraciones*/ printf("\n\n%s\n\n","< Una función para un juego de dados >"); suma = lanzadado(); switch(suma){ case 7: case 11: estadojuego =1; break; case 2: case 3: case 12: estadojuego = 2; break; default: estadojuego = 0; mispuntos = suma; printf("Mis puntos son: %d\n", mispuntos ); break; } while (estadojuego == 0){ suma = lanzadado(); if(suma == mispuntos) estadojuego = 1; else if(suma == 7) estadojuego = 1; } if(estadojuego == 1) else printf("Lo siento perdio!\n"); return 0; } int lanzadado(void){ int dadouno, dadodos, sumatirada; dadouno = 1 + (rand()%6); dadodos = 1 + (rand()%6); sumatirada = dadouno + dadodos; printf("Lanzamiento de los dados %d+%d=%d\n",dadouno ,dadodos , sumatirada ); return sumatirada; }
|
|
« Última modificación: 11 Septiembre 2011, 20:56 pm por Principios en C »
|
En línea
|
|
|
|
Alien-Z
Desconectado
Mensajes: 177
C++ Programmer
|
No sé como hacer para que se apueste minimo $5 cada vez que lanzen una tirada y pueda retirarse del juego o ganar el doble. Debo poner un limite de credito a la banca, por ejemplo $2000. No entiendo muy bien la duda, te basta con ir poniendo bucles y condiciones, por ejemplo para la apuesta mínima puedes hacer algo asi: apuesta = 0; while (apuesta < 5) { printf("La apuesta minima es de 5 dolares. ¿Cuánto quiere apostar?: "); scanf ("%d", &apuesta); } Para retirarse del juego pon después de la tirada una pregunta y sus correspondientes acciones, por ejemplo: printf ("1- Doble o nada.\n2-Retirarse.\nElija su opción: ") scanf ("%d", &opcion); if (opcion == 1) { apuesta *= 2; } if (opcion == 2) { //Que termine la partida o lo que quieras hacer } No sé si es eso lo que buscas, sino comenta y te diré cómo sería, el problema es que como no has puesto un code para las apuestas pues no sé muy bien de qué va tu juego; pero si tu pregunta era generalizada entonces con los bucles y condiciones podrás hacerlo. Saludos.
|
|
« Última modificación: 8 Septiembre 2011, 23:53 pm por Alien-Z »
|
En línea
|
|
|
|
Principios en C
Desconectado
Mensajes: 34
|
Gracias por responder.... la verdad apenas probare lo que mencionas, pero se trata de un juego que lanza dos dados y si la suma de los puntos es 7 u 11 ganas, y en caso de ser 2, 3 u 12 pierdes.... entonces por cada vez que se lanzen los dados debo preguntar me imagino que si desea apostar y las condciones de la apuesta ya las mencione.
|
|
|
En línea
|
|
|
|
Alien-Z
Desconectado
Mensajes: 177
C++ Programmer
|
Gracias por responder.... la verdad apenas probare lo que mencionas, pero se trata de un juego que lanza dos dados y si la suma de los puntos es 7 u 11 ganas, y en caso de ser 2, 3 u 12 pierdes.... entonces por cada vez que se lanzen los dados debo preguntar me imagino que si desea apostar y las condciones de la apuesta ya las mencione.
Entiendo, pero para eso te basta con analizar los números; no se pueden hacer los ejercicios (no es muy ético) pero con los esquemas que te he dejado puedes guiarte y hacer el code específico para tu juego; si te atrancas o te da algún error pregunta de nuevo. Saludos.
|
|
« Última modificación: 9 Septiembre 2011, 10:27 am por Alien-Z »
|
En línea
|
|
|
|
Principios en C
Desconectado
Mensajes: 34
|
Ya use lo que me sugeriste pero no me sale... por mas que lo pongo en varios lados.... ya sea que me imprime nada mas el menú, dice que si quieres apostar o ninguna de las dos y tan solo ya gano o perdio.... qué puedo hacer?? no pido que me lo resuelvan pero es que no me sale.... ademas yo tengo hecho la mayor parte del codigo y creanme que como principiante me costo mucho trabajo. Ayuda!!! urge ahora si!!! Porfitas!!!! Algo en lo que si no tengo ni idea es como decir que se tiene un limite en la bolsa de apuesta por ejemplo 2000
|
|
« Última modificación: 11 Septiembre 2011, 20:31 pm por Principios en C »
|
En línea
|
|
|
|
Alien-Z
Desconectado
Mensajes: 177
C++ Programmer
|
Deberías postear el nuevo code con las modificaciones que le hayas hecho, asi sabremos dónde falla.
|
|
|
En línea
|
|
|
|
Principios en C
Desconectado
Mensajes: 34
|
#include <stdio.h> #include <stdlib.h> #include <time.h>
int lanzadado(void);
main(){ int estadojuego, suma, mispuntos, avanza, apuesta, opcion, i; apuesta = 0; opcion = 1; printf("\n\n%s\n\n","< Una función para un juego de dados >"); printf("La apuesta minima es de 5 pesos. ¿Cuánto quiere apostar?: "); scanf ("%d", &apuesta); srand(time(NULL)); suma = lanzadado(); if(apuesta>=5){ switch(suma){ case 7: case 11: estadojuego =1; break; case 2: case 3: case 12: estadojuego = 2; break; default: estadojuego = 0; mispuntos = suma; printf("Mis puntos son: %d\n", mispuntos); break; } while (estadojuego == 0){ suma = lanzadado(); if(suma == mispuntos){ estadojuego = 1; } else{ if(suma == 7){ estadojuego = 1; } } } if(estadojuego == 1){ printf("Ya gano!!\n"); printf ("1.- Apuesta el triple?\n2.- Prefiere retirarse?.\n\n Elija su opción: "); scanf ("%d", &opcion); if (opcion == 1){ apuesta *= 3; } if (opcion == 2){ getch(); } } else{ printf("Lo siento perdio!\n"); printf ("1.- Apuesta el triple?\n 2.-Prefiere retirarse?.\n\n Elija su opción: "); scanf ("%d", &opcion); if (opcion == 1){ apuesta *= 3; } if (opcion == 2){ getch(); }
} scanf("%d", &avanza); return 0; } } int lanzadado(void){ int dadouno, dadodos, sumatirada; dadouno = 1 + (rand()%6); dadodos = 1 + (rand()%6); sumatirada = dadouno + dadodos; printf("Lanzamiento de los dados %d+%d=%d\n",dadouno,dadodos, sumatirada); return sumatirada; } Aqui ya me aparece el menu despues de que haya ganado o perdido pero por mas que trato de hacer que despues de que elija la opcion se vuelvan a lanzar los dados no puedo o los vuelve a lanzar pero no sale el incremento de su apuesta....
|
|
« Última modificación: 11 Septiembre 2011, 20:51 pm por Principios en C »
|
En línea
|
|
|
|
Principios en C
Desconectado
Mensajes: 34
|
#include <stdio.h> #include <stdlib.h> #include <time.h> int lanzadado(void); main(){ int estadojuego, suma, mispuntos, avanza, apuesta, opcion, i; apuesta; opcion = 1; printf("\n\n%s\n\n","< Una función para un juego de dados >"); printf("La apuesta minima es de pesos. ¿Cuánto quiere apostar?: "); suma = lanzadado(); if(apuesta>=5){ switch(suma){ case 7: case 11: estadojuego =1; break; case 2: case 3: case 12: estadojuego = 2; break; default: estadojuego = 0; mispuntos = suma; printf("Mis puntos son: %d\n", mispuntos ); break; } while (estadojuego == 0){ suma = lanzadado(); if(suma == mispuntos){ estadojuego = 1; } else{ if(suma == 7){ estadojuego = 1; } } } if(estadojuego == 1){ printf ("1.- Apuesta el triple?\n2.- Prefiere retirarse?.\n\n Elija su opción: "); if (opcion == 1){ apuesta *= 3; printf("Tu apuesta ahora es de: %d\n",apuesta ); suma = lanzadado(); } if (opcion == 2){ printf("Usted se ha retirado con la cantidad de: %d", apuesta ); } } else{ printf("Lo siento perdio!\n"); printf ("1.- Apuesta el triple?\n 2.-Prefiere retirarse?.\n\n Elija su opción: "); if (opcion == 1){ apuesta *= 3; printf("Tu apuesta ahora es de: &d", apuesta ); suma = lanzadado(); } if (opcion == 2){ printf("Usted se ha retirado con la cantidad de: %d", apuesta ); } } return 0; } } int lanzadado(void){ int dadouno, dadodos, sumatirada; dadouno = 1 + (rand()%6); dadodos = 1 + (rand()%6); sumatirada = dadouno + dadodos; printf("Lanzamiento de los dados %d+%d=%d\n",dadouno ,dadodos , sumatirada ); return sumatirada; }
Aqui ya me da la apuesta triple y lanza nuevamente los dados pero ya no dice si gano o perdio....
|
|
« Última modificación: 11 Septiembre 2011, 21:07 pm por Principios en C »
|
En línea
|
|
|
|
Alien-Z
Desconectado
Mensajes: 177
C++ Programmer
|
Se hace difícil entender el code si no respetas espacios y cambios de línea, debes separar partes del código que se refieran a diferentes cosas.
El problema de que no te diga si has ganado o has perdido es porque no llamas a esa parte en todos los casos, lo que debes hacer es crear una función que te pida las diferentes opciones (apostar el triple, retirarse, etc.) y según la respuesta del usuario que efectúe una acción u otra, y que el único valor que retorne dicha función sea el de los puntos ganados o perdidos.
Te retocaré ese par de puntos en el code para que veas como sería, ahora un rato me pongo y lo posteo.
|
|
« Última modificación: 11 Septiembre 2011, 21:52 pm por Alien-Z »
|
En línea
|
|
|
|
Principios en C
Desconectado
Mensajes: 34
|
Gracias! Esperare tu post.... el tiempo se me termina!!!! y mi cabezilla ya no da para mas... me volvio loquizimo ese programa....
|
|
« Última modificación: 11 Septiembre 2011, 22:59 pm por Principios en C »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Programando server
Programación Visual Basic
|
amtapias
|
4
|
1,530
|
4 Marzo 2006, 18:52 pm
por sch3m4
|
|
|
Programando con gtk+
Programación C/C++
|
Khronos14
|
5
|
3,652
|
6 Enero 2011, 18:54 pm
por paju1986
|
|
|
juego de craps (1000)tiradas , histograma de frecuencia y tiradas..
Programación C/C++
|
manuel_venezuela
|
2
|
4,287
|
3 Agosto 2011, 20:31 pm
por manuel_venezuela
|
|
|
hp programando
Programación General
|
bengy
|
1
|
2,338
|
5 Agosto 2011, 11:07 am
por Debci
|
|
|
ayuda en programa craps
Programación C/C++
|
AngelMix
|
4
|
2,543
|
21 Junio 2016, 01:38 am
por AlbertoBSD
|
|