Piškvorky v Kotlin
Implementácia piškvoriek v Kotlinu s možnosťou tvorenia vlastných AI. Program je písaný v Kotlinu a logická vrstva programu je písaná funkcionálne a immutabilně. V programe sú použitý nasledujúce knižnice (grádl) na uľahčenie práce s JavaFX a reflexiou v Kotlinu / Jave:
- TornadoFX (Wrapper JavaFX pre Kotlin)
- Reflections (Ľahšie práca s reflexiou v Jave)
Celý projekt je na gitu: https://github.com/...io/TicTacToe
Zapísaní vlastného AI
Krok 1
Naklonujte / stiahnite git repozitár ( https://github.com/...io/TicTacToe) a nastavte si grádl a IntelliJ alebo iné preferované IDE.
Krok 2
V package net.monarezio.domain.ai
vytvorte novú triedu:
class RandomAi {
}
Krok 3
Implementujte interface Ai:
class RandomAi : Ai { override fun nextCoordinates(game: AiTicTacToe): Coordinate = TODO("not implemented") //To change body of created functions use File | Settings | File Templates. }
Krok 4
Napíšte svoju vlastnú implementáciu kódu:
Metóda nextCoordinates()
vráti koordinácia kam sa má
zahrať. Argument game
je state hry.
class RandomAi : Ai { override fun nextCoordinates(game: AiTicTacToe): Coordinate { val board = game.getBoard().getFields() while (true) { val x = Int.random(0, board.size - 1) val y = Int.random(0, board[x].size - 1) if (board[x][y] == Field.ANON) return Coordinate(x, y) } } }
Krok 5
Spustite projekt a v main menu vyberte typ hry.
Galéria
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami
Stiahnuté 54x (170.83 kB)
Aplikácia je vrátane zdrojových kódov v jazyku Kotlin