Added all figures so you can see what kind it was promoted from
[Shogi.git] / mainwindow.h
blob2d6196f66d32e4b78c0ba3bd6d6a0a675cb1370c
1 #ifndef MAINWINDOW_H
2 #define MAINWINDOW_H
4 #include "pjas.h"
5 #include <QMainWindow>
6 #include <QtCore>
7 #include <QtNetwork>
8 #include <QBrush>
9 #include <QPen>
10 #include "ui_mainwindow.h"
12 //TODO rita även ut möjliga drag!
13 class MainWindow : public QMainWindow
15 Q_OBJECT
16 public:
17 MainWindow(QWidget * parent = 0);
18 void paintEvent(QPaintEvent* event);
19 // resizeEvent....
22 void gameEngine();
23 void setStarter(); // set up for start.
24 void mousePressEvent(QMouseEvent* event);
25 bool askIfPromote(bool other_promoted); // frågar om vi skall promota
27 public slots:
28 void gameOver();
29 void nextPlayer();
30 void newPlayerConnected();
31 void ConnectedToServer();
32 void readMove();
33 void showPlayerTurn();
34 signals:
35 void nextPlayerSIG();
36 void showPlayerTurnSIG();
38 protected:
39 void resizeEvent(QResizeEvent* event);
40 private:
41 int datasize;
43 Ui::MainWindow ui;
44 bool did_promote;
46 QList<Pjas> pjaser;
47 bool checkMove(int player, int x,int y,int x2,int y2,bool checkschack); //kolla om gilltigt drag.
48 // Spelare player vill gå från x,y till x2,y2. checkschack säger om vi skall kolla ifall
49 // spelaren hamnar i schack. Det skall vi ej göra när vi använder checkMove från isSchacked
51 void doMove(); // do the move
52 // TODO funktion för att kolla om schack...
53 int schack; // 0 = ingen är i schack, -1 = du är i schack, 1 = den andra är i schack
55 QList<QImage> bilder;
56 int plan[300]; //0-80 = spelplan resten är för att rita pjäser utanför planen Spelplanen översätts till x*9+y i arrayen
58 QBrush background;
59 QBrush black;
60 int clX,clY; // last clicked X,Y positions
61 int stopx,stopy; // the end positions
62 int winner; // the winner of the game
63 bool ignoreClick; // should we ignore clicks?
64 QPen blackp;
65 void doDrop(int current,int clX,int clY,int stopx,int stopy); // gör dropp om det inte leder till schack
67 int schackadspelare; // vem är schackad?
68 QList<int> schackare; // vilka schackar? (mest för att rita)
70 QPen redp;
71 int sX,sY; // size of rectangle on gameboad. hela spelplanen är 9*sX resp 9*sY
72 void reloadPictures(); //loads, or reloads pictures after scaling!
73 int current; // current player, -1 = du, som startar där nere, 1 = den andre som startar där uppe
75 bool isSchacked(int player,bool setparameters); // returnerar true omm spelaren player står i schack. setparameters berättar om vi skall sätta schackadspelare, schackare eller ej.
78 QHostAddress serverIP;
79 quint16 serverPort;
80 QTcpServer* server;
81 QTcpSocket* client;
82 QTcpSocket* socket;
83 bool isServer;
86 #endif