1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[Duvida] Forca em C

Discussão em 'Programação' iniciada por CarlosLousada, 22 de Janeiro de 2009. (Respostas: 5; Visualizações: 1144)

  1. CarlosLousada

    CarlosLousada What is folding?

    Boas...
    Eu tou a fazer o jogo da forca em linguagem c, mas agora nao tou a conseguir quando falha a letra aparecer a cabeça depois os braços e por ae!!
    alguem me pode explicar como fazo isso??


    O codigo que tenho é este:
    Código:
    #include <STDIO.H>
    #include <stdlib.h>
    #include <conio.h>
    #include <dos.h>
    #include <bios.h>
    #include <string.h>
     
    main()
    {
    int tecla,n=0;
    char nome[50];
    char ast[50]={""};
    clrscr();
    gets(nome);
    clrscr();
    gotoxy(30,4);
    printf(" ÉÍÍÍÍË");
    gotoxy(30,5);
    printf(" º ");
    gotoxy(30,6);
    printf(" º ");
    gotoxy(30,7);
    printf(" º");
    gotoxy(30,8);
    printf(" º");
    gotoxy(30,9);
    printf(" º");
    gotoxy(30,10);
    printf("°°°");
    gotoxy(30,11);
    do
    {
    if(nome[n]>='a' && nome[n]<='z')
    {
    ast[n]='-';
    }
    if(nome[n]==' ')
    {
    ast[n]=' ';
    }
    n++;
    }while(nome[n]!='\0');
    ast[n]='\0';
    do
    {
    gotoxy(10,10);
    n=0;
    puts(ast);
    tecla=getch();
    while(nome[n]!='\0')
    {
    if(nome[n]==tecla)
    {
    ast[n]=nome[n];
    }
    n++;
    }
    }while(strcmp(nome,ast)!=0);
    }
    
     
    Última edição pelo moderador: 22 de Janeiro de 2009
  2. Se percebi bem o teu problema é um problema de "desenho" na consola, correcto?
     
  3. CarlosLousada

    CarlosLousada What is folding?

    sim é isso ....
    o meu problema é nao conseguir por a aparecer a cabeça quando errar uma letra e por ae fora!
    cumps
     
  4. A minha sugestão é que guardes o desenho do boneco num array de chars (com os espaços e \n necessários).

    Depois para imprimir o boneco basta percorrer o array do início e ir imprimindo o boneco até onde se queira. Basta guardar que até a posição "i" do array está a cabeça e que até a posição i+x está a cabeça e braço, etc. Btw se programares C em linux (aconselho) usa o DDD.
     
  5. CarlosLousada

    CarlosLousada What is folding?

    PressPot podes por um exemplo se faz favor é que nao tou a enter muito bem!
    cumps

     
  6. Platanos

    Platanos I quit My Job for Folding

    Para ser mais simples entenderes imagina esta string:
    a=" O \n /_\ \n / \ \n"
    Isto dá um boneco muito mal feito mas que serve para te explicar...
    Quando quiseres só a cabeça imprimes até à posição a[5] e tens:
    O

    Quando quiseres juntas um braço imprimindo até à posição a[7] e tens:
    O
    /

    Quando quiseres juntas outro braço imprimindo até à posição a[12] e tens:
    O
    /_\

    E assim sucessivamente até que imprimes tudo e tens o boneco inteiro:
    O
    /_\
    / \

    Agora é só adaptares isto a uma array e penso que tens o que o PressPot queria dizer :)
     

Partilhar esta Página