mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-14 09:48:12 +07:00
Civs start at least 3 tiles away from edge of board
This commit is contained in:
@ -1,5 +1,6 @@
|
|||||||
package com.unciv
|
package com.unciv
|
||||||
|
|
||||||
|
import com.badlogic.gdx.math.Vector2
|
||||||
import com.unciv.logic.GameInfo
|
import com.unciv.logic.GameInfo
|
||||||
import com.unciv.logic.civilization.CivilizationInfo
|
import com.unciv.logic.civilization.CivilizationInfo
|
||||||
import com.unciv.logic.map.TileMap
|
import com.unciv.logic.map.TileMap
|
||||||
@ -14,8 +15,15 @@ class GameStarter(){
|
|||||||
gameInfo.tileMap.gameInfo = gameInfo // need to set this transient before placing units in the map
|
gameInfo.tileMap.gameInfo = gameInfo // need to set this transient before placing units in the map
|
||||||
|
|
||||||
|
|
||||||
val freeTiles = gameInfo.tileMap.values.toMutableList()
|
fun vectorIsWithinNTilesOfEdge(vector: Vector2,n:Int): Boolean {
|
||||||
val playerPosition = freeTiles.toList().getRandom().position
|
return vector.x < mapRadius-n
|
||||||
|
&& vector.x > n-mapRadius
|
||||||
|
&& vector.y < mapRadius-n
|
||||||
|
&& vector.y > n-mapRadius
|
||||||
|
}
|
||||||
|
|
||||||
|
val freeTiles = gameInfo.tileMap.values.toMutableList().filter { vectorIsWithinNTilesOfEdge(it.position,3)}.toMutableList()
|
||||||
|
val playerPosition = freeTiles.getRandom().position
|
||||||
gameInfo.civilizations.add(CivilizationInfo(civilization, playerPosition, gameInfo)) // first one is player civ
|
gameInfo.civilizations.add(CivilizationInfo(civilization, playerPosition, gameInfo)) // first one is player civ
|
||||||
|
|
||||||
freeTiles.removeAll(gameInfo.tileMap.getTilesInDistance(playerPosition,6))
|
freeTiles.removeAll(gameInfo.tileMap.getTilesInDistance(playerPosition,6))
|
||||||
|
Reference in New Issue
Block a user