#include <iostream>
#include <time.h>
#include <ctime>
#include <cstdio>
#include <windows.h>
#include <stdlib.h>
#include <conio.h>
using namespace std;
bool czyByla( int Liczba, int tab[], int ile )
{
if( ile <= 0 )
return false;
int i = 0;
do
{
if( tab[i] == Liczba )
return true;
i++;
} while( i < ile );
return false;
}
void powitanie()
{
cout << "Witaj przybyszu!" << endl << "Wybierz z ponizszej listy co chcesz zrobic! (wpisz liczbe 0-2 z klawiatury!)" << endl;
}
void menu()
{
cout << "[1]Instrukcja" << endl << "[2]Gra" << endl << "[0]Wyjscie" << endl;
}
void saper()
{
srand( time( NULL ) );
int a;
int b;
int c;
int d;
int e = 0;
int h;
int strzal;
int wylosowane[1000];
int wylosowanych = 0;
string strzelone[20];
for(int l=0; l<20; l++){
strzelone[l]="*";
}
a = ( rand() % 5 ) + 11;
b = ( rand() % 5 ) + 21;
c = ( rand() % 5 ) + 31;
d = ( rand() % 5 ) + 41;
cout << "Trafionych liczb: " << e << endl;
cout << "Zostalo: " << 16-e << endl << endl;
do
{
cout << endl << " 1 2 3 4 5";
h = 0;
for(int l=1;l<5;l++){
cout << endl << l << " ";
cout << strzelone[h] << " ";
h++;
cout << strzelone[h] << " ";
h++;
cout << strzelone[h] << " ";
h++;
cout << strzelone[h] << " ";
h++;
cout << strzelone[h] << " ";
h++;
}
cout << endl << endl << "Gdzie nie ma bomby?" << endl;
cin.clear();
cin.sync();
cin >> strzal;
system("cls");
bool wartosc1 = strzal >= 11 && strzal <= 15;
bool wartosc2 = strzal >= 21 && strzal <= 25;
bool wartosc3 = strzal >= 31 && strzal <= 35;
bool wartosc4 = strzal >= 41 && strzal <= 45;
bool wartosc5 = wartosc1 || wartosc2 || wartosc3 || wartosc4;
bool wartosc6 = cin.fail() || strzal < 11 || strzal > 15 && strzal < 21 || strzal > 25 && strzal < 31 || strzal > 35 && strzal < 41 || strzal > 45;
if( wartosc6 == true && strzal != 32123997 )
{
cout << "Zla liczba!" << endl;
}
if( cin.good() && strzal != a && strzal != b && strzal != c && strzal != d && czyByla( strzal, wylosowane, wylosowanych ) == false && wartosc5 == true )
{
cout << "Brawo! Trafionych liczb: ";
e++;
cout << e << endl << "Zostalo: " << 16-e << endl;
int o;
int licznik = 11;
int licznik2 = 0;
do{
if (strzal == licznik){
strzelone[licznik2] = "x";
o = 1;
}else{
if(licznik == 15 || licznik == 25 || licznik == 35){
licznik+=6;
licznik2++;
}else{
licznik++;
licznik2++;
}
o = 0;
}
}while( o != 1);
}
if( cin.good() && strzal == a || strzal == b || strzal == c || strzal == d )
{
cout << "Niestety, trafiles na bombe!" << endl << "Ulozenie bomb:" << endl;
}
if( czyByla( strzal, wylosowane, wylosowanych ) == false)
{
wylosowane[ wylosowanych ] = strzal;
wylosowanych++;
}
else
{
if( strzal != 32123997 )
cout << "Ta liczba juz padla!" << endl;
}
if( strzal == 32123997 )
{
cout << "Bomby sa na pozycjach: " << a << " " << b << " " << c << " " << d << endl;
}
}while ( strzal != a && strzal != b && strzal != c && strzal != d && e < 16 );
if( e == 16 )
{
for(int l=0; l<20; l++){
if(strzelone[l]=="*"){
strzelone[l] = "o";
}
}
cout << "Yay! Udalo Ci sie! :D" << endl;
cout << endl << endl << endl << " 1 2 3 4 5";
h = 0;
for(int l=1;l<5;l++){
cout << endl << l << " ";
cout << strzelone[h] << " ";
h++;
cout << strzelone[h] << " ";
h++;
cout << strzelone[h] << " ";
h++;
cout << strzelone[h] << " ";
h++;
cout << strzelone[h] << " ";
h++;
}
system("pause");
}
if( e < 16 )
{
int o;
int licznik = 11;
int licznik2 = 0;
do{
if (a == licznik){
strzelone[licznik2] = "o";
o = 1;
}else{
if(licznik == 15 || licznik == 25 || licznik == 35){
licznik+=6;
licznik2++;
}else{
licznik++;
licznik2++;
}
o = 0;
}
}while( o != 1);
do{
if (b == licznik){
strzelone[licznik2] = "o";
o = 1;
}else{
if(licznik == 15 || licznik == 25 || licznik == 35){
licznik+=6;
licznik2++;
}else{
licznik++;
licznik2++;
}
o = 0;
}
}while( o != 1);
do{
if (c == licznik){
strzelone[licznik2] = "o";
o = 1;
}else{
if(licznik == 15 || licznik == 25 || licznik == 35){
licznik+=6;
licznik2++;
}else{
licznik++;
licznik2++;
}
o = 0;
}
}while( o != 1);
do{
if (d == licznik){
strzelone[licznik2] = "o";
o = 1;
}else{
if(licznik == 15 || licznik == 25 || licznik == 35){
licznik+=6;
licznik2++;
}else{
licznik++;
licznik2++;
}
o = 0;
}
}while( o != 1);
for(int l=0; l<20; l++){
if(strzelone[l]=="*"){
strzelone[l] = "x";
}
}
cout << endl << endl << endl << " 1 2 3 4 5";
h = 0;
for(int l=1;l<5;l++){
cout << endl << l << " ";
cout << strzelone[h] << " ";
h++;
cout << strzelone[h] << " ";
h++;
cout << strzelone[h] << " ";
h++;
cout << strzelone[h] << " ";
h++;
cout << strzelone[h] << " ";
h++;
}
cout << endl << endl << endl << "Sprobuj jeszcze raz pozniej!" << endl << endl << endl;
}
Sleep(1500);
system("pause");
}
void instrukcja()
{
cout << "Jest to gra typu saper." << endl << "Polega ona na tym, ze wyswietla sie na ekranie taka tablica:";
cout << endl << endl << " 1 2 3 4 5" << endl << "1 * * * * *" << endl << "2 * * * * *" << endl << "3 * * * * *" << endl << "4 * * * * *" << endl << endl;
cout << "Zadaniem gracza jest zgadywanie, gdzie nie kryja sie bomby." << endl << "Bomby sa cztery - po jednej w kazdym wierszu." << endl << endl << "Jezeli ominiesz wszystkie bomby - wygrywasz." << endl << "Jezeli jednak na jakas trafisz - koniec gry." << endl << endl;
Sleep(300);
cout << "Jak zgadywac? Wpisz wspolrzedne punktu (gwiazdki), np. 15 i zatwierdz klawiszem ENTER." << endl << endl;
Sleep(300);
cout << "Pierwsza cyfra to wiersz (cyfra po lewej) a druga to kolumna (na gorze)." << endl << endl;
cout << "Wcisnij dowolny klawisz, aby rozpoczac gre!";
getch();
system("cls");
}
int main()
{
powitanie();
int wybor;
do
{
menu();
do
{
wybor=getch();
if( wybor > 50 || wybor < 48 )
{
system("cls");
cout << "Zle! Wpisz liczbe 0-2!" << endl << endl;
menu();
}
} while( wybor > 50 || wybor < 48 );
switch( wybor )
{
case 49:
system("cls");
instrukcja();
case 50:
system("cls");
saper();
system("cls");
break;
case 48:
system("cls");
cout << "To czesc ;)" << endl << "Odwiedz mnie jeszcze! :D" << endl;
break;
}
} while( wybor != 48 );
cout << "Program wylaczy sie automatycznie za 5 sekund." << endl;
Sleep(2000);
cout << "3" << endl;
Sleep(1000);
cout << "2" << endl;
Sleep(1000);
cout << "1" << endl;
Sleep(1000);
return 0;
}