diff --git a/domain/context.go b/domain/context.go index 3808c13..2dd1d91 100755 --- a/domain/context.go +++ b/domain/context.go @@ -1,11 +1,11 @@ package domain type User struct { - name string + Name string } type Player struct { - name string + Name string } type GameField struct { @@ -24,10 +24,3 @@ type Context struct { CurrentGameField GameField CurrentPosition Position } - -func CreateContext() Context { - return Context{ - Player: Player{}, - User: User{}, - } -} diff --git a/domain/domain.go b/domain/domain.go index 0a1762c..3dbc39b 100755 --- a/domain/domain.go +++ b/domain/domain.go @@ -1,16 +1,10 @@ package domain -type PresenterInterface interface { - Init() -} - type Domain struct { - Context Context - Presenter PresenterInterface + Context Context } func (d Domain) Init() { - d.Presenter.Init() menu_manager := MenuManager{} menu_manager.Init() // level_manager := LevelManager{} diff --git a/main.go b/main.go index 7e13084..80459fc 100755 --- a/main.go +++ b/main.go @@ -3,16 +3,35 @@ package main import ( "game/domain" "game/presenter" + + "github.com/hajimehoshi/ebiten" ) func main() { - context := domain.CreateContext() - domain := domain.Domain{ - Context: context, - Presenter: presenter.Presenter{ - Context: context, + Context: domain.Context{ + Player: domain.Player{ + Name: "Player One", + }, + User: domain.User{ + Name: "John Doe", + }, }, } - domain.Init() + presenter := presenter.Presenter{ + Domain: domain, + Keyboard: presenter.Keyboard{ + KeyMap: presenter.KeyMap{ + Up: ebiten.KeyUp, + Down: ebiten.KeyDown, + Right: ebiten.KeyRight, + Left: ebiten.KeyLeft, + Action0: ebiten.KeySpace, + Action1: ebiten.KeyAlt, + Action2: ebiten.KeyControl, + Action3: ebiten.KeyEscape, + }, + }, + } + presenter.Init() } diff --git a/presenter/keyboard.go b/presenter/keyboard.go index c1b7aef..eff1d21 100755 --- a/presenter/keyboard.go +++ b/presenter/keyboard.go @@ -24,19 +24,6 @@ type Keyboard struct { KeyMap KeyMap } -func CreateDefaultKeyMap() KeyMap { - return KeyMap{ - Up: ebiten.KeyUp, - Down: ebiten.KeyDown, - Right: ebiten.KeyRight, - Left: ebiten.KeyLeft, - Action0: ebiten.KeySpace, - Action1: ebiten.KeyAlt, - Action2: ebiten.KeyControl, - Action3: ebiten.KeyEscape, - } -} - func (k *Keyboard) Watch() { values := reflect.ValueOf(k.KeyMap) diff --git a/presenter/presenter.go b/presenter/presenter.go index c0f1fee..7a1be7b 100755 --- a/presenter/presenter.go +++ b/presenter/presenter.go @@ -7,18 +7,22 @@ import ( "github.com/hajimehoshi/ebiten" ) +type DomainInterface interface { + Init() +} + type Presenter struct { - Context domain.Context + Context domain.Context + Domain DomainInterface + Keyboard Keyboard } func (p Presenter) Init() { ebiten.SetWindowSize(screenWidth*2, screenHeight*2) ebiten.SetWindowTitle("Game") if err := ebiten.RunGame(&GameEngine{ - Context: p.Context, - Keyboard: Keyboard{ - KeyMap: CreateDefaultKeyMap(), - }, + Context: p.Context, + Keyboard: p.Keyboard, }); err != nil { log.Fatal(err) }