|
|
|
@ -60,33 +60,39 @@ func DefaultGen(l *gamemap.Level) (*gamemap.Level, []*gamemap.Room) {
|
|
|
|
|
//addStairs(rooms)
|
|
|
|
|
//itemize(rooms)
|
|
|
|
|
}
|
|
|
|
|
fges := map[int]types.RectFill{
|
|
|
|
|
1: types.RectFill{
|
|
|
|
|
Top: func() *gamemap.Tile { return gamemap.NewWall() },
|
|
|
|
|
Bottom: func() *gamemap.Tile { return gamemap.NewWall() },
|
|
|
|
|
Left: func() *gamemap.Tile { return gamemap.NewWall() },
|
|
|
|
|
Right: func() *gamemap.Tile { return gamemap.NewWall() },
|
|
|
|
|
BottomLeft: func() *gamemap.Tile { return gamemap.NewWall() },
|
|
|
|
|
BottomRight: func() *gamemap.Tile { return gamemap.NewWall() },
|
|
|
|
|
TopLeft: func() *gamemap.Tile { return gamemap.NewWall() },
|
|
|
|
|
TopRight: func() *gamemap.Tile { return gamemap.NewWall() },
|
|
|
|
|
Body: func() *gamemap.Tile { return gamemap.NewFloor() },
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
//fillage := types.RectFill{
|
|
|
|
|
// Top: func() *gamemap.Tile {return gamemap.NewWall()},
|
|
|
|
|
// Bottom: func() *gamemap.Tile {return gamemap.NewWall()},
|
|
|
|
|
// Left: func() *gamemap.Tile {return gamemap.NewWall()},
|
|
|
|
|
// Right: func() *gamemap.Tile {return gamemap.NewWall()},
|
|
|
|
|
// BottomLeft: func() *gamemap.Tile {return gamemap.NewWall()},
|
|
|
|
|
// BottomRight: func() *gamemap.Tile {return gamemap.NewWall()},
|
|
|
|
|
// TopLeft: func() *gamemap.Tile {return gamemap.NewWall()},
|
|
|
|
|
// TopRight: func() *gamemap.Tile {return gamemap.NewWall()},
|
|
|
|
|
// Body: func() *gamemap.Tile {return gamemap.NewFloor()},
|
|
|
|
|
//}
|
|
|
|
|
2: types.RectFill{
|
|
|
|
|
Top: func() *gamemap.Tile { return gamemap.NewWaterTile() },
|
|
|
|
|
Bottom: func() *gamemap.Tile { return gamemap.NewWaterTile() },
|
|
|
|
|
Left: func() *gamemap.Tile { return gamemap.NewWaterTile() },
|
|
|
|
|
Right: func() *gamemap.Tile { return gamemap.NewWaterTile() },
|
|
|
|
|
BottomLeft: func() *gamemap.Tile { return gamemap.NewWaterTile() },
|
|
|
|
|
BottomRight: func() *gamemap.Tile { return gamemap.NewWaterTile() },
|
|
|
|
|
TopLeft: func() *gamemap.Tile { return gamemap.NewWaterTile() },
|
|
|
|
|
TopRight: func() *gamemap.Tile { return gamemap.NewWaterTile() },
|
|
|
|
|
Body: func() *gamemap.Tile { return gamemap.NewDeepWaterTile() },
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fillage := types.RectFill{
|
|
|
|
|
Top: func() *gamemap.Tile {return gamemap.NewWaterTile()},
|
|
|
|
|
Bottom: func() *gamemap.Tile {return gamemap.NewWaterTile()},
|
|
|
|
|
Left: func() *gamemap.Tile {return gamemap.NewWaterTile()},
|
|
|
|
|
Right: func() *gamemap.Tile {return gamemap.NewWaterTile()},
|
|
|
|
|
BottomLeft: func() *gamemap.Tile {return gamemap.NewWaterTile()},
|
|
|
|
|
BottomRight: func() *gamemap.Tile {return gamemap.NewWaterTile()},
|
|
|
|
|
TopLeft: func() *gamemap.Tile {return gamemap.NewWaterTile()},
|
|
|
|
|
TopRight: func() *gamemap.Tile {return gamemap.NewWaterTile()},
|
|
|
|
|
Body: func() *gamemap.Tile {return gamemap.NewDeepWaterTile()},
|
|
|
|
|
var fillage types.RectFill
|
|
|
|
|
for _, room := range rooms {
|
|
|
|
|
fillage = fges[rng.GetWeightedEntity(map[int]int{1:10, 2:1})]
|
|
|
|
|
room.Blit(fillage, l)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for idx, room := range rooms {
|
|
|
|
|
room.Blit(fillage, l)
|
|
|
|
|
if idx > 0 {
|
|
|
|
|
connectRooms(l, room, rooms[idx-1], fillage, rng.Range(0,1))
|
|
|
|
|
}
|
|
|
|
|