More Related Content
Similar to F#で学ぶ関数プログラミング入門? (20)
F#で学ぶ関数プログラミング入門?
- 25. ん?
.NET といえば C# . . .
• C# には LINQ あるよね?
• ラムダ式も導入されているし…
• 別に F# でなくても良くない?
- 35. まず型定義
type EquipmentType =
| Weapon
| Protector
type Rarity =
| Common
| UnCommon
| Rare
| SuperRare
| UltraRare
type Equipment = {
name : string
ability : decimal
rarity : Rarity
equipmentType : EquipmentType }
- 36. 補正付き合計攻撃力の算出
(* decimal - Equipment list - decimal *)
let totalCorrectionOffensiveAbility correctionValue equipments =
equipments
| List.filter (fun e - e.equipmentType = Weapon)
| List.fold (fun acc e - acc + e.ability) 0m
| if correctionValue 0m then (*) (1m + correctionValue) else id
(* Equipment list - unit *)
let printCorrectionOffensiveAbility equipments =
equipments
| totalCorrectionOffensiveAbility 0.33m
| printfn 補正付き合計攻撃力:%M
- 37. 簡易ゲームループ
let rec gameLoop update fps = async {
do update ()
do! Async.Sleep (1000 / fps)
return! gameLoop update fps }