meu primeiro joguinho em C

1. meu primeiro joguinho em C

felipe silva
lipman

(usa Debian)

Enviado em 02/01/2016 - 23:02h

boa noite, bom criei meu primeiro joguinho e tambem programinha em c, gostaria de saber se tem como colocar um score para o jogador...
aqui está o fonte:
https://mega.nz/#!H8Eh3LoY!hTQnrY3bf4XpmpBZojH_RbsatHEH3FXW54jLjbCY0TU
desde já agradeço!



  


2. Re: meu primeiro joguinho em C

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

Enviado em 02/01/2016 - 23:07h

Amigo, para baixar precisa de uma chave de segurança.

Para fazer score imagino não ser muito dificil. Seria só incrementar a variável com a pontuação toda vez que a ação de 'vencer' acontecer.

Espero ter ajudado

[]'s

T+

--

Att,

Thiago Henrique Hüpner

(Mensagem scaneada pelo antivírus........ops! não precisa, afinal eu uso Linux!)



3. Re: meu primeiro joguinho em C

felipe silva
lipman

(usa Debian)

Enviado em 02/01/2016 - 23:10h

troquei o link, como assim?


4. Re: meu primeiro joguinho em C

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

Enviado em 02/01/2016 - 23:30h

Opa, agora foi.

Para fazer o sistema de pontos você poderia fazer como falei: incrementar uma variável com a pontuação e depois mostrar.

Você poderia fazer um sistema de gerar a frase de quando acerta para ser aleatória [uma função]. E poderia escrever em um arquivo algumas perguntas e a resposta também. Dai seria mais aleatório ainda.

Aqui no VOL tem tutoriais sobre isto.

Espero ter ajudado

[]'s

T+

--

Att,

Thiago Henrique Hüpner

(Mensagem scaneada pelo antivírus........ops! não precisa, afinal eu uso Linux!)



5. Re: meu primeiro joguinho em C

felipe silva
lipman

(usa Debian)

Enviado em 03/01/2016 - 23:10h

eu não consegui entender muito bem, poderia me dar um exemplo sobre a função?
e o arquivo sobre as perguntas?
como seria?
agradeço desde já!


6. Re: meu primeiro joguinho em C

Arthur J. Hoch
Arthur_Hoch

(usa FreeBSD)

Enviado em 04/01/2016 - 09:48h

Você poderia colocar um random, pra ter perguntas aleatorias e os números nas pergunta também aleatorios.


7. Re: meu primeiro joguinho em C

Enzo de Brito Ferber
EnzoFerber

(usa FreeBSD)

Enviado em 15/01/2016 - 09:16h

Olá, tudo bom?

Fiz algumas modificações no seu programa pra você começar a ter uma idéia do que fazer.
Sempre que for construir algum programa, tente pensar nas coisas que irão se repetir, como por exemplo a forma de perguntar e definir se a resposta está certa ou errada. Computadores são execelentes repetidores. Quando você conseguir definir o que irá se repetir, você pode transformar essa ação em uma função. Isso diminui drasticamente o tamanho do seu código, reduz a possibilidade de erros e diminui os custos com manutenção do código.

O programa a seguir faz exatamente isso. Retirei todas as repetições da função main e implementei a função perguntar. Essa função é brevemente explicada nos comentários que antecedem sua declaração no código abaixo. Além disso, ela também retorna 1 caso a resposta esteja correta e 0 caso contrário. Isso permite criar um sistema básico de pontuações. Como exercício, tente aprimorar o programa da seguinte forma:

1. Como fazer numeração automática das perguntas?
2. Como fazer perguntas aleatórias?
3. Como fazer respostas aleatórias?
4. Como dar ao programa apenas a resposta correta e deixar que ele produza as outras opções? (essa é difícil, pois os tipos de dados das respotas são diferentes! ;)
5. Como implementar o (4) aleatóriamente?
6. Como implementar a pergunta "Quanto é sua idade x 13?" utilizando uma função de perguntas (retirei essa como exercício pra você).
7. Como classificar as perguntas em fáceis/médias/difíceis e utilizar pontuação ponderada com base na dificuldade?
8. Como mudar aleatóriamente os textos de feedback? (você acertou, você errou)

Espero ter ajudado,
Enzo Ferber
[]'s

P.S.: Quando for postar códigos aqui no VoL, utilize a tag [ code] e [ /code] (sem os espaços). Caso o código seja extenso, utilize um dos recursos abaixo, pois são excelentes para compartilhamento rápido de código, além possuírem syntax highlighting.
1. www.codepad.org
2. www.ideone.com
3. www.pastebin.com


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

/* Essa rotina ira fazer as perguntas.
*
* @Argumentos:
* @pergunta string com a pergunta a ser feita
* @respostas string com todas as respostas
* @correta numero da resposta correta
*
* A função retorna 1 ponto se voce acertar, caso contrario
* retorna 0. Isso facilita a contagem total de pontos.
*/
int perguntar(char *pergunta, char *respostas, int correta)
{
int r;

puts(""); puts(pergunta); puts(respostas);
scanf("%d", &r);

if (r == correta) {
puts("Parabens, voce acertou! +1 ponto!");
return 1;
}

puts("Que pena, voce errou! Quem sabe na proxima...");
return 0;
}

int main(void)
{
char name[21];
int i, idade, pontos = 0;
char *perguntas[] = {
"(1). Quanto da 20 por cento de 100?",
"(2). Quem robou mais?",
"(3). Quanto tempo demora para terra dar uma volta completa em torno de si?",
"(4). Quantos km/s tem a velocidade da luz?",
"(5). Qual a melhor bebida que existe?",
"(6). Qual a cor do cavalo branco de napoleao?",
"(7). Quantos km2 tem a superficie da terra?"
};
char *respostas[] = {
"\t(1) 20\n\t(2) 10\n\t(3) 30",
"\t(1) lula\n\t(2) Getulio vargas\n\t(3) dilma",
"\t(1) 1440 minutos\n\t(2) 1200 minutos\n\t(3) 1500 minutos",
"\t(1) 250,000 km/s\n\t(2) 500,000 km/s\n\t(3) 300,000 km",
"\t(1) agua\n\t(2) vinho\n\t(3) cerveja",
"\t(1) preto\n\t(2) branco\n\t(3) azul",
"\t(1) 510.100.000 km2\n\t(2) 500.000.000 km2\n\t(3) 525.000.240 km2"
};
int corretas[] = {1,3,1,3,1,2,1};


/* pergunta nome e idade */
printf("Ola, qual e seu nome? "); scanf("%s", &name);
printf("Quantos anos voce tem? "); scanf("%i", &idade);

/* saldacoes do jogo e modo de jogar */
printf("Bem-vindo (a) %s, ao Perguntas e Respostas!\n\n", name);
printf("\tDigite apenas o numero da resposta correta\n\n");

for(i = 0; i < 7; i++)
pontos += perguntar(perguntas[i], respostas[i], corretas[i]);

printf("Obrigado por jogar comigo %s!\n", name);
printf("Voce fez %d pontos!\n", pontos);

/* criado por felipe silva de natividade RJ */
return 0;
}



$ indent -kr -i8 src.c

"(...)all right-thinking people know that (a) K&R are _right_ and (b) K&R are right." - linux/Documentation/CodingStyle - TORVALDS, Linus.




  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts