Cette page couvre Elm 0.18
Créez src/Players/Messages.elm :
module Players.Messages exposing (..)
type Msg
= NoOpC'est là que nous mettrons tous les messages relatifs aux joueurs.
Créez src/Players/Models.elm :
module Players.Models exposing (..)
type alias PlayerId =
String
type alias Player =
{ id : PlayerId
, name : String
, level : Int
}
new : Player
new =
{ id = "0"
, name = ""
, level = 1
}C'est là que nous définissons à quoi ressemble un enregistrement de joueur : il se compose d'un identifiant (id), d'un nom (name) et d'un niveau (level).
Notez aussi la définition d'un PlayerId : il s'agit juste d'un String, mais cette définition nous sert à clarifier le sens des fonctions qui prendront plusieurs Int. Ainsi, la fonction :
addPerkToPlayer : Int -> Int -> Playersera bien plus claire écrite comme cela :
addPerkToPlayer : PerkId -> PlayerId -> PlayerCréez src/Players/Update.elm :
module Players.Update exposing (..)
import Players.Messages exposing (Msg(..))
import Players.Models exposing (Player)
update : Msg -> List Player -> ( List Player, Cmd Msg )
update message players =
case message of
NoOp ->
( players, Cmd.none )C'est ce schéma de base que suivent toutes les ressources dans une grande application :
Messages
Models
Update
Players
Messages
Models
Update
Perks
Messages
Models
Update
...