diff --git a/mester.cpp b/mester.cpp
index 16e954bc9f407c26bfbd35ffb761235f7ad8c019..3421257b5704b95a2a2bfe886b510bd9a6780ed4 100644
--- a/mester.cpp
+++ b/mester.cpp
@@ -7,7 +7,7 @@
 
 using namespace genv;
 
-Mester::Mester()
+Mester::Mester(Palya* _p) : p(_p)
 {
     player1 = new Player("Player1", 1);
     player2 = new Player("Player2", 2);
@@ -155,17 +155,23 @@ int Mester::vertic_vizsg(Palyamezo* f, int szam){
 
 bool Mester::streak_vizsgalo(Palyamezo* vizsgalt){
     int vizsgalt_index = vizsgalt->index;
-    if(moncsok_vizsg(vizsgalt, vizsgalt_index) >= 5 || monno_vizsg(vizsgalt, vizsgalt_index) >= 5 || horizont_vizsg(vizsgalt, vizsgalt_index) >= 5 || vertic_vizsg(vizsgalt, vizsgalt_index) >= 5){
-        std::cout << "streak" << std::endl;
-        return true;}
-    else {
-        std::cout << "not really" << std::endl;
-        return false;}
+    if(moncsok_vizsg(vizsgalt, vizsgalt_index) >= 5 || monno_vizsg(vizsgalt, vizsgalt_index) >= 5 || horizont_vizsg(vizsgalt, vizsgalt_index) >= 5 || vertic_vizsg(vizsgalt, vizsgalt_index) >= 5)
+        {return true;}
+    else    {return false;}
 }
 
 void Mester::gameover() {
-    /*if(player1->get_pontszam() == 3)
-        p->won()*/
+    if(player1->get_pontszam() == 3)
+        p->won(player1->get_name());
+    if(player2->get_pontszam() == 3)
+        p->won(player2->get_name());
+    if(turn == 400){
+        if(player1->get_pontszam() > player2->get_pontszam())
+            p->won(player1->get_name());
+        else{ if(player2->get_pontszam() > player1->get_pontszam())
+            p->won(player2->get_name());
+        else{ if(player1->get_pontszam() == player2->get_pontszam())
+            p->dontetlen();}}}
 }
 
 void Mester::szabalyzat(Palyamezo* f){
diff --git a/mester.h b/mester.h
index a87d76f0169d538118a4bd2cea0b6893481fcf85..777d851b68f7c0b27aa43f1241541962be696d0f 100644
--- a/mester.h
+++ b/mester.h
@@ -9,13 +9,14 @@ class Player;
 
 class Mester
 {
+    Palya* p;
     Player* aktiv;
     std::vector<Palyamezo*> negyzetek;
     bool lepes = false;
     int turn = 0;
     int focused_index = 200;
 public:
-    Mester();
+    Mester(Palya* _p);
     Player* player1;
     Player* player2;
     void set_negyzetek(std::vector<Palyamezo*> v);
diff --git a/palya.cpp b/palya.cpp
index a7770002c1a6885564f049397ef0a80e47186f86..a049e8490592b457dd769ea45655b1828a13d77d 100644
--- a/palya.cpp
+++ b/palya.cpp
@@ -18,7 +18,7 @@ Palya::Palya()
             negyzet->draw();
         }
     }
-    mesztor = new Mester();
+    mesztor = new Mester(this);
     title = new TextWidget(this, 410, 30, 200, 50, "Tic-tac-toe");
     title->draw();
     gout << font("LiberationSans-Regular.ttf",24);
@@ -36,10 +36,12 @@ Palya::Palya()
 }
 
 void Palya::jatek(event ev){
-    mesztor->set_negyzetek(palyaterulet);
-    for(Palyamezo* negyzet : palyaterulet){
-        mesztor->iranyitas(negyzet, ev);
-        mesztor->szabalyzat(negyzet);
+    if(!vege){
+        mesztor->set_negyzetek(palyaterulet);
+        for(Palyamezo* negyzet : palyaterulet){
+            mesztor->iranyitas(negyzet, ev);
+            mesztor->szabalyzat(negyzet);
+        }
     }
 }
 
@@ -52,8 +54,22 @@ void Palya::grafikai_valtozas(){
 
 void Palya::won(string gyoztes) {
     gout << font("LiberationSans-Regular.ttf",35);
-    TextWidget* ablak = new TextWidget(this, 450, 450, 150, 150, gyoztes);
+    TextWidget* ablak = new TextWidget(this, 400, 400, 230, 200, gyoztes + " won!");
     ablak->draw();
+    gout << font("LiberationSans-Regular.ttf",24);
+    TextWidget* kilepes = new TextWidget(this, 400, 750, 250, 100, "Press 'Esc' to exit!");
+    kilepes->draw();
+    vege = true;
+}
+
+void Palya::dontetlen(){
+    gout << font("LiberationSans-Regular.ttf",35);
+    TextWidget* ablak = new TextWidget(this, 400, 400, 230, 200, "Draw!");
+    ablak->draw();
+    gout << font("LiberationSans-Regular.ttf",24);
+    TextWidget* kilepes = new TextWidget(this, 400, 750, 250, 100, "Press 'Esc' to exit!");
+    kilepes->draw();
+    vege = true;
 }
 
 Palya::~Palya() {}
diff --git a/palya.h b/palya.h
index 37ad4ef18cfe647c57a6f63aa17b38cca7ba9b09..a3c51c9c6c02d042dc3d934a4c19edd3298d35ad 100644
--- a/palya.h
+++ b/palya.h
@@ -11,6 +11,7 @@ class Palya
 {
     const int XX = 1000;
     const int YY = 1000;
+    bool vege = false;
     TextWidget* title;
     TextWidget* bo3;
     TextWidget* nev1;
@@ -24,6 +25,7 @@ public:
     void jatek(genv::event ev);
     void grafikai_valtozas();
     void won(std::string gyoztes);
+    void dontetlen();
     ~Palya();
 };