Skip to content

Instantly share code, notes, and snippets.

@IntegerMan
Created September 30, 2019 00:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save IntegerMan/7ec1379ad1b3dbe566b090a28d2c217c to your computer and use it in GitHub Desktop.
Save IntegerMan/7ec1379ad1b3dbe566b090a28d2c217c to your computer and use it in GitHub Desktop.
namespace MattEland.FSharpGeneticAlgorithm.Logic
open System
open MattEland.FSharpGeneticAlgorithm.Logic.Actors
open MattEland.FSharpGeneticAlgorithm.Logic.WorldPos
module World =
let getRandomPos(maxX:int32, maxY:int32, random: Random): WorldPos =
let x = random.Next(maxX) + 1
let y = random.Next(maxY) + 1
newPos x y
let generate (maxX:int32, maxY:int32, random: Random): Actor seq =
let pos = getRandomPos(maxX, maxY, random)
seq {
yield createSquirrel pos
}
type World (maxX: int32, maxY: int32, random: Random) =
let actors = generate(maxX, maxY, random)
member this.Actors = actors
member this.MaxX = maxX
member this.MaxY = maxY
member this.GetCharacterAtCell(x, y) =
let mutable char = '.'
for actor in this.Actors do
if actor.Pos.X = x && actor.Pos.Y = y then
char <- actor.Character
char
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment