Skip to content

solendil/ConnectFour

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Connect Four

A simple Connect Four implementation in node.js.

TODOs, bugs, remarks and possible enhancements:

  • The node.js project is based on Express.
  • The template engine has been changed to Mustache.
  • Everything is in ES6 so make sure to activate chrome://flags/#enable-javascript-harmony in Chrome!
  • The client side is some very simple jQuery.
  • Grunt is used to pass the code through JSHint and JS Beautifier.
  • The AI uses a simple negamax without prunning or memoization; the main Board object is not optimized (arrays of objects), so the AI is not very strong, yet.
  • A very important shortcoming : node.js cannot deal with long running processes without stalling its I/O. Workarounds for this problem are hard and convoluted, and are not implemented here. As a result, when the AI thinks, the server stops responding.
  • Sessions allow for many simultaneous games.
  • Only playing vs. AI is supported for the moment (no human vs. human).
  • Server sessions do not expire, which is a potential DOS vector, a dedicated middleware is required.

About

A simple connect four implementation in node.js

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published