summaryrefslogtreecommitdiffstats
path: root/kbattleship/kbattleship/kbchooserstrategy.h
diff options
context:
space:
mode:
Diffstat (limited to 'kbattleship/kbattleship/kbchooserstrategy.h')
-rw-r--r--kbattleship/kbattleship/kbchooserstrategy.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/kbattleship/kbattleship/kbchooserstrategy.h b/kbattleship/kbattleship/kbchooserstrategy.h
new file mode 100644
index 00000000..298cbe68
--- /dev/null
+++ b/kbattleship/kbattleship/kbchooserstrategy.h
@@ -0,0 +1,46 @@
+/***************************************************************************
+ kbchooserstrategy.h
+ ----------
+ Developers: (c) 2001 Kevin Krammer <kevin.krammer@gmx.at>
+
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * 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 KBCHOOSERSTRATEGY_H
+#define KBCHOOSERSTRATEGY_H
+
+#include <krandomsequence.h>
+
+#include "kbstrategy.h"
+#include "kbdestroyshipstrategy.h"
+
+class KBChooserStrategy : public KBStrategy
+{
+public:
+ KBChooserStrategy(KBStrategy *parent = 0);
+ virtual ~KBChooserStrategy();
+
+ virtual void init(KBattleField *field, const QRect &field_rect);
+ virtual const QPoint nextShot();
+ virtual bool hasMoreShots();
+ virtual void shotAt(const QPoint &pos);
+
+private:
+ bool advance();
+
+ KBStrategy *m_child;
+ KBDestroyShipStrategy *m_destroyer;
+ KRandomSequence *m_random;
+
+ bool m_destroying;
+};
+
+#endif