I hereby claim:
- I am vgaltes on github.
- I am vgaltes (https://keybase.io/vgaltes) on keybase.
- I have a public key ASAPTaxcwqiW74MGAi-OV8kV_Kln6zvJ58UPLpgS4kjk1wo
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
type Circle = {x: double;y: double;radius: double} with | |
member this.Area = Math.PI * this.radius | |
let mc = {x = 2.0; y = 3.0; radius = 5.0} | |
printfn "area: %f" mc.Area | |
printfn "x: %f" mc.x | |
printfn "y: %f" mc.y |
let noMoreThanOneThousand characterFrom playerTo distance amount = | |
match playerTo with | |
| Thing t -> None | |
| Character c -> | |
if amount < 1000 - c.Health then Some (amount) | |
else Some (1000 - c.Health) | |
let sameFactionNotAllowed characterFrom playerTo distance amount = | |
match playerTo with | |
| Thing _ -> Some(amount) |
let applyDamage damage player = | |
match player with | |
| Thing t -> Player.Thing {t with Health = t.Health - damage} | |
| Character c -> Player.Character {c with Health = c.Health - damage} | |
let applyHeal healing player = | |
match player with | |
| Thing t -> Player.Thing {t with Health = t.Health + healing} | |
| Character c -> Player.Character {c with Health = c.Health + healing} |
let interactWith characterFrom playerTo action distance = | |
let calculateDamage characterFrom playerTo action distance = | |
match action with | |
| Attack amount -> | |
match playerTo with | |
| Character c -> | |
let damage = calculateHealthDifference amount attackRules characterFrom c distance | |
let damage' = applyEnvironmentalRules damage environmentalAttackRules characterFrom distance | |
applyLimitRules damage' attackLimitRules c.Health | |
| Thing t -> |
type Character = {Name:string; Health : int; Level: int; Type: FighterType; Factions: string list} | |
type Thing = {Name: string; Health: int} | |
type Player = | |
| Character of Character | |
| Thing of Thing |
let rec applyRules value rules characterFrom playerTo distance = | |
match rules with | |
| [] -> value | |
| x::xs -> | |
let result = x characterFrom playerTo distance value | |
match result with | |
| None -> 0 | |
| Some v -> applyRules v xs characterFrom playerTo distance | |
let interactWith characterFrom characterTo action distance = |
let numberOfRevisions = | |
totalCommits | |
|> Array.collect(fun c -> c.Files) | |
|> Array.groupBy(fun f -> f.FileName) | |
|> Array.map ( fun c -> fst c, (snd c).Length) | |
|> Array.sortByDescending ( fun c -> snd c) | |
------------------------------------------------------- | |
val numberOfRevisions : (string * int) [] = | |
[|("src/SFA.Apprenticeships.Web.Candidate/SFA.Apprenticeships.Web"+[17 chars], |
let consolidateNames name = | |
match name with | |
|authorName when mapAuthors.ContainsKey name -> (mapAuthors.TryFind name).Value | |
|authorName -> authorName | |
let numberOfAuthors = | |
totalCommits | |
|> Array.groupBy(fun c -> c.CommitInfo.Author) | |
|> Array.map(fun a -> consolidateNames (fst a)) | |
|> Array.distinct |
let mapAuthors = | |
Map.empty | |
.Add("Janusz Kali Kaliszczak", "Janusz 'Kali' Kaliszczak") | |
.Add("iterative-it", "David Winchurch") | |
.Add("charge-valtech", "Henry Charge") | |
.Add("SandeepYadav", "Sandeep Yadav") | |
.Add("sandeep-sfa", "Sandeep Yadav") | |
.Add("kristerbone", "Krister Bone") | |
.Add("Vicen├º Garc├¡a Alt├®s", "Vicenc Garcia-Altes") | |
.Add("vgaltes", "Vicenc Garcia-Altes") |