Skip to content

samarthdave/connectfourkt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

connect four kotlin (connectfourkt)

  • just found this brilliant blog post
  • i'll also need to move my todos from main.kt to here

todos

  • get all Java files converted to Kotlin

  • then, implement simple functionality against a human player (ConnectFourGameMode.TWO_PLAYER)

  • and after that, against a random robot

  • we're not done yet - implement Minimax!

  • clean up printing of board

  • add unit testing for minimax

  • and after all that, make a test helper: board.readFromAscii(...)

  • fix player 1 & 2 win condition bug

  • and finally, alpha beta pruning

  • improve scoring function for minimax

  • fix numbering for the integer drop column lol

  • Column Ordering (put good moves first in the alpha/beta search!)

  • profile the program - I probably need to cache the bitboard

    • fix bit manipulation code
    • nope, we don't have a bit board
  • Store board state as Long and not grid array

    • fix canDropInColumn to use a bitboard
  • include & enforce a style guide

  • read the blog above & start implementing

    • one anti-pattern i introduced is having multiple score mechanisms for grading...

misc

  • TODO change drop piece to not accept "colors" remove the concept of colors and just drop Player Pieces "colors" can be determined at render time with a mapping PlayerToColor

About

my connect-four repo but in kotlin this time

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages