comentar tudo para que pudessem entender.E um jogo que utiliza os recursos da bilbioteca graphics.h, bem simples mas bem didatico e atedivertido. Aproveitem! O executavel pra jogar se encontra no link abaixo.Baixe tudo aqui: http://www.4shared.com/file/e5I61g_L/Forca.htmlFonte:#include<stdio.h>#include<conio.h>#include<stdlib.h>#include<graphics.h>/* Nome do Programa: Forca em CAutor: Fernando VieiraCo-Autores: Testes: Luiza AllenBlog: http://fgaexplica.blogspot.comAluno da UNB - Gama, DFComentario: O jogo e para facilitar o aprendizado da biblioteca graphics.h, se divirtam e alteremcomo quiser! Duvidas entrem no blog.*///funcoes utilizadasvoid fillrectangle(int x, int y, int width, int heigth) //criei pra facilitar o uso da bar{ bar(x, y, x+width, y+heigth); //bar pegava x e y inicial e x e y final, aqui o final vem com a soma da largura e altura}void preencher(char letra, int pos) //preenchendo os espacos{ //coordenadas do primeiro espaco char texto[1]; //string que recebera o texto a ser escrito na tela //a string recebe a letra e o caracter \0 que define o final de uma string texto[0]=letra; texto[1]='\0'; outtextxy((65+20/2)+30*pos, 135-1, texto); //pos e a posicao e identifica em qual dos espacos sera escrita a letra}void desenha_parte(int erros) //pega o numero do erro cometido e desenha parte correspondente{ switch(erros) { case 1: fillellipse(88+2, 30+20+10, 10, 10); //cabeca break; case 2: moveto(80+2+10, 30+20+10+10); //corpo linerel(0, 35); break; case 3: moveto(80+2+10-1, 30+20+10+10+5); //braco a direita linerel(-15, 10); break; case 4: moveto(80+2+10+1, 30+20+10+10+5); //braco a esquerda linerel(15, 10); break; case 5: moveto(80+2+10, 30+20+10+10+35); //perna a direita linerel(-10, 25); break; case 6: moveto(80+2+10, 30+20+10+10+35); //perna a esquerda linerel(10, 25); break; default: break; }}//main int driver, mode, key=0; int j,i, x, y, largura, altura, erros, acertos; char *palavra, palavra2[50], *dica, dica2[50], letra, *palavras[50], *dicas[50]; bool acabou=false; int main() { initwindow(600,400); printf("Digite 0 para jogar sozinho ou 1 para jogar com duas pessoas: "); scanf("%d",&j); getchar(); //tava capturando algo desnecessario, coloquei ai para pegar if(j!=1) { //jogar de um palavras[0]="abacaxi"; dicas[0]="fruta"; palavras[1]="banana"; dicas[1]="fruta"; palavras[2]="ronaldo"; dicas[2]="jogador"; palavras[3]="neymar"; dicas[3]="jogador"; palavras[4]="dificil"; dicas[4]="???"; palavras[5]="lapiseira"; dicas[5]="objeto"; palavras[6]="bola"; dicas[6]="objeto"; palavras[7]="computador"; dicas[7]="objeto"; palavras[8]="escrivaninha"; dicas[8]="objeto"; palavras[9]="golfe"; dicas[9]="esporte"; palavras[10]="futebol"; dicas[10]="esporte"; palavras[11]="porco"; dicas[11]="animal"; palavras[12]="touro"; dicas[12]="esporte"; palavras[13]="cavalo"; dicas[13]="esporte"; srand(time(NULL)); //definindo o numero aleatorio pela hora atual do sistema i=rand()%14; //pegando um numero de 0 a 13 palavra=palavras[i]; dica=dicas[i]; } else { printf("Digite a palavra: "); gets(palavra2); //to passando para uma string de tamanho limitado porque nao estava lendo direto... palavra=palavra2; printf("Digite a dica: "); gets(dica2); dica=dica2; //to passando para uma string de tamanho limitado porque nao estava lendo direto... } system("cls"); outtextxy(50,10,"Forca"); //colocando a dica na tela outtextxy(130,10,dica); //mostrando a dica //desenhando a forca x=20; y=150; largura=40; altura=5; fillrectangle(x, y, largura, altura); fillrectangle(x=x+18, y, 5, -120); //x=38 fillrectangle(x, y=y-120, 50, 5); //y=30 fillrectangle(x=x+50, y, 5, 20); //x=88 //desenhando espacos para letras x=65; y=150; largura=25; altura=5; for(i=0; i < strlen(palavra); i++) { fillrectangle(x+30*i, y, largura, altura); //cada uma esta separada por 30 pixels no eixo x (horizontalmente) } while(!acabou) //enquanto nao tiver alcancado uma condicao para acabar (ganhar ou perder) { bool acerto=false; //variavel que informa se houve acerto com a letra escolhida printf("Escolha uma letra: "); letra = getchar(); //pegando a letra for(i=0; i < strlen(palavra); i++) //verificacao letra a letra { if(palavra[i]==letra) //verificando se a letra escolhida e igual a alguma da palavra