[Duvida] Forca em C

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:
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.
 
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 :)
 
Back
Topo