package me.msoucy.ptures

import me.msoucy.ptures.controller.Engine
import me.msoucy.ptures.controller.SingleBattle
import me.msoucy.ptures.model.Creature
import me.msoucy.ptures.model.Skills
import me.msoucy.ptures.model.Team
import me.msoucy.ptures.view.BattleViewText
import me.msoucy.ptures.view.PlayerViewText

val CreatureA = with(Creature()) {
    name = "CreatureA"
    genes.atk = 7
    genes.def = 3
    skills.add(Skills.Tackle)
    skills.add(Skills.DoubleKick)
    this
}

val CreatureB = with(Creature()) {
    name = "CreatureB"
    skills.add(Skills.Tackle)
    skills.add(Skills.Ember)
    this
}

val TeamA = with(Team(PlayerViewText(1))) {
    creatures.add(CreatureA)
    this
}
val TeamB = with(Team(PlayerViewText(2))) {
    creatures.add(CreatureB)
    this
}

val TestBattle = SingleBattle(TeamA, TeamB)

object PTureTest {
    @JvmStatic
    fun main(arg: Array<String>) {
        println("Hello, world!")
        val e = Engine(TestBattle)
        e.resolveTurn(BattleViewText())
    }
}