Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Felipe Nascimentoo

C++ criação jogo genius em dev c++

Recommended Posts

Boa tarde,

Amigos,estou com dificuldade em terminar um trabalho para a faculdade,a questão é:

Utilizando-se do conceito de modularização implemente o jogo Gênius. Trata-se de um jogo de
memória em que o computador apresenta uma sequência de números e o usuário deve repetir a
sequência. A sequência inicial é composta por apenas um número. A cada acerto do usuário o
computador acrescenta um número à sequência. Quando o usuário acerta a sequência de 10
números, deve passar para o nível seguinte. A diferença entre cada nível é a variedade de valores.
Por exemplo:
Nível 1: números de 1 a 3
Nível 2: números de 1 a 6
Nível 3: números de 1 a 9
Nível 4: números de 1 a 12 e assim sucessivamente.
Deve ser dada a opção de duas pessoas jogarem uma contra a outra, quando, a cada acerto de um
jogador, a vez passa para o outro jogador. No primeiro erro, o jogador da vez é eliminado e vence o
outro jogador.
No caso de 1 jogador só, quando o usuário errar deve ser mostrado na tela até que nível ele foi.
No início e ao final de cada rodada deve ser mostrado o seguinte menu:
(1) 1 jogador
(2) 2 jogadores
(3) Sair

 

Alguém poderia me ajudar? 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

E você já tem o que feito? por que por enquanto você só postou o exercício.. não mostrou o que já fez nem qual a sua duvida

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Felipe Nascimentoo      estou tentando fazer esse jogo também, então poste o código que você já fez para podermos ver como está e eu possa dar prosseguimento no meu código .

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você está com dificuldade em terminar, poderia postar o que você já começou, para o pessoal lhe ajudar melhor.

Dica: use rand para sortear os números, e sleep para tempo de exposição da sequência a ser memorizada.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • TENHO ISSO PRONTO: 

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

    int vali = 1; //valida os whiles dos procedimentos
    int tvt = 9/*ultima posição do vetor*/, pvt = 0, lvl = 3, n = 0, idlvl=1;
    int vt1[10];//vetor de tamanho 10
    int escolha;
    void jogo();

    void sorteio(){
         setlocale(LC_ALL, "Portuguese"); 
        printf("Grave esta sequência:\n");
        vali = 1;     
        while (vali == 1){
            vt1[pvt] = rand() % lvl + 1;
            printf("-%d-", vt1[pvt]);
        //posição do vetor é = ao tamanho do vetor    ou sejá foram testados todos os numeros
            if (pvt == tvt){
                vali = 0;
            }else{
                pvt++;    
            }
        }
        printf("\n");    
        system("pause");
        system("cls");
        jogo();
    }

    void jogo(){
         setlocale(LC_ALL, "Portuguese");
            vali = 1;
            pvt = 0; 
            while(vali == 1){
            printf("\nDigite o %d  número\n",pvt+1);
            scanf("%d",&n);
            //printf("%d",n);
            if (vt1[pvt] != n){
                
                printf("Você perdeu no nível %d a sequência correta e:\n",idlvl);
                //printa a sequencia correta
                for(int i=0; i<=tvt; i++){
                    printf("-%d-", vt1);    
                }
                vali = 0;
            }
            else if(pvt == tvt){
                printf("Parabéns! Você passou para o nível %d\n\n",idlvl+1);    
                lvl= lvl + 3;
                pvt = 0;
                n = 0;
                sorteio();
                idlvl++;
            }
            else{
                pvt++;    
            }
            //printf("%d",n);
            
        }
    }

    main(){
           setlocale(LC_ALL, "Portuguese");
        printf("                            BEM-VINDO AO GENIUS                          ");
        printf("\nPara um jogador digite 1 | Para dois jogadores digite 2 | para sair digite 0.\n");
        scanf("%d",&escolha);

        switch (escolha){
            
            case 1:
                printf("UM JOGADOR\n");
                sorteio();
                break;
            
            case 2: 
                printf("DOIS JOGADORES\n");
                printf("voce é o jogador 1\n");
                sorteio();
                printf("voce é o jogador 2\n");
                sorteio();
                break;
                
            case 0:
                printf("\nTCHAU!\n");
                break;
                
        }

     

     

    Estou com dúvida no momento em que passa de nível,pois, fica sempre 1 e não aumenta o nível,mas os números são gerados corretamente.

    Exatamente aqui "Deve ser dada a opção de duas pessoas jogarem uma contra a outra, quando, a cada acerto de um
    jogador, a vez passa para o outro jogador. No primeiro erro, o jogador da vez é eliminado e vence o
    outro jogador." a dúvida aumenta. Se alguém puder me ajudar,vou ficar muito grato. 

    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @Felipe Nascimentoo      seu código está bom  e está funcionando bem,  aqui ele já passa de nível,  precisava somar a variável   lvl  .   aqui seu código com algumas modificações :

    #include<stdio.h>
    #include<stdlib.h>
    #include<conio.h>
    #include<time.h>
    #include<windows.h>
    #include<locale.h>
    int vali=1; //valida os whiles dos procedimentos
    int tvt=9/*ultima posição do vetor*/,pvt,lvl=3,n,idlvl=1;
    int vt1[10];//vetor de tamanho 10
    int escolha;
    void jogo();
    void gotoxy(int x,int y){
        COORD c;
        c.X = x;
        c.Y = y;
        SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);
    }
    void sorteio(){
        printf("Você Está No Nível %d\n",idlvl);
        printf("Grave esta sequência:\n");
        vali = 1;pvt=0;
        while (vali == 1){
            vt1[pvt] = rand() % lvl + 1;
            if(pvt==0)printf("  %d ", vt1[pvt]);
            else printf("- %d ", vt1[pvt]);
            //posição do vetor é = ao tamanho do vetor    ou sejá foram testados todos os numeros
            if (pvt == tvt){
                vali = 0;
            }else{
                pvt++;
            }
        }
        printf("\n");
        system("pause");
        system("cls");
        jogo();
    }
    void jogo(){
        vali = 1;
        pvt = 0;
        while(vali == 1){
            printf("Digite O %d  Número ",pvt+1);
            scanf("%d",&n);
            if (vt1[pvt] != n){
                printf("\n");
                printf("Você perdeu no nível %d a sequência correta e:\n",idlvl);
                //printa a sequencia correta
                for(int i=0; i<=tvt; i++){
                    if(i==0)printf("  %d ", vt1[i]);
                    else printf("- %d ", vt1[i]);
                }
                vali = 0;
                printf("\n\n         ");
                for(vali=10;vali>-1;vali--){
                    gotoxy(15,5);
                    printf(" %d ",vali);
                    Sleep(200);
                }
                gotoxy(15,5);
                printf("   \n\n");
            }
            else
                if(pvt == tvt){
                    printf("Parabéns! Você passou para o nível %d\n\n",idlvl+1);
                    lvl= lvl + 3;
                    pvt = 0;
                    n = 0;
                    sorteio();
                    idlvl++;
                    lvl++;
                    Sleep(2000);
                    vali=0;
                }
                else{
                    pvt++;
                }
        }
    }
    int main(){
        setlocale(LC_ALL, "");
        srand(time(NULL));/* para gerar números randomicos diferentes */
        do{
            system("cls");
            printf("\n\n      =================   BEM-VINDO AO GENIUS   ================     \n\n");
            printf("\n0 - para sair Do Jogo\n1 - Para um jogador\n2 - Para dois jogadores "   );
            printf("\n         ");
            fflush(stdin);
            escolha=getch()-48;/* não precisar pessionar enter*/
            switch (escolha){
                case 1:
                    printf("\n ---- UM JOGADOR ----\n");
                    sorteio();
                    break;
                case 2:
                    printf("\n ---- DOIS JOGADORES ----\n\n");
                    printf("voce é o jogador 1\n\n");
                    sorteio();
                    printf("Agora é A Vez Do Jogador 2\n\n");
                    sorteio();
                    break;
                case 0:
                    printf("\n       TCHAU");
                    for(vali=0;vali<10;vali++){
                        printf(" .");
                        Sleep(200);
                    }
                    printf("!\n\n");
                    break;
            }
        }while(escolha != 0);
    }

     

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

    ×