Ir ao conteúdo
  • Cadastre-se

Como criar um jogo Genius em C++?


Aloisio.ALZ

Posts recomendados

Estou criando um jogo genius no C++ e só falta fazer a comparação para saber se o usuário digitou a sequênica correta que é apresentado do número 0 até 3 em forma aletória.

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
main()
{
int i,v_seq[15],op, v_usu[15],tempo = 3000;
char l;

printf("Ligar o jogo Genius [s/n] \n\n\n");
l = getch();
if(l!= 'n'){
for(i=0;i<15;i++)
{
v_seq[i]=i;
rand();
v_seq[i] = rand()%4;


}

for(i=0;i<15;i++)
{
printf("%d\n",v_seq[i]);
_sleep(tempo);
system("cls");


for (op=0;op<i;op++)
{
printf("Digite a sequencia apresentada?\n");
scanf("%d\n",&v_usu[op]);


for(op=0;op<i;op++)
{
if(v_usu[op]== v_seq[i])
{

tempo -= 10;


system("cls");


}
else
{
printf("Game Over");


}



}
}

}
//printf("Parabéns você é muito bom");

system("pause");
}
}

Final que irar comparar se acertou, mas não está fazendo a comparação porque.

I Need to help. Please.

Link para o comentário
Compartilhar em outros sites

Você pode implementar isso facilmente utilizando uma estrutura do tipo fila (FIFO). No caso, o programa executaria da seguinte maneira (no exemplo, estou começando com três passos):

função [I]genius [/I]() : [B]inteiro
[/B]var [I]qtd_passos[/I] : [B]inteiro [/B]:= 3
var [I]num_aleatorio[/I] : [B]inteiro
[/B]var [I]fila_passos[/I] : [B]fila de inteiros[/B]
var [I]fim [/I]: [B]booleano [/B]:= falso
var [I]entrada [/I]: [B]inteiro
[/B]repita
para [I]i[/I] de 1 até [I]qtd_passos[/I]
[I]num_aleatorio [/I]:= [I]aleatorio[/I](0, 3)
exibe interface de [I]num_aleatorio[/I]
[I]fila_passos.enfileira[/I]([I]num_aleatorio[/I])
fim para

enquanto não [I]fila.vazia[/I] repita
[I]leia[/I]([I]entrada[/I])
se [I]entrada [/I]for igual a [I]fila_passos.frente[/I] então
exibe interface de [I]entrada
[/I] [I] fila_passos.desenfileira[/I]
senão
exibe interface de [B]FIM DE JOGO[/B]
retorne [I]qtd_passos[/I]
fim se
fim enquanto

[I]qtd_passos[/I] := [I]qtd_passos[/I] + 1
enquanto não [I]fim[/I]

Nesse sistema que eu sugeri, ele faz o seguinte:

- O laço repita ... enquanto são as iterações do jogo. A cada iteração, aumenta um passo na sequência.

- No laço para ele mostra a sequência a ser repetida.

- No laço enquanto ele está recebendo as entradas do usuário. Se acertar, mostra a cor sendo apertada, senão ele mostra a animação/mensagem de fim de jogo e retorna o resultado (aqui, o resultado é o número máximo de passos atingido pelo jogador).

- A variável fim não é usada no algoritmo, mas está aí para o caso do jogo ter um limite, por exemplo, uma zerada caso o jogador atinja os 10 passos.

Espero ter ajudado.

ZaZ

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!