From d653ea277f9d9b8995b00abae8fd0d195c0bf8e7 Mon Sep 17 00:00:00 2001 From: Skullheadx Date: Sat, 16 May 2026 19:19:17 -0400 Subject: [PATCH] types for board spaces --- game/game.go | 103 +++++++++++++++++++++++++++++++++++++++++++------ game/types.go | 29 ++++++++++++++ main.go | 3 +- types/types.go | 26 +++++++------ 4 files changed, 136 insertions(+), 25 deletions(-) create mode 100644 game/types.go diff --git a/game/game.go b/game/game.go index 2ded71d..53699b4 100644 --- a/game/game.go +++ b/game/game.go @@ -1,18 +1,99 @@ package game -import ( - "monopoly-web/types" -) - const MaxPlayers int32 = 8 -var Users [MaxPlayers]types.User +var Users [MaxPlayers]User -var Properties = [22]types.Property{ - {Name: "Mediterranean Avenue", Price: 60, Mortgaged: false, Rent: [6]int32{2, 10, 30, 90, 160, 250}, MortgageValue: 30}, +var BoardSpaceTypes = [40]PropertyType{ + 0: TypeGo, + 1: TypeColor, + 2: TypeChest, + 3: TypeColor, + 4: TypeTax, + 5: TypeRailroad, + 6: TypeColor, + 7: TypeChance, + 8: TypeColor, + 9: TypeColor, + 10: TypeJail, + 11: TypeColor, + 12: TypeUtility, + 13: TypeColor, + 14: TypeColor, + 15: TypeRailroad, + 16: TypeColor, + 17: TypeChest, + 18: TypeColor, + 19: TypeColor, + 20: TypeParking, + 21: TypeColor, + 22: TypeChance, + 23: TypeColor, + 24: TypeColor, + 25: TypeRailroad, + 26: TypeColor, + 27: TypeColor, + 28: TypeUtility, + 29: TypeColor, + 30: TypeJail, + 31: TypeColor, + 32: TypeColor, + 33: TypeChest, + 34: TypeColor, + 35: TypeRailroad, + 36: TypeChance, + 37: TypeColor, + 38: TypeTax, + 39: TypeColor, } -var Rent = [22][6]int{ - //b,1h, 2h,3h,4h,hotel - {2, 10, 30, 90, 160, 250}, -} +var ( + GoVisitors []int32 + ColorVisitors []int32 + ChestVisitors []int32 + TaxVisitors []int32 + RailroadVisitors []int32 + ChanceVisitors []int32 + JailVisitors []int32 + UtilityVisitors []int32 + ParkingVisitors []int32 + PoliceVisitors []int32 +) + +// var ColorRent = [22][6]int{ +// //b,1h, 2h,3h,4h,hotel +// {2, 10, 30, 90, 160, 250}, +// } +// var Colors = [22]Color{ +// {Name: "Mediterranean Avenue", Price: 60, Mortgaged: false, Rent: [6]int32{2, 10, 30, 90, 160, 250}, MortgageValue: 30}, +// } +// +// const UtilityPrice int32 = 150 +// const UtilityRentMult = [2]int32{4, 10} +// const UtilityMortgageValue int32 = 75 +// +// var Utilities = [2]Utility{ +// {Name: "Electric Company", Mortgaged: false}, +// {Name: "Waterworks", Mortgaged: false}, +// } +// +// const RailroadPrice int32 = 200 +// const RailroadRent = [4]int32{25, 50, 100, 200} +// const RailroadMortgageValue int32 = 100 +// +// var RailRoads = [4]RailRoad{ +// {Name: "Reading Railroad", Mortgaged: false}, +// {Name: "Pennsylvania Railroad", Mortgaged: false}, +// {Name: "B.&O. Railroad", Mortgaged: false}, +// {Name: "Short Line", Mortgaged: false}, +// } +// +// var Go = [1]Go{ +// {Name: "Go", Salary: 200}, +// } +// +// var Chest = [3]Chest{ +// {Name: "Community Chest"}, +// {Name: "Community Chest"}, +// {Name: "Community Chest"}, +// } diff --git a/game/types.go b/game/types.go new file mode 100644 index 0000000..b998cdc --- /dev/null +++ b/game/types.go @@ -0,0 +1,29 @@ +package game + +type User struct { + UUID string + Money int32 +} + +type PropertyType int + +const ( + TypeGo PropertyType = iota + TypeColor + TypeChest + TypeTax + TypeRailroad + TypeChance + TypeJail + TypeUtility + TypeParking + TypePolice +) + +type Color struct { + Name string + Price int32 + Mortgaged bool + Rent [6]int32 + MortgageValue int32 +} diff --git a/main.go b/main.go index 48ac912..295b129 100644 --- a/main.go +++ b/main.go @@ -5,14 +5,13 @@ import ( "io" "log" "monopoly-web/game" - "monopoly-web/types" "net/http" ) func main() { fmt.Println("monopoly-web backend") - game.Users[0] = types.User{UUID: "abc", Money: 100} + game.Users[0] = game.User{UUID: "abc", Money: 100} fmt.Println(game.Users) // register routes diff --git a/types/types.go b/types/types.go index 4428028..7e75639 100644 --- a/types/types.go +++ b/types/types.go @@ -1,19 +1,21 @@ -package types +package game type User struct { UUID string Money int32 } -type Square struct { - Name string - Class string -} +type PropertyType int -type Property struct { - Name string - Price int32 - Mortgaged bool - Rent [6]int32 - MortgageValue int32 -} +const ( + TypeGo PropertyType = iota + TypeColor + TypeChest + TypeTax + TypeRailroad + TypeChance + TypeJail + TypeUtility + TypeParking + TypePolice +) -- 2.54.0