Skip to content

Commit

Permalink
#206 Implemented counters for armies.
Browse files Browse the repository at this point in the history
  • Loading branch information
Rich2 committed Mar 15, 2023
1 parent 56ae6fd commit b454677
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 19 deletions.
23 changes: 9 additions & 14 deletions Dev/srcStrat/dless/DLessScen.scala
Original file line number Diff line number Diff line change
Expand Up @@ -47,20 +47,15 @@ object DLessScen1 extends DLessScen

override val armies: HCenOptLayer[Army] =
{ val res = gridSys.newHCenOptLayer[Army]
res.setSomeMut(142, 510, Britain.ar(1))
res.setSomeMut(144, 508, Britain.ar(2))
res.setSomeMut(140, 520, Germany.ar(1))
res.setSomeMut(144, 1528, Germany.ar(2))
res.setSomeMut(144, 520, Germany.ar(3))
res.setSomeMut(142, 1526, Germany.ar(4))
res.setSomeMut(138, 514, France.ar(1))
res.setSomeMut(142, 1534, Russia.ar(1))
res.setSomeMut(148, 1536, Russia.ar(2))
res.setSomeMut(134, 526, Italy.ar(1))
res.setSomeMut(136, 1528, Austria.ar(1))
res.setSomeMut(138, 526, Austria.ar(2))
res.setSomeMut(132, 1532, Ottoman.ar(1))
res.setSomeMut(132, 508, Spain.ar(1))
implicit val counters = ArrCounters(nations)
res.setFSomesMut(Britain.armyNext, 142,510, 144,508)
res.setFSomesMut(Germany.armyNext, 140,520, 144,1528, 144,520, 142,1526)
res.setFSomesMut(France.armyNext, 138,514, 140,516)
res.setFSomesMut(Russia.armyNext, 142,1534, 148,1536)
res.setFSomesMut(Italy.armyNext, 134,526, 136,524)
res.setFSomesMut(Austria.armyNext, 136,1528, 138,526)
res.setFSomesMut(Ottoman.armyNext, 132,1532, 132,1548)
res.setFSomesMut(Spain.armyNext, 132,508, 130,510)
res
}
}
Expand Down
3 changes: 2 additions & 1 deletion Dev/srcStrat/dless/Nation.scala
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ trait Nation
{ val name: String
val colour: Colour
override def toString: String = name
def ar(num: Int) = Army(this, num)
def army(num: Int): Army = Army(this, num)
def armyNext()(implicit counters: ArrCounters[Nation]): Army = army(counters(this))
}

object Britain extends Nation
Expand Down
5 changes: 2 additions & 3 deletions Tiling/srcHex/HCenOptLayer.scala
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,9 @@ class HCenOptLayer[A <: AnyRef](val unsafeArray: Array[A]) extends AnyVal with T
/** Sets / mutates every element to the given value. */
def setAllMut(value: A): Unit = iUntilForeach(flatLength)(unsafeArray(_) = value)

def setWithCounter(f: Int => A, hCens: Int*)(implicit counters: ArrCounters[A]): Unit =
def setFSomesMut(f: () => A, hCens: Int*)(implicit grider: HGridSys): Unit =
{ if (hCens.length.isOdd) excep(s"${hCens.length} odd number of int parameters for HCens.")
iUntilForeach(0, hCens.length, 2){i =>
val count = ???
iUntilForeach(0, hCens.length, 2){i => unsafeArray(grider.layerArrayIndex(hCens(i), hCens(i + 1))) = f()
}
}

Expand Down
2 changes: 1 addition & 1 deletion Util/srcArr/Arr.scala
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ class ArrShowT[A, R <: Arr[A]](val evA: ShowT[A]) extends ShowTSeqLike[A, R]
case class ArrCounters[A](arr: Arr[A])
{ val counters: Array[Int] = new Array[Int](arr.length)

def iter(el: A): Int =
def apply(el: A): Int =
{ val i = arr.indexOf(el)
val res = counters(i) + 1
counters(i) = res
Expand Down

0 comments on commit b454677

Please sign in to comment.