NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.

Piškvorky v Kotlin

Implementace piškvorek v Kotlinu s možností tvoření vlastních AI. Program je psaný v Kotlinu a logická vrstva programu je psaná funkcionálně a immutabilně. V programu jsou použitý následující knihovny (gradle) na usnadnění práce s JavaFX a reflexí v Kotlinu/Javě:

  • TornadoFX (Wrapper JavaFX pro Kotlin)
  • Reflections (Lehčí práce s reflexí v Javě)

Celý projekt je na gitu: https://github.com/…io/TicTacToe

Napsaní vlastního AI

Krok 1

Naklonujte/stáhněte git repositář (https://github.com/…io/TicTacToe) a nastavte si gradle a Intellij nebo jiné preferované IDE.

Krok 2

V package net.monarezio.domain.ai vytvořte novou třídu:

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

Napište svojí vlastní implementaci kódu:

Metoda nextCoordinates() vrátí koordinace kam se má zahrát. 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

Spusťte projekt a v main menu vyberte typ hry.


Galerie

Hra byla vytvořena v roce 2017.

 

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 54x (170.83 kB)
Aplikace je včetně zdrojových kódů v jazyce Kotlin

 

Všechny články v sekci
Online kurzy programování Kotlin - Největší {C_A} e-learning
Článek pro vás napsal Samuel Kodytek
Avatar
Uživatelské hodnocení:
5 hlasů
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