You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Clément afbc417c93
tron: add auto redirect to the subject
3 years ago
..
ai fix: issue #679 4 years ago
audit move subjects to folders 4 years ago
lib tron: legacy 4 years ago
README.md Update tron url in readme 3 years ago
index.html tron: add auto redirect to the subject 3 years ago
legacy.html tron: legacy 4 years ago

README.md

Tron

Objectives

In this project you will have to create your own Tron AI snake

Getting started

You will need to create a public repository with the name tron. Next you need to create a file named ai.js. It must respect the instructions given

Controls

  • arrows or scroll to move step by step
  • shift will make it fast
  • you can click anywhere on the progress bar to seek into the history

Rules

  • Your AI has to move every turn (it can not stay still)
  • Every time the AI moves somewhere the AI leaves a color trail.
  • the AI can only move to a blank tile.
  • the AI can not move out of the map (100 x 100)
  • the AI can only move to its left, forward or its right. (Moving backward is suicide as it would hit its own trail !)
  • If too much CPU power is required to decide where to go, the AI dies.
  • If two AIs moved to the same spot, both of them die.
  • The AI has to survive as long as it can.

The game ends

  • Once no players can make a move the player with the biggest score wins

How to write your AI

  • Copy the code on the file random.js to your file, ai.js
  • You may now edit the update function which is called each turn

Do not rename the update function
as it's the function that the worker will try to run to test your AI.

How to test your AI

Replace this line just before the return of the update function:

  const available = coordsInBound.filter(isFree)

  // And I return a random available coord
  return pickRandom(available)

...with this line:

  // always return the first free coordinates
  return coordsInBound.filter(isFree)[0]
  • save the file, push the changes and re-run the game in the browser. If the cache was correctly disabled, you have changed your AI behaviour from a random pick of available moves to only going forward.

  • To understand better the way of controlling your AI, read the comments inside the AI file and do a lot of testing.

  • When peer-corrected, you AI will be competing against other AIs. Be aware that there will be the possibility for the peer-correcter to use his or her own AI.

May the best tron win :)

Have fun and good luck.