package main import ( "time" . "github.com/gbin/goncurses" "gitlab.com/stvnliu/ai_game/menu" . "gitlab.com/stvnliu/ai_game/utils/types" // "gitlab.com/stvnliu/ai_game/utils/window_helper" ) const ( INPUT_PROMPT_LENGTH = 40 INPUT_PROMPT_HEIGHT = 10 ) func InputPrompt(scr *Window) string { my, mx := scr.MaxYX() w, err := NewWindow(INPUT_PROMPT_HEIGHT, INPUT_PROMPT_LENGTH, (my/2)-(INPUT_PROMPT_HEIGHT/2), (mx/2)-(INPUT_PROMPT_LENGTH/2)) if err != nil { panic("Oh no sth went wrong in input!!") } w.Box(0, 0) Echo(true) msg := "Game name: " w.MovePrint(0, 1, " New game information ") w.MovePrint(2, 2, msg) w.Move(2, 2+len(msg)) input, err := w.GetString(16) // character input box if err != nil { panic("Oh no sth went wrong in input 2!!") } w.MovePrint(3, 2, input) w.Refresh() Echo(false) for { ch := w.GetChar() switch Key(ch) { case 'q': return input } } } func NewGame(scr *Window) { //_, _ := scr.MaxYX() game_name := InputPrompt(scr) // create new game state // println("Creating new game %v...", game_name) game := Game{ SaveGame: game_name, LastSaved: time.Now(), } my_npcs := MakeNpcs() game.DataStored.Npcs = my_npcs scr.MovePrintf(1, 2, "Created new game \"%v\"!", game.SaveGame) for i:=0; i