game-ultimate-tictactoe-master/.gitignore
/target/
/.classpath
/.project
/.settings/
game-ultimate-tictactoe-master/README.md
# game-ultimate-tictactoe
Game created using the [CodinGame SDK](https://www.codingame.com/playgrounds/25775).
[Play here on CodinGame](https://www.codingame.com/ide/puzzle/tic-tac-toe)
game-ultimate-tictactoe-master/config/Boss.java
game-ultimate-tictactoe-master/config/Boss.java
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
class Player {
static class Action {
int row, col;
public Action(int row, int col) {
this.row = row;
this.col = col;
}
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Random random = new Random(0);
while (true) {
int opponentRow = in.nextInt();
int opponentCol = in.nextInt();
int validActionCount = in.nextInt();
List actions = new ArrayList<>(validActionCount);
for (int i = 0; i < validActionCount; i++) {
int row = in.nextInt();
int col = in.nextInt();
actions.add(new Action(row, col));
}
Action a = actions.get(random.nextInt(actions.size()));
System.out.println(String.format("%d %d", a.row, a.col));
}
}
}
game-ultimate-tictactoe-master/config/config.ini
title=Tic-Tac-Toe
min_players=2
max_players=2
game-ultimate-tictactoe-master/config/level1/statement_en.html
This is a league based challenge.
For this challenge, multiple versions of the same game are available. Once you have proven your skills on this first version, you will access a higher league and extra rules will be unlocked.
The Goal
Tic-tac-toe is a turn-based game, where the objective is to get three in a row.
Rules
The game is played on a 3x3 grid. You must output the coordinate of the cell you want to mark. The first player to get 3 of their mark in a row (vertically, horizontally or diagonally) wins.
You can download the source code of this game on GitHub. You can create your own game using the CodinGame SDK!
Game Input
Input for one game turn
Line 1: 2 space separated integers opponentRow and opponentCol, the opponent's last action (-1 -1 for the first turn).
Line 2: the number of valid actions for this turn, validActionCount.
Next validActionCount lines: 2 space separated integers row and col, the coordinates you're allowed to play at.
Output for one game turn
Line 1: 2 space separated integers row and col.
Constraints
Response time for first turn ≤ 1000ms
Response time for one turn ≤ 100ms
What is in store for me in the higher leagues?
The extra rules available in higher leagues are:
Next game will be played on 9 tic-tac-toe boards!
game-ultimate-tictactoe-master/config/level1/statement_fr.html
Ce challenge se déroule en ligue.
Pour ce challenge, plusieurs versions du même jeu seront disponibles. Quand vous aurez prouvé votre valeur dans la première version, vous accéderez à la ligue supérieure et débloquerez de nouvelles règles.
Objectif
Tic-tac-toe est un jeu tour par tour dont l'objectif est d'être le premier à aligner 3 symboles.
Règles
Le jeu se déroule sur une grille 3x3. Vous devez écrire les coordonnées de la case que vous voulez marquer. Le premier joueur qui aligne 3 de ses marques (verticalement, horizontalement et en diagonale) a gagné.
Le code source de ce jeu est disponible sur GitHub. Vous aussi, vous pouvez créer votre jeu à l'aide du CodinGame SDK !
Entrées du jeu
Entrées pour un tour de jeu
Ligne 1: 2 entiers séparés par un espace opponentRow et opponentCol, les coordonnées jouées par l'adversaire au tour précédent (-1 -1 pour le tout premier tour).
Ligne 2: le nombre d'actions valides pour ce tour de jeu, validActionCount.
Les validActionCount lignes suivantes: 2 entiers séparés par un espace row et col, les coordonnées où vous pouvez jouer.
Sortie pour un tour de jeu
Ligne 1: 2 entiers séparés par un espace row et col.
Contraintes
Temps de réponse premier tour ≤ 1000ms
Temps de réponse par tour ≤ 100ms
Qu'est-ce qui m'attend dans les prochaines ligues ?
Les nouvelles règles débloquées dans les prochaines ligues sont :
Le prochain jeu se déroulera sur 9 grilles de tic-tac-toe en même temps !
game-ultimate-tictactoe-master/config/level2/statement_en.html
This is a league based challenge.
For this challenge, multiple versions of the same game are available. Once you have proven your skills on this first version, you will access a higher league and extra rules will be unlocked.
The Goal
We're adding a new level of complexity: the game is now played on a tic-tac-toe board where each square is a normal tic-tac-toe. The objective is to align 3 marks on the main tic-tac-toe board by winning on the smaller boards.
Rules
When a player plays on a small board, he also decides where the next player will be allowed to play: for example, if a player has played in the bottom left square of one of the small boards, the next player will play on the small board located at the bottom left square of the main board.
If a player is sent to a board that is either already won, or full, then that player is allowed to play in any empty square.
You can download the source code of this game on GitHub. You can create your own game using the CodinGame SDK!
Victory Conditions
You've won on 3 aligned smaller tic-tac-toe boards. If nobody managed to get 3 marks aligned, the player that won the most smaller tic-tac-toe boards wins.
Game Input
Input for one game turn
Line 1: 2 space separated integers opponentRow and opponentCol, the opponent's last action (-1 -1 for the first turn).
Line 2: the number of valid actions for this turn, validActionCount.
Next validActionCount lines: 2 space separated integers row and col, the coordinates you're allowed to play at.
Output for one game turn
Line 1: 2 space separated integers row and col.
Constraints
Response time for first turn ≤ 1000ms
Response time for one turn ≤ 100ms
game-ultimate-tictactoe-master/config/level2/statement_fr.html
Ce challenge se déroule en ligue.
Pour ce challenge, plusieurs versions du même jeu seront disponibles. Quand vous aurez prouvé votre valeur dans la première version, vous accéderez à la ligue supérieure et débloquerez de nouvelles règles.
Objectif
Nous ajoutons un nouveau degré de complexité : le jeu se joue maintenant sur une grille de tic-tac-toe où chaque case est un tic-tac-toe classique. L'objectif est d'aligner 3 marques sur la grille de tic-tac-toe principale en gagnant sur les grilles plus petites.
Règles
Lorsqu'un joueur joue sur une petite grille, il décide également de là où pourra jouer le prochain joueur : par exemple, si un joueur joue sur la case située en bas à gauche de l'une des petites grilles, alors le prochain joueur devra jouer sur la petite grille située en bas à gauche de la grille principale.
Si un joueur est envoyé sur une grille déjà gagnée, ou complète, alors le joueur est autorisé à jouer sur n'importe quelle case vide.
Le code source de ce jeu est disponible sur GitHub. Vous aussi, vous pouvez créer votre jeu à l'aide du CodinGame SDK !
Conditions de victoire
Vous avez gagné sur 3 grilles de tic-tac-toe alignées. Si aucun joueur n'arrive à aligner 3 marques, le joueur ayant gagné le plus de petites grilles gagne.
Entrées du jeu
Entrées pour un tour de jeu
Ligne 1: 2 entiers séparés par un espace opponentRow et opponentCol, les coordonnées jouées par l'adversaire au tour précédent (-1 -1 pour le tout premier tour).
Ligne 2: le nombre d'actions valides pour ce tour de jeu, validActionCount.
Les validActionCount lignes suivantes: 2 entiers séparés par un espace row et col, les coordonnées où vous pouvez jouer.
Sortie pour un tour de jeu
Ligne 1: 2 entiers séparés par un espace row et col.
Contraintes
Temps de réponse premier tour ≤ 1000ms
Temps de réponse par tour ≤ 100ms
game-ultimate-tictactoe-master/config/stub.txt
gameloop
read opponentRow:int opponentCol:int
read validActionCount:int
loop validActionCount read row:int col:int
write 0 0
game-ultimate-tictactoe-master/pom.xml
4.0.0
com.codingame.game
tictactoe
1.0-SNAPSHOT
2.7
1.8
1.8
com.codingame.gameengine
core
${gamengine.version}
com.codingame.gameengine
module-entities
${gamengine.version}
com.codingame.gameengine
runner
...