La semilla dejo de pasarse y quedo fija en 1, asi que todas las excursiones son el mismo mapa con los mismos bichos en las mismas coordenadas.
$ grep -n "new Field(" lib/game.js
803: this.field = new Field({ player: this.player })
840: this.field = new Field({ player: this.player })
lib/field.js hace this.seed = opts.seed ?? 1.
salida 1: seed=1 mosquito@17,14 mosquito@19,17 mosquito@29,26 ...
salida 2: seed=1 mosquito@17,14 mosquito@19,17 mosquito@29,26 ...
salida 3: seed=1 mosquito@17,14 mosquito@19,17 mosquito@29,26 ...
salida1 === salida2 : true
Arreglo
Reponer this.excursion = 0 en el constructor y derivar la semilla en las dos puertas:
this.excursion++
const seed = (this.excursion * 2654435761 + this.player.xp * 40503 + this.player.gold) >>> 0
this.field = new Field({ player: this.player, seed })
Derivada y no aleatoria, para que una partida siga siendo reproducible. Conviene extraer las dos puertas a un solo metodo, porque hoy el mismo new Field esta duplicado y el arreglo hay que hacerlo dos veces.
La semilla dejo de pasarse y quedo fija en 1, asi que todas las excursiones son el mismo mapa con los mismos bichos en las mismas coordenadas.
lib/field.jshacethis.seed = opts.seed ?? 1.Arreglo
Reponer
this.excursion = 0en el constructor y derivar la semilla en las dos puertas:Derivada y no aleatoria, para que una partida siga siendo reproducible. Conviene extraer las dos puertas a un solo metodo, porque hoy el mismo
new Fieldesta duplicado y el arreglo hay que hacerlo dos veces.