IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

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

 

Všetky články v sekcii
Online kurzy programovania Kotlin - Najväčší {C_A} tutorial
Článok pre vás napísal Samuel Kodytek
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor se věnuje všem jazykům okolo JVM. Rád pomáhá lidem, kteří se zajímají o programování. Věří, že všichni mají šanci se naučit programovat, jen je potřeba prorazit tu bariéru, který se říká lenost.
Aktivity