From b842f8a14e01f197a44e25ccb965549ca57d6556 Mon Sep 17 00:00:00 2001 From: Matei Adriel Date: Thu, 5 Dec 2019 19:17:05 +0200 Subject: [PATCH] fsharp(ygosim): feat: added a few basic files Signed-off-by: prescientmoon --- fsharp/ygosim/.gitignore | 2 ++ fsharp/ygosim/Program.fs | 8 -------- fsharp/ygosim/src/Board.fs | 6 ++++++ fsharp/ygosim/src/Card.fs | 4 ++++ fsharp/ygosim/src/Player.fs | 19 +++++++++++++++++++ fsharp/ygosim/src/PlayerController.fs | 0 fsharp/ygosim/src/Program.fs | 5 +++++ fsharp/ygosim/src/Side.fs | 10 ++++++++++ fsharp/ygosim/ygosim.fsproj | 6 +++++- 9 files changed, 51 insertions(+), 9 deletions(-) delete mode 100644 fsharp/ygosim/Program.fs create mode 100644 fsharp/ygosim/src/Board.fs create mode 100644 fsharp/ygosim/src/Card.fs create mode 100644 fsharp/ygosim/src/Player.fs create mode 100644 fsharp/ygosim/src/PlayerController.fs create mode 100644 fsharp/ygosim/src/Program.fs create mode 100644 fsharp/ygosim/src/Side.fs diff --git a/fsharp/ygosim/.gitignore b/fsharp/ygosim/.gitignore index 21d9bca..5b16b2d 100644 --- a/fsharp/ygosim/.gitignore +++ b/fsharp/ygosim/.gitignore @@ -431,3 +431,5 @@ $RECYCLE.BIN/ !.vscode/tasks.json !.vscode/launch.json !.vscode/extensions.json + +.ionide \ No newline at end of file diff --git a/fsharp/ygosim/Program.fs b/fsharp/ygosim/Program.fs deleted file mode 100644 index 09b1452..0000000 --- a/fsharp/ygosim/Program.fs +++ /dev/null @@ -1,8 +0,0 @@ -// Learn more about F# at http://fsharp.org - -open System - -[] -let main argv = - printfn "Hello World from F#!" - 0 // return an integer exit code diff --git a/fsharp/ygosim/src/Board.fs b/fsharp/ygosim/src/Board.fs new file mode 100644 index 0000000..b3ff3b8 --- /dev/null +++ b/fsharp/ygosim/src/Board.fs @@ -0,0 +1,6 @@ +module Board + +open Player + +type Board = + { players: Player.Player * Player } diff --git a/fsharp/ygosim/src/Card.fs b/fsharp/ygosim/src/Card.fs new file mode 100644 index 0000000..522dabb --- /dev/null +++ b/fsharp/ygosim/src/Card.fs @@ -0,0 +1,4 @@ +module Card + +type Card = + { name: string } diff --git a/fsharp/ygosim/src/Player.fs b/fsharp/ygosim/src/Player.fs new file mode 100644 index 0000000..ce61076 --- /dev/null +++ b/fsharp/ygosim/src/Player.fs @@ -0,0 +1,19 @@ +module Player + +open Side + +type Player = + { lifePoints: int + side: Side } + +let inflictDamage (player: Player) amount = { player with lifePoints = player.lifePoints - amount } + + +type PlayerControllerAction = + | ChooseZone + | BoardUpdate + +type PlayerActionPayload = PlayerControllerAction * Side + +type PlayerController = PlayerController of (PlayerControllerAction -> PlayerController) + \ No newline at end of file diff --git a/fsharp/ygosim/src/PlayerController.fs b/fsharp/ygosim/src/PlayerController.fs new file mode 100644 index 0000000..e69de29 diff --git a/fsharp/ygosim/src/Program.fs b/fsharp/ygosim/src/Program.fs new file mode 100644 index 0000000..f626d93 --- /dev/null +++ b/fsharp/ygosim/src/Program.fs @@ -0,0 +1,5 @@ +module Main = + [] + let main argv = + printfn "Hello World from F#!" + 0 // return an integer exit code diff --git a/fsharp/ygosim/src/Side.fs b/fsharp/ygosim/src/Side.fs new file mode 100644 index 0000000..57a2109 --- /dev/null +++ b/fsharp/ygosim/src/Side.fs @@ -0,0 +1,10 @@ +module Side + +open Card + +type Side = + { field: Card + monsters: Card list + spells: Card list + graveyard: Card list + deck: Card list } diff --git a/fsharp/ygosim/ygosim.fsproj b/fsharp/ygosim/ygosim.fsproj index 8c42a90..f2badb6 100644 --- a/fsharp/ygosim/ygosim.fsproj +++ b/fsharp/ygosim/ygosim.fsproj @@ -6,7 +6,11 @@ - + + + + +