initial commit

This commit is contained in:
2023-06-27 20:17:48 +02:00
commit f2b64d4d05
11 changed files with 232 additions and 0 deletions

24
domain/context.go Normal file
View File

@@ -0,0 +1,24 @@
package domain
type User struct {
name string
}
type Player struct {
name string
}
type GameField struct {
Level Level
LevelSection LevelSection
}
type Context struct {
Player Player
User User
GameField GameField
}
func CreateContext() Context {
return Context{}
}

26
domain/domain.go Normal file
View File

@@ -0,0 +1,26 @@
package domain
type ControllerInterface interface {
}
type PresenterInterface interface {
}
type Domain struct {
Context Context
Controller ControllerInterface
Presenter PresenterInterface
}
func (d Domain) Init() {
menu_manager := MenuManager{}
menu_manager.Init()
// level_manager := LevelManager{}
screen_manager := ScreenManager{}
screen_manager.GetCurrent()
}
func (d Domain) Start() {
}

27
domain/level.go Normal file
View File

@@ -0,0 +1,27 @@
package domain
type LevelSection struct {
}
type Level struct {
LevelSections []LevelSection
}
type LevelManager struct {
}
func (lm LevelManager) Create(screens []LevelSection) Level {
return Level{
LevelSections: screens,
}
}
func (lm LevelManager) List() []Level {
return []Level{
lm.Create(LevelOne()),
}
}
func (lm LevelManager) Get() Level {
return Level{}
}

5
domain/level.one.go Normal file
View File

@@ -0,0 +1,5 @@
package domain
func LevelOne() []LevelSection {
return []LevelSection{}
}

54
domain/menu.go Normal file
View File

@@ -0,0 +1,54 @@
package domain
type MenuItem struct {
ID string
Label string
Handler func()
}
type Menu struct {
MenuItems []MenuItem
}
type MenuManager struct {
MainMenu Menu
GameMenu Menu
}
func createMenu(menuItems []MenuItem) Menu {
menu := Menu{
MenuItems: menuItems,
}
return menu
}
func (mm MenuManager) Init() {
mo := MenuOperation{}
mm.MainMenu = createMenu([]MenuItem{
{
ID: "new",
Label: "New Game",
Handler: mo.StartGame,
},
{
ID: "load",
Label: "Load Game",
Handler: mo.LoadtGame,
},
})
mm.GameMenu = createMenu([]MenuItem{
{
ID: "save",
Label: "Save Game",
Handler: mo.SaveGame,
},
{
ID: "close",
Label: "Close Game",
Handler: mo.CloseGame,
},
})
}

16
domain/menu.operation.go Normal file
View File

@@ -0,0 +1,16 @@
package domain
type MenuOperation struct {
}
func (mo MenuOperation) CloseGame() {
}
func (mo MenuOperation) LoadtGame() {
}
func (mo MenuOperation) SaveGame() {
}
func (mo MenuOperation) StartGame() {
}

13
domain/screen.go Normal file
View File

@@ -0,0 +1,13 @@
package domain
type Screen struct {
Controller ControllerInterface
}
type ScreenManager struct {
Context Context
}
func (sm ScreenManager) GetCurrent() Screen {
return Screen{}
}