Python týden Jarní BF
100% homeoffice, 100% časově flexibilní fulltime programátor pro ITnetwork.cz. #bezdeadlinu Mám zájem!
Využij Jarní akci a získej od nás 50 % bodů navíc zdarma! Zároveň také probíhá Python týden se slevou na e-learning až 80 %

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

Tento výukový obsah pomáhajú rozvíjať nasledujúce firmy, ktoré možno hľadajú práve teba!

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é 42x (170.83 kB)
Aplikácia je vrátane zdrojových kódov v jazyku Kotlin

 

 

Článok pre vás napísal Samuel Kodytek
Avatar
Ako sa ti páči článok?
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.
Všetky články v sekcii
Kotlín
Aktivity (1)

 

 

Komentáre

Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!