Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
Pentago-Twist
Project TAs: Erfan Seyedsalehi and Samin Yeasar
Overview
An implementation of Pentago-twist (follow the link:
Player games requires: a server (the real board) to be launched, and then two clients (agents) to connect to the server
via TCP sockets; this allows for clients to be run on separate computers. We also provide a GUI which displays the
game in a nice and intuitive way for learning the strategy behind Pentago-twist. Note that games between agents can
be played without the GUI to increase speed. All source code is found in the src directory. You must NOT edit any
packages, other than stu- dent player, which can be modified as much as you want so long as it (1) compiles, and, (2)
that you do not use any external libraries, but you can use default internal Java libraries (like Math and Util). If you
edit other packages you must be aware that your edits will not be used during the tournament; e.g., so if you know
what you’re doing, you may want to edit Autoplay.java to run many test games of your agent against another agent (or
perhaps against itself).
1
src
| — autoplay ( Autoplays games; can be ignored)
| — boardgame (Package for implementing boardgames, logging, GUI, and server TCP protocol, can be ignored for this project)
| — student player (Package containing your agent)
| | — StudentPlayer.java (The class you will implement your AI within)
| | — MyTools.java (Placeholder for any extra code you may need)
| — pentago twist (The package implementing all game logic)
| | — PentagoBoardPanel.java (Implements the GUI, can be ignored)
| | — PentagoBoard.java (Used for server logic, can be ignored)
| | — PentagoCoord.java (Simple class representing a board coordinate)
| | — PentagoMove.java (A move object for Pentago. Relevant functions)
| | —PentagoCoord getMoveCoord() (Returns the coordinate object for this move.)
| | — Quadrant getASwap() (Returns the first quadrant selected for swapping.)
| | — Quadrant getBSwap() (Returns the second quadrant selected for swapping.)