TaherFattahi's picture
init: tetris neural network model with q learning
03b0d13
import model
import tetris
import representation
from pathlib import Path
script_dir = Path(__file__).parent.resolve()
checkpoints_dir = script_dir / "checkpoints"
checkpoints_dir.mkdir(parents=True, exist_ok=True)
checkpoint_filename = "checkpoint14.pth"
save_path = checkpoints_dir / checkpoint_filename
# If you need it as a standard Python string:
save_path_str = str(save_path)
tai = model.TetrisAI(save_path)
while True:
gs = tetris.GameState()
while True:
print("Board:")
print(str(gs))
# get move
predictions:list[float] = tai.predict(representation.BoardState(gs))
shift:int = predictions.index(max(predictions))
print("Move: " + str(shift))
input("Enter to execute the move it selected: ")
# make move
gs.drop(shift)
# if game over
if gs.over():
print(str(gs))
print("Game is over!")
print("Final score: " + str(gs.score()))
print("Going to next game...")
gs = tetris.GameState()
gs.randomize()