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

még nem pontosan ismeri fel a 5jelet egymás mellett, de már zavart, hogy régen volt commit

(debug version)
parent d4e929c4
Branches
No related tags found
No related merge requests found
......@@ -2,6 +2,8 @@
#include "palya.h"
#include "palyamezo.h"
#include "player.h"
#include <vector>
#include <iostream>
using namespace genv;
......@@ -12,6 +14,10 @@ Mester::Mester()
aktiv = player1;
}
void Mester::set_negyzetek(std::vector<Palyamezo*> v){
negyzetek = v;
}
void Mester::PlayerChange(){
if(aktiv == player1) {aktiv = player2;}
else if(aktiv == player2) {aktiv = player1;}
......@@ -33,6 +39,91 @@ void Mester::iranyitas(Palyamezo* f, event ev) {
}
}
void Mester::szabalyzat() {}
int Mester::atlo_vizsg(Palyamezo* f, int szam){
int streak = 1;
for(int i = 1; i<=4;){
if(negyzetek[szam-(i*20)]->occupied_by == f->occupied_by){
streak++;
if(szam-((i+1)*20) > 0)
i++;
} else {
i = 5;
}
}
for(int i = 1; i<=4;){
if(negyzetek[szam+(i*20)]->occupied_by == f->occupied_by){
streak++;
if(szam+((i+1)*20) < 381)
i++;
} else {
i = 5;
}
}
return streak;
}
int Mester::horizont_vizsg(Palyamezo* f, int szam){
int streak = 1;
for(int i = 1; i<=4;){
if(negyzetek[szam-(i*19)]->occupied_by == f->occupied_by){
streak++;
std::cout << "daaamn" << std::endl;
if(szam-((i+1)*19) > 0)
i++;
} else {
i = 5;
}
}
for(int i = 1; i<=4;){
if(negyzetek[szam+(i*19)]->occupied_by == f->occupied_by){
streak++;
if(szam+((i+1)*19) < 381)
i++;
} else {
i = 5;
}
}
return streak;
}
int Mester::vertic_vizsg(Palyamezo* f, int szam){
int streak = 1;
for(int i = 1; i<=4;){
if(negyzetek[szam-i]->occupied_by == f->occupied_by){
streak++;
if(szam-(i+1) > 0)
i++;
} else {
i = 5;
}
}
for(int i = 1; i<=4;){
if(negyzetek[szam+i]->occupied_by == f->occupied_by){
streak++;
if(szam+(i+1) < 381)
i++;
} else {
i = 5;
}
}
return streak;
}
bool Mester::streak_vizsgalo(Palyamezo* vizsgalt){
int vizsgalt_index = vizsgalt->index;
if(atlo_vizsg(vizsgalt, vizsgalt_index) >= 5 || horizont_vizsg(vizsgalt, vizsgalt_index) >= 5 || vertic_vizsg(vizsgalt, vizsgalt_index) >= 5){
return true;
std::cout << "daaamn" << std::endl;}
else {
return false;
std::cout << "not really" << std::endl;}
}
void Mester::szabalyzat(Palyamezo* f){
streak_vizsgalo(f);
//if(streak_vizsgalo())
//aktiv->pontszam_novelo();
}
Mester::~Mester() {}
......@@ -14,9 +14,14 @@ class Mester
std::vector<Palyamezo*> negyzetek;
public:
Mester();
void set_negyzetek(std::vector<Palyamezo*> v);
void iranyitas(Palyamezo* f, genv::event ev);
void PlayerChange();
void szabalyzat();
int atlo_vizsg(Palyamezo* f, int szam);
int horizont_vizsg(Palyamezo* f, int szam);
int vertic_vizsg(Palyamezo* f, int szam);
bool streak_vizsgalo(Palyamezo* f);
void szabalyzat(Palyamezo* f);
~Mester();
};
......
......@@ -11,7 +11,7 @@ Palya::Palya()
gout.open(XX,YY);
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, i, j);
Palyamezo* negyzet = new Palyamezo(this, 100+(i*40), 100+(j*40), 40, 40, (19*i)+j);
palyaterulet.push_back(negyzet);
negyzet->draw();
}
......@@ -20,8 +20,12 @@ Palya::Palya()
}
void Palya::jatek(event ev){
for(Palyamezo* negyzet : palyaterulet)
mesztor->set_negyzetek(palyaterulet);
for(Palyamezo* negyzet : palyaterulet){
mesztor->iranyitas(negyzet, ev);
if(negyzet->select(ev))
mesztor->szabalyzat(negyzet);
}
}
Palya::~Palya() {}
......@@ -4,8 +4,8 @@
using namespace genv;
Palyamezo::Palyamezo(Palya* _p, int _x, int _y, int _w, int _h, int _m, int _n) :
Widget(_p, _x, _y, _w, _h), index_m(_m), index_n(_n) {}
Palyamezo::Palyamezo(Palya* _p, int _x, int _y, int _w, int _h, int _i) :
Widget(_p, _x, _y, _w, _h), index(_i) {}
void Palyamezo::draw(){
int t = 255;
......
......@@ -6,11 +6,10 @@ class Palyamezo : public Widget
{
bool filled = false;
bool hovered = false;
int occupied_by = 0;
public:
int index_m;
int index_n;
Palyamezo(Palya* _p, int _x, int _y, int _w, int _h, int _m, int _n);
int occupied_by = 0;
int index;
Palyamezo(Palya* _p, int _x, int _y, int _w, int _h, int _i);
~Palyamezo();
void draw() override;
void hovered_draw();
......
......@@ -8,6 +8,8 @@ string Player::get_name() {return name;}
int Player::get_pontszam() {return pontszam;}
void Player::pontszam_novelo() {pontszam++;}
int Player::get_sorszam() {return sorszam;}
Player::~Player() {}
......@@ -11,6 +11,7 @@ public:
Player(std::string _nev, int _sorszam);
std::string get_name();
int get_pontszam();
void pontszam_novelo();
int get_sorszam();
~Player();
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment