Skip to content

payros/super-gomoku

 
 

Repository files navigation

Web-based UI for Gomoku, implemented in Haskell.

Demo

You can play the current version of Super Gomoku here

Main Goals

When Completed, this project will let users:

  • Play Gomoku in three modes:

    • Human X Human (Local)
    • Human X Bot
    • Bot X Bot
  • Define the board dimensions and number of aligned pieces needed to win

Strech Goals

Time and knowledge permitting, this project will:

  • Save Browser Session (Configs, Score, Players)
  • Persist Bot Stats (Wins, Ties, Losses)
  • Include Remote Human X Human

Local Installation

If you would like to deploy this project on your local machine (and maybe come up with your own bot strategy), you can following these steps:

  • Clone/Download the project
  • install postgres and set local DB credentials under the environment variable DATABASE_URL
  • Run stack install in the project's root directory
  • Run gomoku (You may have to add the bin directory to your shell path)
  • Open a browser window and visit localhost:4000 or 127.0.0.1:4000

Text-based terminal version, implemented entirely in Haskell.

The text-based version is run in the terminal, using the (mostly) untouched original code written by Niki Vazou. This version may be more useful for future students who are writing bots, since the entire implementation is in Haskell. In the web version, checking who wins and such is done in Javascript.

Local Installation

Installation is the same as for the web version, though the executable is gomoku-text instead of gomoku.

However, if you want to avoid installing postgres, you should be able to comment out the lines related to the gomoku executable in gomoku.cabal. Then you should be able to run stack install and run gomoku-text without installing postgres. I haven't tested this, however.

About

Visual Gomoku, implemented in Haskell.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Haskell 99.7%
  • Shell 0.3%