File indexing completed on 2024-05-05 04:03:36

0001 /*
0002     SPDX-FileCopyrightText: 2007 Paolo Capriotti <p.capriotti@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "dummyai.h"
0008 #include "sea.h"
0009 #include <time.h>
0010 #include <QRandomGenerator>
0011 
0012 DummyAI::DummyAI(Sea::Player player, Sea* sea, const BattleShipsConfiguration* config)
0013 : AI(player, sea, config)
0014 {
0015 }
0016 
0017 Coord DummyAI::getMove()
0018 {
0019     auto *generator = QRandomGenerator::global();
0020     if (m_sea->turn() == m_player &&
0021         m_sea->status() == Sea::PLAYING) {
0022         for (int i = 0; i < 10000; i++) {
0023             Coord c(generator->bounded(m_sea->size().x), generator->bounded(m_sea->size().y));
0024             if (m_sea->canHit(m_player, c)) {
0025                 return c;
0026             }
0027         }
0028     }
0029     return desperateMove();
0030 }
0031