Skip to content
Snippets Groups Projects
Commit 9b3f9c9a authored by Papp Benjámin's avatar Papp Benjámin
Browse files

javított streak vizsgálás, hibás key kezelés, inkább kikommenteltem, nem befejezett won ablak

parent a2c4acfa
Branches
No related tags found
No related merge requests found
......@@ -24,38 +24,64 @@ void Mester::PlayerChange(){
}
void Mester::iranyitas(Palyamezo* f, event ev) {
if(f->hozzaer(ev) && !f->get_filled() && !f->get_hovered()){
f->hovered_draw();
f->set_hovered();
}
if(!f->hozzaer(ev) && !f->get_filled() && f->get_hovered()){
f->draw();
f->reset_hovered();
}
if(f->select(ev) && !f->get_filled()){
f->occupy(aktiv->get_sorszam());
f->fillin();
lepes = true;
/*if(ev.type == ev_key){
negyzetek[focused_index]->hovered_draw();
negyzetek[focused_index]->set_hovered();
if(ev.keycode == key_left && focused_index-20 >= 0){
negyzetek[focused_index]->draw();
negyzetek[focused_index]->reset_hovered();
focused_index = focused_index-20;
negyzetek[focused_index]->hovered_draw();
negyzetek[focused_index]->set_hovered();}
if(ev.keycode == key_right && focused_index+20 < 400){
negyzetek[focused_index]->draw();
negyzetek[focused_index]->reset_hovered();
focused_index = focused_index+20;
negyzetek[focused_index]->hovered_draw();
negyzetek[focused_index]->set_hovered();}
if(ev.keycode == key_up && focused_index-1 >= 0){
negyzetek[focused_index]->draw();
negyzetek[focused_index]->reset_hovered();
focused_index = focused_index+20;
negyzetek[focused_index]->hovered_draw();
negyzetek[focused_index]->set_hovered();}
if(ev.keycode == key_up && focused_index+1 < 400){
negyzetek[focused_index]->draw();
negyzetek[focused_index]->reset_hovered();
focused_index = focused_index+20;
negyzetek[focused_index]->hovered_draw();
negyzetek[focused_index]->set_hovered();}
}*/
if(ev.type == ev_mouse){
if(f->hozzaer(ev) && !f->get_filled() && !f->get_hovered()){
f->hovered_draw();
f->set_hovered();
}
if(!f->hozzaer(ev) && !f->get_filled() && f->get_hovered()){
f->draw();
f->reset_hovered();
}
if(f->select(ev) && !f->get_filled()){
f->occupy(aktiv->get_sorszam());
f->fillin();
lepes = true;
}
}
}
int Mester::moncsok_vizsg(Palyamezo* f, int szam){
int streak = 1;
for(int i = 1; i<=4;){
if(szam-(i*20) > 0 && negyzetek[szam-(i*20)]->occupied_by == f->occupied_by){
if(szam-(i*21) > 0 && negyzetek[szam-(i*21)]->occupied_by == f->occupied_by){
streak++;
std::cout << "bal-fel" << std::endl;
std::cout << streak << std::endl;
i++;
} else {
i = 5;
}
}
for(int i = 1; i<=4;){
if(szam+(i*20) <= 400 && negyzetek[szam+(i*20)]->occupied_by == f->occupied_by){
if(szam+(i*21) < 400 && negyzetek[szam+(i*21)]->occupied_by == f->occupied_by){
streak++;
std::cout << "jobb-le" << std::endl;
std::cout << streak << std::endl;
i++;
} else {
i = 5;
......@@ -67,20 +93,16 @@ int Mester::moncsok_vizsg(Palyamezo* f, int szam){
int Mester::monno_vizsg(Palyamezo* f, int szam){
int streak = 1;
for(int i = 1; i<=4;){
if(szam-(i*18) > 0 && negyzetek[szam-(i*18)]->occupied_by == f->occupied_by){
if(szam-(i*19) > 0 && negyzetek[szam-(i*19)]->occupied_by == f->occupied_by){
streak++;
std::cout << "bal-le" << std::endl;
std::cout << streak << std::endl;
i++;
} else {
i = 5;
}
}
for(int i = 1; i<=4;){
if(szam+(i*18) <= 400 && negyzetek[szam+(i*18)]->occupied_by == f->occupied_by){
if(szam+(i*19) < 400 && negyzetek[szam+(i*19)]->occupied_by == f->occupied_by){
streak++;
std::cout << "bal-fel" << std::endl;
std::cout << streak << std::endl;
i++;
} else {
i = 5;
......@@ -92,20 +114,16 @@ int Mester::monno_vizsg(Palyamezo* f, int szam){
int Mester::horizont_vizsg(Palyamezo* f, int szam){
int streak = 1;
for(int i = 1; i<=4;){
if(szam-(i*19) > 0 && negyzetek[szam-(i*19)]->occupied_by == f->occupied_by){
if(szam-(i*20) > 0 && negyzetek[szam-(i*20)]->occupied_by == f->occupied_by){
streak++;
std::cout << "bal" << std::endl;
std::cout << streak << std::endl;
i++;
} else {
i = 5;
}
}
for(int i = 1; i<=4;){
if(szam+(i*19) <= 400 && negyzetek[szam+(i*19)]->occupied_by == f->occupied_by){
if(szam+(i*20) < 400 && negyzetek[szam+(i*20)]->occupied_by == f->occupied_by){
streak++;
std::cout << "jobb" << std::endl;
std::cout << streak << std::endl;
i++;
} else {
i = 5;
......@@ -117,20 +135,16 @@ int Mester::horizont_vizsg(Palyamezo* f, int szam){
int Mester::vertic_vizsg(Palyamezo* f, int szam){
int streak = 1;
for(int i = 1; i<=4;){
if(szam-i > 0 && negyzetek[szam-i]->occupied_by == negyzetek[szam]->occupied_by){
if(szam-i > 0 && negyzetek[szam-i]->occupied_by == f->occupied_by){
streak++;
std::cout << "fel" << std::endl;
std::cout << streak << std::endl;
i++;
} else {
i = 5;
}
}
for(int i = 1; i<=4;){
if(szam+i <= 400 && negyzetek[szam+i]->occupied_by == f->occupied_by){
if(szam+i < 400 && negyzetek[szam+i]->occupied_by == f->occupied_by){
streak++;
std::cout << "le" << std::endl;
std::cout << streak << std::endl;
i++;
} else {
i = 5;
......@@ -149,7 +163,10 @@ bool Mester::streak_vizsgalo(Palyamezo* vizsgalt){
return false;}
}
void Mester::gameover() {}
void Mester::gameover() {
/*if(player1->get_pontszam() == 3)
p->won()*/
}
void Mester::szabalyzat(Palyamezo* f){
if(lepes && turn < 400){
......@@ -158,7 +175,6 @@ void Mester::szabalyzat(Palyamezo* f){
PlayerChange();
lepes = false;
turn++;
std::cout << turn << std::endl;
}
if(player1->get_pontszam() == 3 || player2->get_pontszam() == 3 || turn == 400)
gameover();
......
......@@ -3,6 +3,7 @@
#include "graphics.hpp"
#include <vector>
class Palya;
class Palyamezo;
class Player;
......@@ -12,6 +13,7 @@ class Mester
std::vector<Palyamezo*> negyzetek;
bool lepes = false;
int turn = 0;
int focused_index = 200;
public:
Mester();
Player* player1;
......
......@@ -11,9 +11,9 @@ Palya::Palya()
{
gout.open(XX,YY);
gout << font("LiberationSans-Regular.ttf",32);
for(int i = 1; i<=20; i++){
for(int j = 1; j<=20; j++){
Palyamezo* negyzet = new Palyamezo(this, 100+((i-1)*40), 100+((j-1)*40), 40, 40, 20*(i-1)+j);
for(int i = 0; i<20; i++){
for(int j = 0; j<20; j++){
Palyamezo* negyzet = new Palyamezo(this, 100+(i*40), 100+(j*40), 40, 40, 20*i+j);
palyaterulet.push_back(negyzet);
negyzet->draw();
}
......@@ -50,4 +50,10 @@ void Palya::grafikai_valtozas(){
pontok2->draw();
}
void Palya::won(string gyoztes) {
gout << font("LiberationSans-Regular.ttf",35);
TextWidget* ablak = new TextWidget(this, 450, 450, 150, 150, gyoztes);
ablak->draw();
}
Palya::~Palya() {}
......@@ -23,6 +23,7 @@ public:
Mester* mesztor;
void jatek(genv::event ev);
void grafikai_valtozas();
void won(std::string gyoztes);
~Palya();
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment