Tournament

For the tournament you are requested to implement a strategy that solves gomoku, a generalization of tic-tac-toe.

You should submit your implementation any time on 17/11.

Game Rules

How to play

git clone https://github.com/nikivazou/tic-tac-toe.git
cd tic-tac-toe/gomoku/
touch src/Player/Lambda.hs
module Player.Lambda (playerLambda) where

import Types

teamMembers :: String 
teamMembers = "Write your name to get the tournament points"

playerLambda :: Player 
playerLambda = error "Define me!"

Note: In the above initiation you should only change Lambda with your team name. It is important that your team-name starts with a capital letter, so that it can be a module name.

sh makeplayers.sh

The above will output

# Players registerd:
# BestNext
# Computer
# Human
# Lambda

Check that your team is indeed added as a registered players.

stack install
gomoku Lambda Computer

How to submit

To submit your strategy, generate a Pull Request to the tic-tac-toc repository that adds your Strategy.Lambdas.hs file and does not touch anything else.

Alternatively, you can send your file to the instructor by email, with subject “Haskell-Course: Tournamet”.

You can submit multiple pull requests as long as you make sure that by the end of the deadline you have only one team submitted. You can only send one email.

Grading

Teams and Ties

The opponents will be decided by a random programs exactly before class. Each game will be 5 rounds of gomoku. In case of a tie, a coin will be tossed.

Integrity, Privacy and Copyrights.

Sending your solution via a pull request has two benefits

But also it will make your code public. If you do not want your code to get public, send your solutions via email to the instructor.

Making your solutions public means that some students can copy and submit your solution. We rely on your integrity and respect for your classmates on not copying or looking at other solutions, before you submit yours. Yet, feel free to test your code against other submitted solutions. Or even submit “testing” solutions: solutions without the teamMembers that can be used only for testing.