summaryrefslogtreecommitdiffstats
path: root/kbattleship/kbattleship/kbaiplayer.h
diff options
context:
space:
mode:
Diffstat (limited to 'kbattleship/kbattleship/kbaiplayer.h')
-rw-r--r--kbattleship/kbattleship/kbaiplayer.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/kbattleship/kbattleship/kbaiplayer.h b/kbattleship/kbattleship/kbaiplayer.h
new file mode 100644
index 00000000..aebb149d
--- /dev/null
+++ b/kbattleship/kbattleship/kbaiplayer.h
@@ -0,0 +1,59 @@
+/***************************************************************************
+ kbaiplayer.h
+ ----------
+ Developers: (c) 2001 Kevin Krammer <kevin.krammer@gmx.at>
+ (c) 2001 Nikolas Zimmermann <wildfox@kde.org>
+
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef KBAIPLAYER_H
+#define KBAIPLAYER_H
+
+#include <qobject.h>
+
+#include <krandomsequence.h>
+
+#include "kbstrategy.h"
+#include "kbattlefield.h"
+#include "kshiplist.h"
+
+class KBAIPlayer : public QObject
+{
+ Q_OBJECT
+public:
+ KBAIPlayer();
+ ~KBAIPlayer();
+
+ void init(KBattleField *battle_field, KShipList *ai_shiplist);
+
+public slots:
+ void slotRestart();
+ bool slotRequestShot();
+ bool shipPlaced(int shiplen, int x, int y, bool vertical);
+
+signals:
+ void sigShootAt(const QPoint pos);
+ void sigReady();
+
+private:
+ void chooseStrategy();
+ void addShips();
+
+ KBStrategy *m_masterStrategy;
+ KShipList *m_ownShipList;
+ KBattleField *m_battleField;
+ KRandomSequence *m_randomSeq;
+
+ QRect m_fieldRect;
+};
+
+#endif