]> Skullheadx's Git Forge - monopoly-web.git/commitdiff
types for board spaces
authorSkullheadx <admonty1@protonmail.com>
Sat, 16 May 2026 23:19:17 +0000 (19:19 -0400)
committerSkullheadx <admonty1@protonmail.com>
Sat, 16 May 2026 23:19:17 +0000 (19:19 -0400)
game/game.go
game/types.go [new file with mode: 0644]
main.go
types/types.go

index 2ded71d69e9da355ef74ef09980a5ed4c915cd89..53699b4341bcf29041b8577f48d09c6f36d3015d 100644 (file)
@@ -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 (file)
index 0000000..b998cdc
--- /dev/null
@@ -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 48ac912d136fdfaa9452c77169e9992ef2c5d95a..295b129708408f425c318f152c36af6aa49c3f4e 100644 (file)
--- 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
index 4428028b0e5e54e3e352038628676df153319620..7e756392cbd1e6f2b65f9ec91c81cc507359e9f6 100644 (file)
@@ -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
+)