Tic-Tac-Toe
This classic game challenges you to create a script that can outsmart its opponent and achieve three in a row.
Battle Scripts lets you learn to code by writing autonomous players for classic games. Pick a game, learn the rules, then write a program that plays it. Forge it in the browser, test it instantly, and see how it stacks up against everyone else in the Arena.
Step 1
Tic-Tac-Toe or Hide and Sink. Read the rules and what your script has to decide.
Step 2
Write Python or Java in the browser and run it against the Codecraft opponent as often as you like.
Step 3
Freeze a version you're happy with. That snapshot is what other people challenge.
Step 4
Battle other players' scripts, watch the game back turn by turn, and climb the leaderboard.
This classic game challenges you to create a script that can outsmart its opponent and achieve three in a row.
Based on the classic Battleship game, Hide and Sink requires strategic thinking and cunning to locate and sink your opponent's ships.
Every active script anyone has entered. Pick an opponent, put one of yours up against it, and watch the game play out move by move.
Go to the ArenaEvery day the top 100 of each leaderboard are drawn into a bracket and fought to a champion. No entry needed — if you're on the board, you're in it.
See the latest results| # | Script | Author | Pairing | Win rate |
|---|---|---|---|---|
| 1 | New Game | NICK, CADEN@1101 Kennedy | PythonTic-Tac-Toe | 100% (2/2) |
| 2 | Smart? | Sam | JavaHide and Sink | 100% (2/2) |
| 3 | TicTacToe-1 | M Gibson | PythonTic-Tac-Toe | 100% (1/1) |
| 4 | New Game | EssaHT | JavaTic-Tac-Toe | 100% (1/1) |
| 5 | New Game | CRAWLEY, COLT@1101 Kennedy | PythonTic-Tac-Toe | 100% (1/1) |
| 6 | New Game | Edwin Disang | PythonTic-Tac-Toe | 100% (1/1) |
| 7 | Marta's Tic Tac Toe | Marta Deese | PythonTic-Tac-Toe | 100% (1/1) |
| 8 | New Game | JULIANELLI, MIGUEL@1101 Kennedy | PythonTic-Tac-Toe | 100% (1/1) |
| 9 | New Game | Edwin Disang | PythonTic-Tac-Toe | 100% (1/1) |
| 10 | New Game | SALCEDOG | JavaTic-Tac-Toe | 100% (3/3) |
| 11 | Bombastic Random Boats | Juan @ Codecraft Works | JavaHide and Sink | 99% (171/173) |
| 12 | New Game | EssaHT | PythonTic-Tac-Toe | 87% (13/15) |
| 13 | New Game | ICEVA | JavaTic-Tac-Toe | 86% (6/7) |
| 14 | New Game | L&CIndustries | PythonTic-Tac-Toe | 86% (6/7) |
| 15 | New Game | HudsonHT | PythonTic-Tac-Toe | 82% (9/11) |
| 16 | New Game | TeddHT | PythonTic-Tac-Toe | 80% (8/10) |
| 17 | New Game | DAWKINS, SKYLER@1101 Kennedy | PythonTic-Tac-Toe | 75% (3/4) |
| 18 | CCPC Blocky 🥷🏾 1 | Gilberto Creque | PythonTic-Tac-Toe | 73% (194/264) |
| 19 | final2 | BrittanyHT | PythonTic-Tac-Toe | 72% (13/18) |
| 20 | New Game | TURNER, SABASTIAN@1101 Kennedy | PythonTic-Tac-Toe | 67% (2/3) |
| 21 | New Game | Edwin Disang | PythonTic-Tac-Toe | 67% (2/3) |
| 22 | New Game | DEMPSEY, EMRY@1101 Kennedy | JavaHide and Sink | 67% (6/9) |
| 23 | New Game | Edwin Disang | PythonTic-Tac-Toe | 67% (2/3) |
| 24 | New Game | BRISTOLA | JavaTic-Tac-Toe | 67% (4/6) |
| 25 | New Game | CRAWLEY, COLT@1101 Kennedy | PythonTic-Tac-Toe | 67% (2/3) |
| 26 | Glitch | MECKB | JavaTic-Tac-Toe | 60% (3/5) |
| 27 | K.O.'s Player | Codecraft Works | PythonTic-Tac-Toe | 60% (3/5) |
| 28 | Robsons Tic Tac to | CARVAJALR | JavaTic-Tac-Toe | 60% (3/5) |
| 29 | Default Blocks but with Functions | Juan @ Codecraft Works | BlocklyTic-Tac-Toe | 59% (323/552) |
| 30 | New Game | PRICE, MASON@1101 Kennedy | PythonTic-Tac-Toe | 50% (1/2) |
| 31 | New Game | LEACH, MIKEL@1101 Kennedy | PythonTic-Tac-Toe | 50% (2/4) |
| 32 | New Game | d j | PythonTic-Tac-Toe | 50% (1/2) |
| 33 | New Game | RYAN, GAVIN@1101 Kennedy | PythonTic-Tac-Toe | 50% (1/2) |
| 34 | New Game | KASPRZYK, RORY@1101 Kennedy | JavaHide and Sink | 50% (3/6) |
| 35 | New Game | Edwin Disang | PythonTic-Tac-Toe | 50% (1/2) |
| 36 | Gib TicTacToe | M Gibson | PythonTic-Tac-Toe | 50% (2/4) |
| 37 | final | BrittanyHT | PythonTic-Tac-Toe | 50% (1/2) |
| 38 | Alyssa | AlyssaHT | PythonTic-Tac-Toe | 50% (1/2) |
| 39 | New Game | MECKB | JavaTic-Tac-Toe | 50% (2/4) |
| 40 | THIS | AlyssaHT | PythonTic-Tac-Toe | 50% (1/2) |
| 41 | New Game | Edwin Disang | PythonTic-Tac-Toe | 43% (3/7) |
| 42 | Chaotic Random Toffees | Juan @ Codecraft Works | JavaTic-Tac-Toe | 43% (3/7) |
| 43 | Aaden's Tic Tac Toe | BRISTOLA | JavaTic-Tac-Toe | 42% (5/12) |
| 44 | BattleBot | Michelle Delahoussaye | BlocklyTic-Tac-Toe | 41% (229/552) |
| 45 | New Game | PRICE, MASON@1101 Kennedy | PythonTic-Tac-Toe | 33% (1/3) |
| 46 | New Game | COWELL, JAMAR@1101 Kennedy | JavaHide and Sink | 33% (2/6) |
| 47 | New Game | BryanHT | PythonTic-Tac-Toe | 33% (1/3) |
| 48 | New Game | AlyssaHT | PythonTic-Tac-Toe | 33% (1/3) |
| 49 | marissa | LOPEZ ESTRADA, MARISSA@1101 Kennedy | PythonTic-Tac-Toe | 27% (3/11) |
| 50 | Scary Random Snakes | Juan @ Codecraft Works | PythonTic-Tac-Toe | 26% (65/248) |
| 51 | New Game | BryanHT | PythonTic-Tac-Toe | 25% (1/4) |
| 52 | New Game | BryanHT | PythonTic-Tac-Toe | 25% (2/8) |
| 53 | New Game | BryanHT | PythonTic-Tac-Toe | 22% (2/9) |
| 54 | New Game | Aaron Leblanc | PythonTic-Tac-Toe | 20% (1/5) |
| 55 | New Game | Tyler Campbell | JavaTic-Tac-Toe | 17% (2/12) |
| 56 | New Game | JamesHT | PythonTic-Tac-Toe | 14% (1/7) |
| 57 | New Game | LANDRUMS | JavaTic-Tac-Toe | — (0/0) |
| 58 | New Game | JULIANELLI, MIGUEL@1101 Kennedy | PythonTic-Tac-Toe | — (0/0) |
| 59 | cheese | JULIANELLI, MIGUEL@1101 Kennedy | PythonTic-Tac-Toe | — (0/0) |
| 60 | New Game | CRAWLEY, COLT@1101 Kennedy | PythonTic-Tac-Toe | — (0/0) |
| 61 | New Game | Koren Olson | PythonTic-Tac-Toe | — (0/0) |
| 62 | Final | MECKB | JavaTic-Tac-Toe | 0% (0/1) |
| 63 | New Game | BELL, KA'SHAUN@1101 Kennedy | PythonTic-Tac-Toe | 0% (0/1) |
| 64 | New Game | TURNER, SABASTIAN@1101 Kennedy | PythonTic-Tac-Toe | 0% (0/1) |
| 65 | Shoot at 0, 0 <script>alert(1)</script> | Sam | JavaHide and Sink | 0% (0/1) |
| 66 | New Game | AlyssaHT | PythonTic-Tac-Toe | — (0/0) |
| 67 | New Game | CRAWLEY, COLT@1101 Kennedy | PythonTic-Tac-Toe | — (0/0) |
| 68 | New Game | JULIANELLI, MIGUEL@1101 Kennedy | PythonTic-Tac-Toe | 0% (0/2) |
| 69 | New Game | DEER, JT@1101 Kennedy | PythonTic-Tac-Toe | 0% (0/2) |
| 70 | New Game | Koren Olson | PythonTic-Tac-Toe | — (0/0) |
| 71 | Smart? | Sam | JavaHide and Sink | — (0/0) |
| 72 | New Game | CRAWLEY, COLT@1101 Kennedy | PythonTic-Tac-Toe | — (0/0) |
| 73 | New Game | SHRIVASTAV, ARYAN@1101 Kennedy | PythonTic-Tac-Toe | 0% (0/1) |
| 74 | New Game | TeddHT | PythonTic-Tac-Toe | 0% (0/1) |
| 75 | New Game | PRICE, MASON@1101 Kennedy | PythonTic-Tac-Toe | — (0/0) |
| 76 | New Game | DAWKINS, SKYLER@1101 Kennedy | PythonTic-Tac-Toe | 0% (0/5) |
| 77 | New Game | Sam | JavaHide and Sink | — (0/0) |
| 78 | An attempt 2 | VARADY, SOPHIE@1101 Kennedy | PythonTic-Tac-Toe | — (0/0) |
| 79 | New Game | Gilberto Creque | JavaHide and Sink | 0% (0/168) |
| 80 | New Game | AlyssaHT | PythonTic-Tac-Toe | — (0/0) |
| 81 | Smart? 2 | Sam | JavaHide and Sink | 0% (0/1) |
| 82 | New Game | d j | PythonTic-Tac-Toe | — (0/0) |
| 83 | New Game | BRADLEY, JASMIN@1101 Kennedy | JavaTic-Tac-Toe | — (0/0) |
| 84 | New Game | CAMPOS, LIAM@1101 Kennedy | PythonTic-Tac-Toe | — (0/0) |
| 85 | New Game | BRADLEY, JASMIN@1101 Kennedy | PythonTic-Tac-Toe | — (0/0) |
| 86 | New Game | SHRIVASTAV, ARYAN@1101 Kennedy | PythonTic-Tac-Toe | — (0/0) |
| 87 | New Game | JULIANELLI, MIGUEL@1101 Kennedy | PythonTic-Tac-Toe | 0% (0/1) |
| 88 | New Game | BrittanyHT | PythonTic-Tac-Toe | 0% (0/1) |
| 89 | New Game | CAMPOS, LIAM@1101 Kennedy | PythonTic-Tac-Toe | 0% (0/3) |
| 90 | New Game | AlyssaHT | PythonTic-Tac-Toe | 0% (0/1) |
| 91 | New Game | TURNER, SABASTIAN@1101 Kennedy | PythonTic-Tac-Toe | — (0/0) |
| 92 | New Game | CRAWLEY, COLT@1101 Kennedy | PythonTic-Tac-Toe | — (0/0) |
| 93 | New Game | LOPEZ ESTRADA, MARISSA@1101 Kennedy | PythonTic-Tac-Toe | 0% (0/1) |
| 94 | New Game | Chipner.AnthonyO@Kennedy Middle | PythonTic-Tac-Toe | 0% (0/2) |
| 95 | New Game | Edwin Disang | PythonTic-Tac-Toe | — (0/0) |
| 96 | New Game | WIGGALLM | JavaTic-Tac-Toe | — (0/0) |
| 97 | New Game | d j | PythonTic-Tac-Toe | 0% (0/2) |
| 98 | New Game | d j | PythonTic-Tac-Toe | — (0/0) |
| 99 | New Game | VARADY, SOPHIE@1101 Kennedy | PythonTic-Tac-Toe | — (0/0) |
| 100 | New Game | Edwin Disang | PythonTic-Tac-Toe | — (0/0) |
| # | Script | Author | Win rate |
|---|---|---|---|
| 1 | Smart? | Sam | 100% (2/2) |
| 2 | Bombastic Random Boats | Juan @ Codecraft Works | 99% (171/173) |
| 3 | New Game | DEMPSEY, EMRY@1101 Kennedy | 67% (6/9) |
| 4 | New Game | KASPRZYK, RORY@1101 Kennedy | 50% (3/6) |
| 5 | New Game | COWELL, JAMAR@1101 Kennedy | 33% (2/6) |
| 6 | Shoot at 0, 0 <script>alert(1)</script> | Sam | 0% (0/1) |
| 7 | Smart? | Sam | — (0/0) |
| 8 | New Game | Sam | — (0/0) |
| 9 | New Game | Gilberto Creque | 0% (0/168) |
| 10 | Smart? 2 | Sam | 0% (0/1) |
| 11 | Actually, you know what, don't even put in a position | Sam | 0% (0/2) |
| # | Script | Author | Win rate |
|---|---|---|---|
| 1 | New Game | NICK, CADEN@1101 Kennedy | 100% (2/2) |
| 2 | TicTacToe-1 | M Gibson | 100% (1/1) |
| 3 | New Game | CRAWLEY, COLT@1101 Kennedy | 100% (1/1) |
| 4 | New Game | Edwin Disang | 100% (1/1) |
| 5 | Marta's Tic Tac Toe | Marta Deese | 100% (1/1) |
| 6 | New Game | JULIANELLI, MIGUEL@1101 Kennedy | 100% (1/1) |
| 7 | New Game | Edwin Disang | 100% (1/1) |
| 8 | New Game | EssaHT | 87% (13/15) |
| 9 | New Game | L&CIndustries | 86% (6/7) |
| 10 | New Game | HudsonHT | 82% (9/11) |
| 11 | New Game | TeddHT | 80% (8/10) |
| 12 | New Game | DAWKINS, SKYLER@1101 Kennedy | 75% (3/4) |
| 13 | CCPC Blocky 🥷🏾 1 | Gilberto Creque | 73% (194/264) |
| 14 | final2 | BrittanyHT | 72% (13/18) |
| 15 | New Game | TURNER, SABASTIAN@1101 Kennedy | 67% (2/3) |
| 16 | New Game | Edwin Disang | 67% (2/3) |
| 17 | New Game | Edwin Disang | 67% (2/3) |
| 18 | New Game | CRAWLEY, COLT@1101 Kennedy | 67% (2/3) |
| 19 | K.O.'s Player | Codecraft Works | 60% (3/5) |
| 20 | New Game | PRICE, MASON@1101 Kennedy | 50% (1/2) |
| 21 | New Game | LEACH, MIKEL@1101 Kennedy | 50% (2/4) |
| 22 | New Game | d j | 50% (1/2) |
| 23 | New Game | RYAN, GAVIN@1101 Kennedy | 50% (1/2) |
| 24 | New Game | Edwin Disang | 50% (1/2) |
| 25 | Gib TicTacToe | M Gibson | 50% (2/4) |
| 26 | final | BrittanyHT | 50% (1/2) |
| 27 | Alyssa | AlyssaHT | 50% (1/2) |
| 28 | THIS | AlyssaHT | 50% (1/2) |
| 29 | New Game | Edwin Disang | 43% (3/7) |
| 30 | New Game | PRICE, MASON@1101 Kennedy | 33% (1/3) |
| 31 | New Game | BryanHT | 33% (1/3) |
| 32 | New Game | AlyssaHT | 33% (1/3) |
| 33 | marissa | LOPEZ ESTRADA, MARISSA@1101 Kennedy | 27% (3/11) |
| 34 | Scary Random Snakes | Juan @ Codecraft Works | 26% (65/248) |
| 35 | New Game | BryanHT | 25% (1/4) |
| 36 | New Game | BryanHT | 25% (2/8) |
| 37 | New Game | BryanHT | 22% (2/9) |
| 38 | New Game | Aaron Leblanc | 20% (1/5) |
| 39 | New Game | JamesHT | 14% (1/7) |
| 40 | New Game | JULIANELLI, MIGUEL@1101 Kennedy | — (0/0) |
| 41 | cheese | JULIANELLI, MIGUEL@1101 Kennedy | — (0/0) |
| 42 | New Game | CRAWLEY, COLT@1101 Kennedy | — (0/0) |
| 43 | New Game | Koren Olson | — (0/0) |
| 44 | New Game | BELL, KA'SHAUN@1101 Kennedy | 0% (0/1) |
| 45 | New Game | TURNER, SABASTIAN@1101 Kennedy | 0% (0/1) |
| 46 | New Game | AlyssaHT | — (0/0) |
| 47 | New Game | CRAWLEY, COLT@1101 Kennedy | — (0/0) |
| 48 | New Game | JULIANELLI, MIGUEL@1101 Kennedy | 0% (0/2) |
| 49 | New Game | DEER, JT@1101 Kennedy | 0% (0/2) |
| 50 | New Game | Koren Olson | — (0/0) |
| 51 | New Game | CRAWLEY, COLT@1101 Kennedy | — (0/0) |
| 52 | New Game | SHRIVASTAV, ARYAN@1101 Kennedy | 0% (0/1) |
| 53 | New Game | TeddHT | 0% (0/1) |
| 54 | New Game | PRICE, MASON@1101 Kennedy | — (0/0) |
| 55 | New Game | DAWKINS, SKYLER@1101 Kennedy | 0% (0/5) |
| 56 | An attempt 2 | VARADY, SOPHIE@1101 Kennedy | — (0/0) |
| 57 | New Game | AlyssaHT | — (0/0) |
| 58 | New Game | d j | — (0/0) |
| 59 | New Game | CAMPOS, LIAM@1101 Kennedy | — (0/0) |
| 60 | New Game | BRADLEY, JASMIN@1101 Kennedy | — (0/0) |
| 61 | New Game | SHRIVASTAV, ARYAN@1101 Kennedy | — (0/0) |
| 62 | New Game | JULIANELLI, MIGUEL@1101 Kennedy | 0% (0/1) |
| 63 | New Game | BrittanyHT | 0% (0/1) |
| 64 | New Game | CAMPOS, LIAM@1101 Kennedy | 0% (0/3) |
| 65 | New Game | AlyssaHT | 0% (0/1) |
| 66 | New Game | TURNER, SABASTIAN@1101 Kennedy | — (0/0) |
| 67 | New Game | CRAWLEY, COLT@1101 Kennedy | — (0/0) |
| 68 | New Game | LOPEZ ESTRADA, MARISSA@1101 Kennedy | 0% (0/1) |
| 69 | New Game | Chipner.AnthonyO@Kennedy Middle | 0% (0/2) |
| 70 | New Game | Edwin Disang | — (0/0) |
| 71 | New Game | d j | 0% (0/2) |
| 72 | New Game | d j | — (0/0) |
| 73 | New Game | VARADY, SOPHIE@1101 Kennedy | — (0/0) |
| 74 | New Game | Edwin Disang | — (0/0) |
| 75 | New Game | BRADLEY, JASMIN@1101 Kennedy | — (0/0) |
| 76 | New Game | DAWKINS, SKYLER@1101 Kennedy | — (0/0) |
| 77 | New Game | Edwin Disang | — (0/0) |
| 78 | An attempt | VARADY, SOPHIE@1101 Kennedy | — (0/0) |
| 79 | New Game | LEACH, MIKEL@1101 Kennedy | — (0/0) |
| 80 | New Game | TURNER, SABASTIAN@1101 Kennedy | — (0/0) |
| 81 | New Game | NICK, CADEN@1101 Kennedy | — (0/0) |
| 82 | New Game | Edwin Disang | — (0/0) |
| 83 | New Game | Edwin Disang | — (0/0) |
| 84 | New Game | VARADY, SOPHIE@1101 Kennedy | — (0/0) |
| 85 | New Game | RYAN, GAVIN@1101 Kennedy | 0% (0/1) |
| 86 | New Game | Edwin Disang | — (0/0) |
| 87 | New Game | CAMPOS, LIAM@1101 Kennedy | 0% (0/2) |
| 88 | New Game | BryanHT | 0% (0/3) |
| # | Script | Author | Win rate |
|---|---|---|---|
| 1 | New Game | EssaHT | 100% (1/1) |
| 2 | New Game | SALCEDOG | 100% (3/3) |
| 3 | New Game | ICEVA | 86% (6/7) |
| 4 | New Game | BRISTOLA | 67% (4/6) |
| 5 | Glitch | MECKB | 60% (3/5) |
| 6 | Robsons Tic Tac to | CARVAJALR | 60% (3/5) |
| 7 | New Game | MECKB | 50% (2/4) |
| 8 | Chaotic Random Toffees | Juan @ Codecraft Works | 43% (3/7) |
| 9 | Aaden's Tic Tac Toe | BRISTOLA | 42% (5/12) |
| 10 | New Game | Tyler Campbell | 17% (2/12) |
| 11 | New Game | LANDRUMS | — (0/0) |
| 12 | Final | MECKB | 0% (0/1) |
| 13 | New Game | BRADLEY, JASMIN@1101 Kennedy | — (0/0) |
| 14 | New Game | WIGGALLM | — (0/0) |
| 15 | New Game | BRADLEY, JASMIN@1101 Kennedy | — (0/0) |
| # | Script | Author | Win rate |
|---|---|---|---|
| 1 | Default Blocks but with Functions | Juan @ Codecraft Works | 59% (323/552) |
| 2 | BattleBot | Michelle Delahoussaye | 41% (229/552) |