From 6dc1789646db81ab9f3e7a7f76e4bd868b96e64c Mon Sep 17 00:00:00 2001
From: Xiaofei Wang <xiaofei@student.unimelb.edu.au>
Date: Wed, 11 Mar 2020 20:59:46 +1100
Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=B0=E6=96=87=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 AZUL/naive_player.py | 50 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)
 create mode 100644 AZUL/naive_player.py

diff --git a/AZUL/naive_player.py b/AZUL/naive_player.py
new file mode 100644
index 0000000..ce3d64e
--- /dev/null
+++ b/AZUL/naive_player.py
@@ -0,0 +1,50 @@
+# Written by Michelle Blom, 2019
+#
+# 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 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+#
+from model import *
+from utils import *
+
+class NaivePlayer(Player):
+    def __init__(self, _id):
+        super().__init__(_id)
+
+    def SelectMove(self, moves, game_state):
+        # Select move that involves placing the most number of tiles
+        # in a pattern line. Tie break on number placed in floor line.
+        most_to_line = -1
+        corr_to_floor = 0
+
+        best_move = None
+
+
+
+        for mid,fid,tgrab in moves:
+            if most_to_line == -1:
+                best_move = (mid,fid,tgrab)
+                most_to_line = tgrab.num_to_pattern_line
+                corr_to_floor = tgrab.num_to_floor_line
+                continue
+
+            if tgrab.num_to_pattern_line > most_to_line:
+                best_move = (mid,fid,tgrab)
+                most_to_line = tgrab.num_to_pattern_line
+                corr_to_floor = tgrab.num_to_floor_line
+            elif tgrab.num_to_pattern_line == most_to_line and \
+                tgrab.num_to_pattern_line < corr_to_floor:
+                best_move = (mid,fid,tgrab)
+                most_to_line = tgrab.num_to_pattern_line
+                corr_to_floor = tgrab.num_to_floor_line
+
+        return best_move
-- 
GitLab