Среда разработки: Borland C++ 3.1
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <time.h>
#include <stdlib.h>
void igra(int popitka)
{
//[1] Ввод строки из файла//
int i=0;
char *zagadka;
FILE *fp=fopen("word.txt","r");
while(!feof(fp)) {i++; fgets(zagadka,512,fp);}
fclose(fp);
free(fp);
randomize();
i=random(i);
fp=fopen("word.txt","r");
while(i) {i--; fgets(zagadka,512,fp);}
fclose(fp);
free(fp);
//[1]
char *otgadka="************************************************";
while (popitka)
{ clrscr();
cout << "Игра \"Виселица\"";
cout << "\n /---\";
cout << "\n ¦ ¦";
cout << "\n ¦ (_)";
cout << "\n ¦";
cout << "\n ¦";
cout << "\n-----\n\n";
cout << "\nУгаданные символы: ";
int ugadal=-1;
i=strlen(zagadka);
while(i) {
i--; cout << otgadka[strlen(zagadka)-i-2];
if(otgadka[strlen(zagadka)-i-2]==zagadka[strlen(zagadka)-i-2])
ugadal++;
}
if (ugadal==strlen(zagadka)-1) break;
cout << "\nОсталось попыток: " << popitka;
cout << "\nНажмите русскую букву";
char c=getch();
cout << c << "\n";
popitka--;
int wau=0;
i=strlen(zagadka);
while(i)
{i--; if(zagadka[i]==c) { otgadka[i]=c; wau=1;}}
if(wau==1) popitka++;
}
i=strlen(zagadka);
while(i) {i--; otgadka[strlen(zagadka)-i-2]='*';}
clrscr();
if(popitka==0)
cout << "Вы проиграли.\n";
else cout << "Вы выиграли.\n";
cout << "\nВыберите действие: ";
cout << "\n1 - Новая игра (10 попыток)";
cout << "\n2 - Продолжение игры (" << popitka <<" попыток)";
cout << "\n3 - Выход из программы";
char answer=getch();
switch(answer)
{
case '1':igra(10); break;
case '2':igra(popitka); break;
case '3':exit(0); break;
}
}
//-----------------------------------------
void main()
{
igra(10);
}