#include #include #include #include #include #include #include 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; }