Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib> /
- #include <windows.h> // biblioteka pozwalajaca nam wykorzystac komendy z zakresu system("...")
- using namespace std;
- void plansza(char p[]) // algorytm rysujacy plansze 9x9 z pustymi komorkami oznaczonymi p[i]
- {
- cout << "\n---+---+---+---+---+---+---+---+---+\n";
- for(int i=1; i <= 81; i++)
- {
- cout << " "<< p[i] <<" ";
- if(i % 9 )
- cout << "|";
- else if(i != 10000)
- cout << "\n---+---+---+---+---+---+---+---+---+\n";
- else
- cout << endl;
- }
- }
- char ruch(char p[]) //funckja odpowiedzialna za wpisaywanie wartosci w odpowiednie miejsca na planszy
- {
- int r;
- char w;
- cout << "Wybierz pole:";
- cin >> r; // r oznacza miejsce, w ktore gracz chce wpisac jakas liczbe
- if((r >= 1) && (r <= 81) && (r != 3) && (r != 5) && (r != 7) && (r !=9) && (r != 11) && (r != 12) && (r != 17) && (r !=19)
- && (r !=33) && (r != 35) && (r != 37) && (r != 38) && (r !=39) && (r != 43) && (r != 54) && (r != 63) && (r !=67) && (r != 69)
- && (r !=75) && (r !=79))
- {
- cout << "Podaj wartosc, ktora ma byc wpisana w wyzej podane pole:";
- cin >> w; // w oznacza liczbe ktora gracz chce wpisac w miejsce podane wyzej
- if((w='1') || (w='2') || (w='3') || (w='4') || (w='4') || (w='5') || (w='6') || (w='7') || (w='8') || (w='9'))
- // if, ktory ma za zadanie pozwolic wpisywac tylko wartosci z zakresu 1-9
- {
- p[r] = w;
- }
- else cout << "bledna wartosc!";
- }
- else cout << "Bledna wartosc!";
- Sleep(750); // funkcja usypia program na 750 mili sekund
- system("cls"); // po czym czysci ekran konsoli cmd
- return *p;
- }
- bool Wygrana(char p[])
- {
- int IloscZnalezionych=0;
- bool wygrana = false;
- for (int i=1;i<82;i++)
- {
- if ((p[i] == '1') || (p[i] == '2') || (p[i] == '3') || (p[i] == '4')
- || (p[i] == '5') || (p[i] == '6') || (p[i] == '7') || (p[i] == '8') || (p[i] == '9'))
- {
- IloscZnalezionych++;
- }
- }
- if(IloscZnalezionych == 81)
- {
- wygrana = true;
- }
- return wygrana;
- }
- int main()
- {
- char p[82]; // p[82], a nie 81 ze wzgledu na nie uwzglednienie numeracji od 0 w tablicach c++
- for(int i=0; i<82; i++)
- {
- p[i]='0';
- }
- p[3]='1'; p[5]='8'; p[7]='2'; p[9]='3'; p[11]='9';
- p[12]='2'; p[17]='7'; p[19]='7'; p[33]='7'; p[35]='1';
- p[37]='9'; p[38]='3'; p[39]='2'; p[43]='8'; p[54]='9';
- p[63]='5'; p[67]='8'; p[69]='9'; p[75]='6'; p[79]='9'; // recznie zostala uzupelniona w niektorych miejscach plansza sudoku
- for(int i=0; i<82; i++)
- {
- if ((p[i] != '1') && (p[i] != '2') && (p[i] != '3') && (p[i] != '4')
- && (p[i] != '5') && (p[i] != '6') && (p[i] != '7') && (p[i] != '8') && (p[i] != '9'))
- {
- p[i] = ' ';
- }
- }
- bool wygrana=false;
- while(!wygrana)
- {
- plansza(p);
- *p = ruch(p);
- wygrana = Wygrana(p);
- }
- cout << "Brawo! Wygrales";
- cout << "Nacisnij dowolony przycisk, aby opuscic gre:";
- system("pause>nul");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement