Skip to content

hiepsieunhan/tetris_AI

Repository files navigation

TetrisAI

Create AI for Tetris game by applying machine learning algorithm

  • Function of each file:

    • CustomState.java: just a copy of State.java (with added some functions) to help for moving piece in look-ahead since we can not modify State.java.
    • StateHelper.java: contains helper functions for finding best move.
    • StateHelperLA.java: contains helper functions for finding best move with applying look-ahead.
    • Search.java: contains functions for learning (finding best vectors).
  • To visualize:

    • java PlayerSkeleton
  • To learn:

    • java Search
  • Weight parameters:

    • 1st: Landing Height: The height where the piece is put (= the height of the column + (the height of the piece / 2))
    • 2nd: Rows eliminated: The number of rows eliminated
    • 3rd: Row Transitions: The total number of row transitions. A row transition occurs when an empty cell is adjacent to a filled cell on the same row and vice versa.
    • 4th: Column Transitions: The total number of column transitions. A column transition occurs when an empty cell is adjacent to a filled cell on the same column and vice versa.
    • 5th: Number of Holes: A hole is an empty cell that has at least one filled cell above it in the same column
    • 6th: Well Sums: A well is a succession of empty cells such that their left cells and right cells are both filled

About

build AI for simple random tetris game

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages