From e60814320ed9a005cb34378d3b7bc37ed2fbe09a Mon Sep 17 00:00:00 2001
From: PhenixCeleste <vivien.d06@gmail.com>
Date: Thu, 10 Feb 2022 15:02:09 +0100
Subject: [PATCH] pokemon stat upgrade

---
 src/main/scala/Pokemon/Capacity.scala        |  4 +++-
 src/main/scala/Pokemon/CapacityFactory.scala |  2 +-
 src/main/scala/Pokemon/Pokemon.scala         | 13 ++++++++++++-
 src/main/scala/Pokemon/PokemonFactory.scala  |  6 +++---
 4 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/src/main/scala/Pokemon/Capacity.scala b/src/main/scala/Pokemon/Capacity.scala
index ae60435..94bb137 100644
--- a/src/main/scala/Pokemon/Capacity.scala
+++ b/src/main/scala/Pokemon/Capacity.scala
@@ -1 +1,3 @@
-class Capacity(name: String, val ctype: Type)
+// must add later : max_used
+// uses : var or val ?
+class Capacity(name: String, val ctype: Type, var uses: Int)
diff --git a/src/main/scala/Pokemon/CapacityFactory.scala b/src/main/scala/Pokemon/CapacityFactory.scala
index 08d04df..ef2f496 100644
--- a/src/main/scala/Pokemon/CapacityFactory.scala
+++ b/src/main/scala/Pokemon/CapacityFactory.scala
@@ -1,6 +1,6 @@
 object CapacityFactory:
 
-    private case class VineWhip() extends Capacity("Vine Whip", Grass)
+    private case class VineWhip() extends Capacity("Vine Whip", Grass, 15)
 
     def apply(name: String): Capacity = name match
         case "Vine Whip" => VineWhip()
diff --git a/src/main/scala/Pokemon/Pokemon.scala b/src/main/scala/Pokemon/Pokemon.scala
index 388fad1..d760e8b 100644
--- a/src/main/scala/Pokemon/Pokemon.scala
+++ b/src/main/scala/Pokemon/Pokemon.scala
@@ -1,4 +1,15 @@
-trait Pokemon(var name: String, var life: Int, val ptype: List[Type]):
+trait Pokemon( // must add later max_life...
+    var name: String,
+    var life: Int,
+    val ptype: List[Type],
+    var pcapacity: List[Capacity],
+    val attack: Int, // val or var ?
+    val defense: Int, // val or var ?
+    val speed: Int // val or var ?
+):
+
+    def rename(newName: String) =
+        this.name = newName
 
     def attack(capacity: Capacity, other: Pokemon) =
         val multiplier = other.ptype.foldLeft(1.0)(_ * capacity.ctype.typeEfficiency(_).factor)
diff --git a/src/main/scala/Pokemon/PokemonFactory.scala b/src/main/scala/Pokemon/PokemonFactory.scala
index 26fe2b3..5355421 100644
--- a/src/main/scala/Pokemon/PokemonFactory.scala
+++ b/src/main/scala/Pokemon/PokemonFactory.scala
@@ -1,8 +1,8 @@
 object PokemonFactory:
 
-    private case class Bulbasaur() extends Pokemon("Bulbasaur", 25, List(Grass, Poison))
-    private case class Charmander() extends Pokemon("Charmander", 30, List(Fire))
-    private case class Squirtle() extends Pokemon("Squirtle", 25, List(Water))
+    private case class Bulbasaur() extends Pokemon("Bulbasaur", 25, List(Grass, Poison), List(), 0, 0, 0)
+    private case class Charmander() extends Pokemon("Charmander", 30, List(Fire), List(), 0, 0, 0)
+    private case class Squirtle() extends Pokemon("Squirtle", 25, List(Water), List(), 0, 0, 0)
 
     def apply(name: String): Pokemon = name match
         case "Bulbasaur"  => Bulbasaur()
-- 
GitLab