Como primeira postagem quero dividir com vocês a minha versão do jogo da forca feito em C++, foi um exercício proposto por um professor nos tempos de graduação.
--- Jogo da Forca C++ ---
/*
Programa: Jogo da forca
Aluno: xxxxxx
Professor: xxxxxx
Curso: xxxxxx
Disciplina: xxxxxx
*/
#include <iostream>
using namespace std;
void teste (char *v, char *c, char *l, int &a, int &b, int &quant)
{
//Declaramos que J e E sao variaveis inteiras. Atribuimos o valor 0 para ambas as variaveis
int j,e;
j=0;
e=0;
//Um FOR que conta a quantidade de tentativas
for (j=0;j<quant;j++) // para j igual a 0
{
if (v[j] == l[0]) // se v [contador j] igual a l [0]
{
c[j]=v[j]; // se c [contador j] igual a v [contador j]
a++;
}
else
e++;
}
if (e==quant)// se e igual a quant
b++;
}
main ()
{
system ("color 1b");
char l[1], p[70],a[70],letras[70];
int erro=0,acerto=0,i=0 , j, k, quant, w, f, nivel, tent;
//Tela de boas vindas
cout << "\t\t ----------------------------------------\n";
cout << "\t\t ++++++ ++++++ ++++++ ++++++ ++++++ \n";
cout << "\t\t ++++++ ++++++ ++++++ ++++++ ++++++ \n";
cout << "\t\t +++ ++ + ++ + ++ +++ + \n";
cout << "\t\t +++ ++ + ++ + ++ +++ + \n";
cout << "\t\t ++++++ ++ + +++++ ++ +++ + \n";
cout << "\t\t ++++++ ++ + ++++ ++ +++ + \n";
cout << "\t\t +++ ++++++ ++ ++ ++++++ ++++++ \n";
cout << "\t\t +++ ++++++ ++ ++ ++++++ +++ + \n";
cout << "\t\t +++ ++++++ ++ ++ ++++++ +++ + \n";
cout << "\t\t ----------------------------------------\n\n";
cout << "\t\t Jogo da Forca \n\n\n\n";
cout << "\t\t SEJA BEM VINDO(A) AO JOGO DA FORCA!!! \n\n\n\n\n";
cout << "\t\t\t Para jogar pressione <ENTER>";
system("PAUSE > null");
system ("cls");
//Menu - digitar palavra
cout<<"\n +-------------+";
cout<<"\n |JOGO DA FORCA|";
cout<<"\n +-------------+\n\n";
cout<<"Obs.: Peca a outra pessoa que informe os dados abaixo:\n\n";
cout<<"\n\n -> Digite a palavra a ser adivinhada: ";
gets(p);
//Menu que apresenta o nivel de dificuldade
cout << "\n\n\n *** Ha tres niveis de dificuldade *** " <<endl <<endl;
cout << "<1> Dificil (Voce so podera errar duas vezes).\n";
cout << "<2> Medio (Voce so podera errar quatro vezes).\n";
cout << "<3> Facil (Voce so podera errar seis vezes).\n"<<endl;
cout << "\n\n -> Digite o nivel de dificuldade: " ;
cin >> nivel;
//Primeira apresentacao da forca e apresentacao das lacunas
strupr(p); //Converte palavras minusculas em MAIUSCULAS
quant = strlen (p);//Conta a quantidade de letras das palavras digitadas
system ("cls");
cout<<"\n\n_________"<<endl<<endl<<endl<<endl;
for (w=0;w<quant;w++){
cout<<"_ ";
}
cout<<endl<<"\n\n\n -> Digite a letra que deseja tentar: ";
//O IF correspondente ao nivel de dificuldade
{
if (nivel == 1)
tent = 2;
else
if (nivel == 2)
tent = 4;
else
if (nivel ==3)
tent = 6;
else
cout << "\n\n*** Opcao invalida *** ";
for (j=0;j<quant;j++)
a[j] = '_';
for (j=0;j<10;j++)
letras[j] = ' ';
while(erro < tent && acerto < quant)
{
cin >> l;
strupr (l);
do
{
j=1;
for (k=0;k<10;k++)
{
if (l[0] == letras[k])
j=0;
}
if (j==0)
{
cout<<"\n\n*** Essa letra ja foi digitada, tente outra! *** ";
cin >> l;
}
}
while (j==0);
letras[i]=l[0];
i++;
system ("cls");
teste(p,a,l,acerto,erro, quant);
switch (erro)
{
case 0: cout<<"\n\n_________\n\t \n\n\n";break;
case 1: cout<<"\n\n_________\n\t O\n\n\n";break;
case 2: cout<<"\n\n_________\n\t O\n\t X\n\n";break;
case 3: cout<<"\n\n_________\n\t O\n\t/X\n\n";break;
case 4: cout<<"\n\n_________\n\t O\n\t/X\\\n\n"; break;
case 5: cout<<"\n\n_________\n\t O\n\t/X\\\n\t/ \n";break;
case 6: cout<<"\n\n_________\n\t O\n\t/X\\\n\t/ \\\n";break;
}
for (f=0;f<quant;f++)
cout<<a[f]<<" ";
cout<<endl;
cout<<"\n\nAcertos: "<<acerto<<endl<<"Erros: "<<erro<<endl;
cout<<"Todas as letras ja tentadas: "<<letras<<endl<<endl;
cout<<"\n\n-> Digite a letra que deseja tentar: ";
}
if (erro == tent)
{
cout << "\n\n GAME OVER!!!!!"<<endl;
cout << "\n\n Voce perdeu!!!" << endl;
cout << "\n\n A palavra correta e:"<<p;
}
else
cout<<endl<<endl<<"PARABENS, VOCE VENCEU!!!!!"<<endl;
system("PAUSE > null");
}
}
Nenhum comentário:
Postar um comentário