You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
104 lines
2.2 KiB
Go
104 lines
2.2 KiB
Go
2 years ago
|
package lupus
|
||
|
|
||
|
// StatoPartita rappresenta lo stato della partita
|
||
|
type StatoPartita struct {
|
||
|
Uid string `json:"uid"` // Uid corrispondente come in "Partita"
|
||
|
|
||
|
Players []Player `json:"players"` // Players è una mappa da username a giocatore
|
||
|
Time uint `json:"time"` // Time indica la fase corrente del gioco (la parità indica notte/giorno e si inizia da "Notte 0")
|
||
|
Actions []Action `json:"actions"` // PhaseActions indica quali azioni sono state fatte in una certa fase
|
||
|
}
|
||
|
|
||
|
type Player struct {
|
||
|
Username string `json:"username"`
|
||
|
Ruolo Ruolo `json:"ruolo"`
|
||
|
Vivo bool `json:"vivo"`
|
||
|
}
|
||
|
|
||
|
type Ruolo struct {
|
||
|
Uid string `json:"uid"`
|
||
|
Nome string `json:"nome"`
|
||
|
Fazione string `json:"fazione"`
|
||
|
Aura string `json:"aura"`
|
||
|
}
|
||
|
|
||
|
type Action struct {
|
||
|
Uid string `json:"uid"`
|
||
|
Time uint `json:"time"` // Time indica in quale fase è stata compiuta l'azione
|
||
|
Player string `json:"player"`
|
||
|
TargetPlayer string `json:"targetPlayer"`
|
||
|
}
|
||
|
|
||
|
var (
|
||
|
AuraBianca = "bianca"
|
||
|
AuraNera = "nera"
|
||
|
)
|
||
|
|
||
|
var (
|
||
|
FazioneBuoni = "buoni"
|
||
|
FazioneCattivi = "cattivi"
|
||
|
)
|
||
|
|
||
|
var (
|
||
|
Contadino = Ruolo{
|
||
|
Uid: "contadino",
|
||
|
Nome: "Contadino",
|
||
|
Fazione: FazioneBuoni,
|
||
|
Aura: AuraBianca,
|
||
|
}
|
||
|
Lupo = Ruolo{
|
||
|
Uid: "lupo",
|
||
|
Nome: "Lupo",
|
||
|
Fazione: FazioneCattivi,
|
||
|
Aura: AuraNera,
|
||
|
}
|
||
|
Fattucchiera = Ruolo{
|
||
|
Uid: "fattucchiera",
|
||
|
Nome: "Fattucchiera",
|
||
|
Fazione: FazioneCattivi,
|
||
|
Aura: AuraNera,
|
||
|
}
|
||
|
Indemoniato = Ruolo{
|
||
|
Uid: "indemoniato",
|
||
|
Nome: "Indemoniato",
|
||
|
Fazione: FazioneCattivi,
|
||
|
Aura: AuraBianca,
|
||
|
}
|
||
|
Guardia = Ruolo{
|
||
|
Uid: "guardia",
|
||
|
Nome: "Guardia",
|
||
|
Fazione: FazioneBuoni,
|
||
|
Aura: AuraBianca,
|
||
|
}
|
||
|
Cacciatore = Ruolo{
|
||
|
Uid: "cacciatore",
|
||
|
Nome: "Cacciatore",
|
||
|
Fazione: FazioneBuoni,
|
||
|
Aura: AuraBianca,
|
||
|
}
|
||
|
Medium = Ruolo{
|
||
|
Uid: "medium",
|
||
|
Nome: "Medium",
|
||
|
Fazione: FazioneBuoni,
|
||
|
Aura: AuraBianca,
|
||
|
}
|
||
|
Veggente = Ruolo{
|
||
|
Uid: "veggente",
|
||
|
Nome: "Veggente",
|
||
|
Fazione: FazioneBuoni,
|
||
|
Aura: AuraBianca,
|
||
|
}
|
||
|
)
|
||
|
|
||
|
// Ruoli è una lista di ruoli comuni, l'ordine è puramente casuale
|
||
|
var Ruoli = []Ruolo{
|
||
|
Contadino,
|
||
|
Lupo,
|
||
|
Fattucchiera,
|
||
|
Indemoniato,
|
||
|
Guardia,
|
||
|
Cacciatore,
|
||
|
Medium,
|
||
|
Veggente,
|
||
|
}
|