|
|
@@ -67,9 +67,9 @@ func gameDirector(game *Game) {
|
|
|
game.screen.Clear()
|
|
|
|
|
|
// Draw starter conditions
|
|
|
- drawBox(game)
|
|
|
- drawPlayer(game)
|
|
|
- drawCoords(game)
|
|
|
+ game.drawBox(game)
|
|
|
+ game.drawPlayer(game)
|
|
|
+ game.drawCoords(game)
|
|
|
|
|
|
// Draw robots??
|
|
|
|
|
|
@@ -77,7 +77,7 @@ func gameDirector(game *Game) {
|
|
|
game.screen.Show()
|
|
|
|
|
|
// Process input
|
|
|
- movePlayer(game, <-game.keypresses)
|
|
|
+ game.movePlayer(game, <-game.keypresses)
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -94,22 +94,35 @@ func keyboardProcessor(game *Game) {
|
|
|
// Fetch the type, and check if any other actions are required.
|
|
|
switch ev := ev.(type) {
|
|
|
case *tcell.EventKey:
|
|
|
+ // Keys to bug out
|
|
|
if ev.Key() == tcell.KeyEscape || ev.Key() == tcell.KeyCtrlC {
|
|
|
return
|
|
|
- } else if ev.Rune() == 'q' || ev.Rune() == 'Q' {
|
|
|
- return
|
|
|
+
|
|
|
+ // Screen management
|
|
|
} else if ev.Key() == tcell.KeyCtrlL {
|
|
|
game.screen.Sync()
|
|
|
- } else if ev.Rune() == 'C' || ev.Rune() == 'c' {
|
|
|
- game.screen.Clear()
|
|
|
- } else if ev.Key() == tcell.KeyLeft {
|
|
|
- game.keypresses <- Left
|
|
|
- } else if ev.Key() == tcell.KeyRight {
|
|
|
+
|
|
|
+ // Player Movement
|
|
|
+ } else if ev.Rune() == 'q' {
|
|
|
+ game.keypresses <- upleft
|
|
|
+ } else if ev.Rune() == 'e' {
|
|
|
+ game.keypresses <- upright
|
|
|
+ } else if ev.Rune() == 'z' {
|
|
|
+ game.keypresses <- downleft
|
|
|
+ } else if ev.Rune() == 'c' {
|
|
|
+ game.keypresses <- downright
|
|
|
+ } else if ev.Key() == tcell.KeyUp || ev.Rune() == 'w' {
|
|
|
+ game.keypresses <- Up
|
|
|
+ } else if ev.Key() == tcell.KeyRight || ev.Rune() == 'd' {
|
|
|
game.keypresses <- Right
|
|
|
- } else if ev.Key() == tcell.KeyDown {
|
|
|
+ } else if ev.Key() == tcell.KeyDown || ev.Rune() == 's' || ev.Rune() == 'x' {
|
|
|
game.keypresses <- Down
|
|
|
- } else if ev.Key() == tcell.KeyUp {
|
|
|
- game.keypresses <- Up
|
|
|
+ } else if ev.Key() == tcell.KeyLeft || ev.Rune() == 'a' {
|
|
|
+ game.keypresses <- Left
|
|
|
+
|
|
|
+ // Teleport the player
|
|
|
+ } else if ev.Rune() == 't' {
|
|
|
+ game.keypresses <- teleport
|
|
|
}
|
|
|
}
|
|
|
|