стіset_game_level (size_t level) ;//встановлення режиму ігри_t cout_moves ;// кількість ходів * life; _t player ;//поточний гравець * game ;//дерево ходів ** p ;//буфер історії ходів history_moves ;//історія ходовadd_event_history (point **) ;//додавання в історіюhistory_up () ;//хід впередhistory_down () ;//хід назадstate_now ;//поточне положенні історії: minimumSizeHint () const; sizeHint () const; mousePressEvent (QMouseEvent * event) ;//обробка натисків мишіpaintEvent (QPaintEvent * event); // малювання і зміна дошки: _t game_level ;//поточний рівень сложностіclick1; click2; cellSizeProperty;
};
# endif// LIFEWIDGET_H
MainWindow.h
# ifndef MAINWINDOW_H
# define MAINWINDOW_H
# include
# include "lifewidget.h" _BEGIN_NAMESPACEQAction; QListWidget; QMenu; QTextEdit; _END_NAMESPACEMainWindow: public QMainWindow
};
# endif
Point.h
# ifndef POINT_H
# define POINT_Hchecker
{= 1,// ​​червона шашка = 2,// ​​синя шашка = 3,// ​​червона дамка = 4,// ​​синя дамка = 0,// ​​неходових клітина = 9,// ​​ходова , порожня клітка
}; point
{x ;//Уy ;//Хtype ;//тип: getX () {return x;} getY () {return y;} getT () {return type;} setT (int t) {type = t;} () {x = 0; y = 0; type = 0;} (const point & p)
{> x = px;> y = py;> type = p.type;
} (int x, int y, int type)
{> x = x;> y = y;> type = type;
} operator == (const point & p)
{(x == px && y == py && type == p.type) return true; return false;
}
};
# endif
Vector.h
# ifndef VECTOR_H
# define VECTOR_H
# include namespace std; Vector
{* V; _t n; _t capacity_m;: (size_t = 0); (const Vector &); _t size (); reserve (size_t); _t begin (); _t end () ; _t capacity (); & erase (size_t); swap (Vector &); push_back (T); resize (size_t);
~ Vector (); & operator [] (size_t);
};
# endif
ai_tree.cpp
# include
# include "Vector.h"
# include "point.h"
# include "life.h"
# include "ai_tree.h"
# include "Vector.cpp" * Tree :: first (point ** board)
{* pv = new Tree;> p...