Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

RafaelSobral

Duvida - Jogo da Cara ou Coroa

Mensagens Recomendadas

RafaelSobral

Boa Noite , sou novo neste fórum e vim reencaminho pelo meu professor de Linguagem de Programação .

Foi-me pedido para fazer o jogo da cara ou coroa , no qual o usuário começava com 50 pontos e em cada rodada , ele decidia quantos pontos queria apostar e se queria cara ou coroa . De seguida aparecia se o usuario tinha acertado ou não e se tivesse acertado aparecia os pontos com que ele ficou , que eram os que ele tinha antes de apostar mais o valor que ele apostou, e se perdesse aconteceria o mesmo. Por exemplo, se o usuario tivesse 50 pontos e aposta-se 20 e acerta-se , aparecia a mensagem a dizer que ele tinha acertado e que tinha ficado com 70 pontos (50 + 20) , se perde-se aparecia a mensagem que ele tinha perdido e tinha ficado com 30 pontos (50 - 20) . Criei o programa e corre tudo bem, só que quando vou para a segunda ronda ele em vez de fazer as contas com os pontos que tinha ficado na ronda anterior , não .. faz as contas como se tivesse como o valor inicial o 50 na mesma .. se alguém me puder ajudar, agradecia (:

Aqui fica o programa:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
 int pontuacao=50, aposta, moeda, moeda2, pontuacao1, pontuacao2;


 printf("Seja bem vindo ao jogo da cara ou coroa.\nNeste jogo, deve tentar adivinhar se e cara(prima 1) ou coroa(prima 0).\nVoce comeca com 50 pontos e deve apostar pontos em cada jogada.\nOra comecemos. Boa sorte!\n");
 printf("Pontuacao:%d pontos\n", pontuacao);

 srand ( 0 );
 do
 {
printf("Quanto deseja apostar ?\n");
scanf("%d", &aposta);
printf("Quer cara ou coroa ?\n");
scanf("%d", &moeda);

moeda2 = rand() %2;
   pontuacao1 = pontuacao + aposta;
   pontuacao2 = pontuacao - aposta;

if (moeda == moeda2)
{
	  printf("Parabens , ganhou a aposta! Agora voce tem %d pontos\n", pontuacao1);

}
else
{
	  printf("Perdeu a aposta! Agora voce tem %d pontos\n", pontuacao2);


}
 }while(pontuacao != 0);

 system("PAUSE");
 return 0;
}

Editado por RafaelSobral
GeSHi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

o valor da variável pontuacao nunca é actualizado.

na realidade a existência de pontuacao1 e pontuacao2 é desnecessária


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
RafaelSobral

o valor da variável pontuacao nunca é actualizado.

na realidade a existência de pontuacao1 e pontuacao2 é desnecessária

Sou ainda inexperiente em programação pois este é o meu primeiro ano e ainda não sei como fazer para que o valor da "pontuacao" seja atualizado de ronda para ronda , o que o meu professor queria é que fosse à busca de soluções e respostas. Se puderes ajudar-me a que o valor da pontuacao seja atualizado agradecia :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

não sei como fazer para que o valor da "pontuacao" seja atualizado

como actualizas/atribuis um valor a uma variável ?


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
RafaelSobral

como actualizas/atribuis um valor a uma variável ?

Já consegui , obrigado .Tive de fazer uma alterações , mas penso que é isto :

if (moeda == moeda2)
{
	  printf("Parabens , ganhou a aposta!");
	  pontuacao = pontuacao + aposta;
	  printf("Agora voce tem %d pontos\n", pontuacao);
}
else
{
	  printf("Perdeu a aposta!");
	pontuacao = pontuacao - aposta;
printf("Agora voce tem %d pontos\n", pontuacao);

}

Agora falta ajustar uns pormenores como não poder introduzir um valor superior ao que se tem, ou introduzir outros numeros sem serem 0 ou 1 correspondentes ao cara e coroa, mas isso vou pensar agora como se faz e tentar :) Obrigado.

Editado por RafaelSobral

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.