Table of Contents

Homework 4. Five in a row AI

Homework 4 consists in developing a complete five-in-a-row game, together with an AI and a very basic interface.

4.1. Board analysis (0.2p)

For this part, you need to implement a function sequences, that returns a map of the form: (5,a), (4,b), (3,c), (2,d) where:

def sequences(p: Player)(b: Board): Map[Int,Int] = ???

4.2. Functionality (0.35p)

For this part, you need to implement a functional project which consists of a running loop:

More details will be available during lecture.

For this particular part, tests are not necessary.

4.3. Game AI (0.45p)

This part is at the very core of the project, and essentially consists of a function play, which implements the AIs decision of selecting a move.

def play(p: Player, b: Board): Board = ???

You may slightly change the signature of this function, to accommodate your project.

You may start with a very basic (trivial) implementation, which will allow you to move on with 4.2. and then refine it after B.2. is complete.

We offer no guidelines about how this function should be implemented, this is entirely up to you, but you may consider:

Possible strategies:

4.4. Bonus (0.2p)

During the last lecture, we will play a tournament of Five-in-a-row, in which all your AI programs will compete.

The author the best AI implementations will be awarded a bonus of 0.2p.

The winner of the tournament will receive a maximal grade of 10 for the entire lecture (no attendance to the exam will be necessary).