Skip to content

Commit

Permalink
WSZYSTKO DZIAŁA.
Browse files Browse the repository at this point in the history
Do przejrzenia: implementacja istniejących wzorców;
Do zrobienia: stan
  • Loading branch information
xXxF0RR35TC4MPxXx committed Jan 23, 2022
1 parent 452c0da commit e7836de
Show file tree
Hide file tree
Showing 6 changed files with 54 additions and 335 deletions.
5 changes: 5 additions & 0 deletions pvbtest
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
1 forrest1 Komputer 13 10 5 2
1 0 1 0 0 0 0 3 3 3 0 0 0 0 2 2 0 0 0 0 0 1 0 . 0 0 0 0 . 0 0 0 0 2 0 0 0 . 0 0 1 0 0 2 0 . . x 0 0 0 . 0 0 0 x 0 4 0 0 0 2 0 . 0 3 0 4 0 0 0 2 0 . 0 3 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 . 0 . x x x x . 0 0 0 0 0 0 0 0 0 0 0 . 0 0 . 0 0 0 0 0 0 0 0 0 0 0 0 x 0 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 . 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 . 0 . x x x x . 3 0 2 2 0 0 0 0 0 0 3 . 0 0 . 0 0 0 0 0 3 2 2 0 0 0 0 x 0 0 0 0 . 0 0 0 0 0 0 0 1 . 0 0 . 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 2 0 3 0 0 0 0 0 0 0 2 0 3 0 0 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 . 0 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 . . x 0 0 0 . 0 0 0 x 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10 changes: 5 additions & 5 deletions pvptest
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
2 f1 f2 7 6 3 2
1 0 x 0 0 0 0 3 0 0 0 0 . 0 2 2 0 3 0 0 1 0 1 0 0 0 0 3 0 0 . 0 . 0 2 x 0 0 0 0 0 2 0 0 0 . 0 0 0 0 0 2 0 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
x . 0 0 x 0 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 x . 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
x 0 0 0 x 2 0 0 0 0 . 0 1 0 . 0 0 2 0 0 0 0 0 . 0 0 0 2 0 0 0 0 0 0 2 2 0 0 0 0 x . 1 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 0 0 0 0 3 0 0 0 0 0 0 0 0 0 3 0 0 4 4 4 4 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 . 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x . 0 . 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x . 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 forrest1 forrest2 7 12 3 8
x . x 0 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 x . x 0 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 x 0 2 0 0 0 0 0 0 0 x 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x 0 3 0 0 0 0 0 0 0 x . 3 0 0 0 0 0 0 0 . 0 3 0 0 0 0 0 0 0
x 0 x 0 0 0 0 0 0 0 0 . x 0 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
x 3 3 . 3 3 3 0 0 0 0 . 0 0 0 0 0 0 0 0 x x . 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 2 0 2 0 4 0 0 0 0 0 2 0 2 0 4 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
x 0 x 0 x x 0 x x . . 0 . 0 0 0 0 0 . 0 x 0 x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
319 changes: 13 additions & 306 deletions render_api.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -56,19 +56,23 @@ std::string render_api::podaj_nick(sf::RenderWindow* Window) {
f->loadFromFile(FONT_DIR);
sf::Text t = *SFMLFactory::createText("", *f, 50, 75, 250);
string s;
bool czy_wyjsc = false;
sf::Texture* tx = new Texture();
tx->loadFromFile("Texture/podaj_nick.png");
RectangleShape podaj_nick_background = *SFMLFactory::createRectangle(WINDOW_WIDTH, WINDOW_HEIGHT, *tx);
while (Window->isOpen())
{

Window->clear();
Window->draw(podaj_nick_background);
Window->display();
while (Window->isOpen()) {
sf::Event gevent;
Window->clear();
Window->draw(podaj_nick_background);
Result result = RenderHandler::handleNickEvent(Window, &t);
t.setString(result.nickname);
Window->draw(t); //tutaj error
Window->display();

return RenderHandler::handleNickEvent(Window, &t);
}
if(result.exit) return t.getString();
}
}
void render_api::ustawiasz_statek(int typ, int nr, sf::RenderWindow* Window, int typ_wiadomosci, Font* f) {
string s;
Expand Down Expand Up @@ -125,310 +129,13 @@ void render_api::render_planszy_gra(Plansza plansza1, Plansza plansza2, Plansza
auto komunikat = *SFMLFactory::createText("", f, 18, 333, 539);
komunikat.setFillColor(sf::Color::Red);

//ladowanie dostepnych tekstur pol
Texture sprite_pustego_pola_texture;
sprite_pustego_pola_texture.loadFromFile("Texture/empty_tile.png");
Texture sprite_1_tile;
sprite_1_tile.loadFromFile("Texture/1_tile.png");
Texture sprite_2_tile;
sprite_2_tile.loadFromFile("Texture/2_tile.png");
Texture sprite_3_tile;
sprite_3_tile.loadFromFile("Texture/3_tile.png");
Texture sprite_4_tile;
sprite_4_tile.loadFromFile("Texture/4_tile.png");
Texture sprite_hit_tile;
sprite_hit_tile.loadFromFile("Texture/hit_tile.png");
Texture sprite_miss_tile;
sprite_miss_tile.loadFromFile("Texture/missed_tile.png");
game_screen game_screen(Window->getSize().x, Window->getSize().y, Window);
//render_api* renderer = this->GetInstance();
//int nr = 1;
//int odpowiedz = -1;
//int jezeli_wygrana = 0;
//bool podaje_kierunek = false;
//bool czy_error = false;
//bool czy_kontynuowac = true;
//unsigned int wspolrzedna_x, wspolrzedna_y, orientacja = 1;
RenderHandler::handleBoardGame(game_background, sprite_pustego_pola_texture,
sprite_1_tile, sprite_2_tile, sprite_3_tile, sprite_4_tile,
sprite_hit_tile, sprite_miss_tile, twojaplanszatekst,

RenderHandler::handleBoardGame(game_background, twojaplanszatekst,
planszaprzeciwnikatekst, komunikat,
game_screen, plansza1, plansza2, plansza2_1, plansza2_2,
Window, typ, oddane_strzaly_1, oddane_strzaly_2, trafienia_1, trafienia_2);
//while (Window->isOpen() && czy_kontynuowac)
//{
// Event gevent;

// Window->clear();
// Window->draw(game_background);
// Window->draw(twojaplanszatekst);
// Window->draw(planszaprzeciwnikatekst);
// Window->draw(komunikat);
// game_screen.draw(*Window, plansza1, plansza2, 2);
// Window->display();
// wspolrzedna_x = 0;
// int czy_trafione = 0;
// wspolrzedna_y = 0;
// while (Window->pollEvent(gevent))
// {
// if (gevent.type == Event::MouseButtonPressed) {

// }
// if (gevent.type == Event::KeyPressed) {
// if (gevent.key.code == Keyboard::Up)
// {
// game_screen.MoveUp(plansza2, 2);
// break;
// }
// if (gevent.key.code == Keyboard::Down) {
// game_screen.MoveDown(plansza2, 2);
// break;
// }
// if (gevent.key.code == Keyboard::Left) {
// game_screen.MoveLeft(plansza2, 2);
// break;
// }
// if (gevent.key.code == Keyboard::Right) {
// game_screen.MoveRight(plansza2, 2);
// break;
// }
// if (gevent.key.code == Keyboard::Return)
// {

// wspolrzedna_x = floor(game_screen.PoleSelected / 10);
// wspolrzedna_y = game_screen.PoleSelected % 10;


// if (typ == 1 || typ == 2) {
// if (plansza2_1.pola_planszy[wspolrzedna_y][wspolrzedna_x]->symbol == ' ')//jezeli uzytkownik strzelil w puste pole
// {
// if (typ == 1) {
// oddane_strzaly_1++;
// temp_shot1++;

// }
// if (typ == 2) {
// oddane_strzaly_2++;
// temp_shot2++;
// }
// //ustawianie oznaczenia strzalu w odpowiednich tablicach

// komunikat.setPosition(Vector2f(356, 539));
// komunikat.setString("Pudlo!");
// Window->clear();
// Window->draw(game_background);
// Window->draw(twojaplanszatekst);
// Window->draw(planszaprzeciwnikatekst);
// Window->draw(komunikat);
// game_screen.draw(*Window, plansza1, plansza2, 2);
// Window->display();
// plansza2_1.pola_planszy[wspolrzedna_y][wspolrzedna_x]->symbol = '.';
// plansza2.pola_planszy[wspolrzedna_x][wspolrzedna_y]->symbol = '.';
// czy_trafione = 0;
// czy_kontynuowac = false;
// }
// else if (plansza2_1.pola_planszy[wspolrzedna_y][wspolrzedna_x]->symbol == 'x' || plansza2_1.pola_planszy[wspolrzedna_y][wspolrzedna_x]->symbol == '.')//jezeli uzytkownik strzelil w juz strzelane pole
// {

// if (typ == 1) {
// oddane_strzaly_1++;
// temp_shot1++;


// }
// if (typ == 2) {
// oddane_strzaly_2++;
// temp_shot2++;
// }
// komunikat.setPosition(Vector2f(226, 539));
// komunikat.setString("Strzelales juz tutaj!");
// Window->clear();
// Window->draw(game_background);
// Window->draw(twojaplanszatekst);
// Window->draw(planszaprzeciwnikatekst);
// Window->draw(komunikat);
// game_screen.draw(*Window, plansza1, plansza2, 2);
// Window->display();
// czy_trafione = 2;
// czy_kontynuowac = false;
// }
// else//jezeli uzytkownik trafil
// {
// if (typ == 1) {
// oddane_strzaly_1++;

// temp_shot1++;

// trafienia_1++;

// temp_hit1++;

// }
// if (typ == 2) {
// oddane_strzaly_2++;

// temp_shot2++;
// trafienia_2++;

// temp_hit2++;
// }

// komunikat.setString("Trafiles!");
// czy_kontynuowac = true;
// Window->clear();
// Window->draw(game_background);
// Window->draw(twojaplanszatekst);
// Window->draw(planszaprzeciwnikatekst);
// Window->draw(komunikat);
// game_screen.draw(*Window, plansza1, plansza2, 2);
// Window->display();
// //umieszczanie odpowiednich oznaczen statkow na tablicach
// if (plansza2_1.pola_planszy[wspolrzedna_y][wspolrzedna_x]->symbol == '1')//jezeli statek jednomasztowy
// {
// plansza2.pola_planszy[wspolrzedna_x][wspolrzedna_y]->symbol = 'x';
// }
// else if (plansza2_1.pola_planszy[wspolrzedna_y][wspolrzedna_x]->symbol == '2')//jezeli statek dwumasztowy
// {
// plansza2.pola_planszy[wspolrzedna_x][wspolrzedna_y]->symbol = 'x';
// }
// else if (plansza2_1.pola_planszy[wspolrzedna_y][wspolrzedna_x]->symbol == '3')//jezeli statek trzymasztowy
// {
// plansza2.pola_planszy[wspolrzedna_x][wspolrzedna_y]->symbol = 'x';
// }
// else if (plansza2_1.pola_planszy[wspolrzedna_y][wspolrzedna_x]->symbol == '4')//jezeli statek czteromasztowy
// {
// plansza2.pola_planszy[wspolrzedna_x][wspolrzedna_y]->symbol = 'x';
// }
// plansza2_1.pola_planszy[wspolrzedna_y][wspolrzedna_x]->symbol = 'x';//ustawienie na planszy drugiego gracza oznaczenia, ze przeciwnik trafil
// czy_trafione = 1;
// jezeli_wygrana = czy_wygrana(plansza2_1);//sprawdzenie czy gracz wygral
// if (jezeli_wygrana == 1)//jezeli wygral
// {
// czy_kontynuowac = false;
// //wygrana(nick1);//wyswietlenie statystyk
// break;
// }
// }
// std::cout << "PLANSZA2_1\n";
// for (int i = 0; i < 10; i++) {
// for (int j = 0; j < 10; j++) {
// if (plansza2_1.pola_planszy[j][i]->symbol != ' ')
// std::cout << plansza2_1.pola_planszy[j][i]->symbol;
// else std::cout << '-';
// }std::cout << "\n";
// }
// }
// //typ 3 jest ok - NIE RUSZAC!
// else if (typ == 3) {
// if (plansza2_1.pola_planszy[wspolrzedna_x][wspolrzedna_y]->symbol == ' ')//jezeli uzytkownik strzelil w puste pole
// {
// //ustawianie oznaczenia strzalu w odpowiednich tablicach

// oddane_strzaly_1++;
// temp_shot1++;


// komunikat.setPosition(Vector2f(356, 539));
// komunikat.setString("Pudlo!");
// Window->clear();
// Window->draw(game_background);
// Window->draw(twojaplanszatekst);
// Window->draw(planszaprzeciwnikatekst);
// Window->draw(komunikat);
// game_screen.draw(*Window, plansza1, plansza2, 2);
// Window->display();
// plansza2_1.pola_planszy[wspolrzedna_x][wspolrzedna_y]->symbol = '.';
// plansza2.pola_planszy[wspolrzedna_x][wspolrzedna_y]->symbol = '.';
// czy_trafione = 0;
// czy_kontynuowac = false;
// }
// else if (plansza2_1.pola_planszy[wspolrzedna_x][wspolrzedna_y]->symbol == 'x' || plansza2_1.pola_planszy[wspolrzedna_x][wspolrzedna_y]->symbol == '.')//jezeli uzytkownik strzelil w juz strzelane pole
// {

// oddane_strzaly_1++;
// temp_shot1++;

// komunikat.setPosition(Vector2f(226, 539));
// komunikat.setString("Strzelales juz tutaj!");
// Window->clear();
// Window->draw(game_background);
// Window->draw(twojaplanszatekst);
// Window->draw(planszaprzeciwnikatekst);
// Window->draw(komunikat);
// game_screen.draw(*Window, plansza1, plansza2, 2);
// Window->display();
// czy_trafione = 2;
// czy_kontynuowac = false;
// }
// else//jezeli uzytkownik trafil
// {
// oddane_strzaly_1++;
// temp_shot1++;

// trafienia_1++;
// temp_hit1++;

// komunikat.setString("Trafiles!");
// czy_kontynuowac = true;
// Window->clear();
// Window->draw(game_background);
// Window->draw(twojaplanszatekst);
// Window->draw(planszaprzeciwnikatekst);
// Window->draw(komunikat);
// game_screen.draw(*Window, plansza1, plansza2, 2);
// Window->display();
// //umieszczanie odpowiednich oznaczen statkow na tablicach
// if (plansza2_1.pola_planszy[wspolrzedna_x][wspolrzedna_y]->symbol == '1')//jezeli statek jednomasztowy
// {
// plansza2.pola_planszy[wspolrzedna_x][wspolrzedna_y]->symbol = 'x';
// }
// else if (plansza2_1.pola_planszy[wspolrzedna_x][wspolrzedna_y]->symbol == '2')//jezeli statek dwumasztowy
// {
// plansza2.pola_planszy[wspolrzedna_x][wspolrzedna_y]->symbol = 'x';
// }
// else if (plansza2_1.pola_planszy[wspolrzedna_x][wspolrzedna_y]->symbol == '3')//jezeli statek trzymasztowy
// {
// plansza2.pola_planszy[wspolrzedna_x][wspolrzedna_y]->symbol = 'x';
// }
// else if (plansza2_1.pola_planszy[wspolrzedna_x][wspolrzedna_y]->symbol == '4')//jezeli statek czteromasztowy
// {
// plansza2.pola_planszy[wspolrzedna_x][wspolrzedna_y]->symbol = 'x';
// }
// plansza2_1.pola_planszy[wspolrzedna_x][wspolrzedna_y]->symbol = 'x';//ustawienie na planszy drugiego gracza oznaczenia, ze przeciwnik trafil
// czy_trafione = 1;
// jezeli_wygrana = czy_wygrana(plansza2_1);//sprawdzenie czy gracz wygral
// if (jezeli_wygrana == 1)//jezeli wygral
// {
// czy_kontynuowac = false;
// //wygrana(nick1);//wyswietlenie statystyk
// break;
// }
// }
// std::cout << "PLANSZA1_2\n";
// for (int i = 0; i < 10; i++) {
// for (int j = 0; j < 10; j++) {
// if (plansza2.pola_planszy[i][j]->symbol != ' ')
// std::cout << plansza2.pola_planszy[i][j]->symbol;
// else std::cout << '-';
// }std::cout << "\n";
// }
// std::cout << "PLANSZA2_1\n";
// for (int i = 0; i < 10; i++) {
// for (int j = 0; j < 10; j++) {
// if (plansza2_1.pola_planszy[i][j]->symbol != ' ')
// std::cout << plansza2_1.pola_planszy[i][j]->symbol;
// else std::cout << '-';
// }std::cout << "\n";
// }
// }
// }
// }
// if (gevent.type == Event::Closed) {
// Window->close();
// }
// //Window->display();
// }
//}

}
void render_api::przekaz_komputer(sf::RenderWindow* Window) {
sf::Texture* t = new sf::Texture();
Expand Down
14 changes: 7 additions & 7 deletions render_api.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,19 +41,19 @@ class render_api {



//ekrany odczytu pliku zapisu, info o uszkodzeniu pliku, b��dzie lub kto zaczyna
//ekrany odczytu pliku zapisu, info o uszkodzeniu pliku, bledzie lub kto zaczyna

void wczytaj_save_background_method(sf::RenderWindow*, sf::Text); //wy�wietlenie t�a podczas wczytywania pliku zapisu
void plik_uszkodzony(sf::RenderWindow*); //wy�wietlenie ekranu z info o uszkodzonym pliku zapisu
void blad_odczytu_save(sf::RenderWindow* Window, sf::Text text); //ekran b��du odczytu pliku z zapisem
void wczytaj_save_background_method(sf::RenderWindow*, sf::Text); //wyswietlenie tla podczas wczytywania pliku zapisu
void plik_uszkodzony(sf::RenderWindow*); //wyswietlenie ekranu z info o uszkodzonym pliku zapisu
void blad_odczytu_save(sf::RenderWindow* Window, sf::Text text); //ekran bledu odczytu pliku z zapisem
void zaczyna(sf::RenderWindow*, char*); //ekran z info o tym kto zaczyna wznowion� gr�


//pozosta�e ekrany, rysowanie samego t�a, wypisywanie planszy w konsoli (debug) i czyszczenie ekranu

void instrukcja(sf::RenderWindow*); //wy�wietlenie ekranu z instrukcj�
void tworcy(sf::RenderWindow*); //wy�wietlenie ekranu z list� tw�rc�w
void draw_empty_background(sf::RenderWindow* Window); //wy�wietlenie pustego t�a (bez napis�w)
void instrukcja(sf::RenderWindow*); //wyswietlenie ekranu z instrukcja
void tworcy(sf::RenderWindow*); //wyswietlenie ekranu z lista tw�rcow
void draw_empty_background(sf::RenderWindow* Window); //wyswietlenie pustego tla (bez napisow)
void wypisz_plansze(Plansza plansza); //wypisywanie wskazanej planszy do konsoli (do debugowania)
void clear_screen(sf::RenderWindow*); //czyszczenie ekranu

Expand Down
Loading

0 comments on commit e7836de

Please sign in to comment.