aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfeurig <don@suspectdevices.com>2021-12-05 20:59:09 -0800
committerfeurig <don@suspectdevices.com>2021-12-05 20:59:09 -0800
commitab784b4ad6dad26b4d1c4e2366f25c6d145f447b (patch)
treeb9ff578c7b9fe3c7f0a11cf7b4ee2f267613d790
parent3215841678ed83979d94129f764c9ec14d869ec2 (diff)
this is the modern world
-rw-r--r--README.md14
-rw-r--r--go.mod2
-rw-r--r--main.go4
-rw-r--r--modernworld/alien.go3
-rw-r--r--modernworld/alien_cluster.go5
-rw-r--r--modernworld/arena.go4
-rw-r--r--modernworld/entity.go2
-rw-r--r--modernworld/files/alien_basic.txt2
-rw-r--r--modernworld/files/alien_medium.txt2
-rw-r--r--modernworld/files/alien_strong.txt2
-rw-r--r--modernworld/files/citizen_l.txt4
-rw-r--r--modernworld/files/citizen_r.txt4
-rw-r--r--modernworld/files/citizen_s.txt4
-rw-r--r--modernworld/files/hero.txt2
-rw-r--r--modernworld/game.go183
-rw-r--r--modernworld/game_over_zone.go2
-rw-r--r--modernworld/hero.go5
-rw-r--r--modernworld/hud.go5
-rw-r--r--modernworld/laser.go2
-rw-r--r--modernworld/screens.go81
20 files changed, 171 insertions, 161 deletions
diff --git a/README.md b/README.md
index 8908dda..6d01b15 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,10 @@
-# Go Invaders
-A Space Invaders inspired game written in Go. Built with [Termloop](https://github.com/JoelOtter/termloop).
+# Go modernworld
+A Space modernworld inspired game written in Go. Built with [Termloop](https://github.com/JoelOtter/termloop).
## Installation
```
-go install github.com/afagundes/go-invaders@latest
-$GOPATH/bin/go-invaders
+go install github.com/afagundes/go-modernworld@latest
+$GOPATH/bin/go-modernworld
```
## Controls
@@ -12,8 +12,8 @@ Use the arrow keys to move the hero spaceship and space bar to shoot. Press back
# Screenshots
-![Image of title screen](https://github.com/afagundes/go-invaders/blob/main/images/title_screen.png)
+![Image of title screen](https://github.com/afagundes/go-modernworld/blob/main/images/title_screen.png)
-![Image of game screen](https://github.com/afagundes/go-invaders/blob/main/images/running_game_screen.png)
+![Image of game screen](https://github.com/afagundes/go-modernworld/blob/main/images/running_game_screen.png)
-![Image of game over screen](https://github.com/afagundes/go-invaders/blob/main/images/game_over_screen.png)
+![Image of game over screen](https://github.com/afagundes/go-modernworld/blob/main/images/game_over_screen.png)
diff --git a/go.mod b/go.mod
index a4356d2..d806833 100644
--- a/go.mod
+++ b/go.mod
@@ -1,4 +1,4 @@
-module github.com/afagundes/go-invaders
+module github.com/afagundes/go-modernworld
go 1.16
diff --git a/main.go b/main.go
index a802cef..a7e492e 100644
--- a/main.go
+++ b/main.go
@@ -1,7 +1,7 @@
package main
-import "github.com/afagundes/go-invaders/invaders"
+import "github.com/afagundes/go-modernworld/modernworld"
func main() {
- invaders.NewGame().Start()
+ modernworld.NewGame().Start()
}
diff --git a/modernworld/alien.go b/modernworld/alien.go
index f73b7e1..b5ec30b 100644
--- a/modernworld/alien.go
+++ b/modernworld/alien.go
@@ -1,7 +1,8 @@
-package invaders
+package modernworld
import (
_ "embed"
+
tl "github.com/JoelOtter/termloop"
)
diff --git a/modernworld/alien_cluster.go b/modernworld/alien_cluster.go
index 62bcdcf..19c3030 100644
--- a/modernworld/alien_cluster.go
+++ b/modernworld/alien_cluster.go
@@ -1,9 +1,10 @@
-package invaders
+package modernworld
import (
- tl "github.com/JoelOtter/termloop"
"math/rand"
"time"
+
+ tl "github.com/JoelOtter/termloop"
)
type AlienCluster struct {
diff --git a/modernworld/arena.go b/modernworld/arena.go
index 440db57..f3c9252 100644
--- a/modernworld/arena.go
+++ b/modernworld/arena.go
@@ -1,8 +1,8 @@
-package invaders
+package modernworld
import (
tl "github.com/JoelOtter/termloop"
- "github.com/afagundes/go-invaders/invaders/utils"
+ "github.com/afagundes/go-modernworld/modernworld/utils"
)
type Arena struct {
diff --git a/modernworld/entity.go b/modernworld/entity.go
index 023aace..80240f3 100644
--- a/modernworld/entity.go
+++ b/modernworld/entity.go
@@ -1,4 +1,4 @@
-package invaders
+package modernworld
import (
tl "github.com/JoelOtter/termloop"
diff --git a/modernworld/files/alien_basic.txt b/modernworld/files/alien_basic.txt
deleted file mode 100644
index ca67a36..0000000
--- a/modernworld/files/alien_basic.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-▄██▄
-
diff --git a/modernworld/files/alien_medium.txt b/modernworld/files/alien_medium.txt
deleted file mode 100644
index 1e19062..0000000
--- a/modernworld/files/alien_medium.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-▄██▄
-▀ ▀
diff --git a/modernworld/files/alien_strong.txt b/modernworld/files/alien_strong.txt
deleted file mode 100644
index 25853d0..0000000
--- a/modernworld/files/alien_strong.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-█ █
-▀██▀
diff --git a/modernworld/files/citizen_l.txt b/modernworld/files/citizen_l.txt
new file mode 100644
index 0000000..e0c01a0
--- /dev/null
+++ b/modernworld/files/citizen_l.txt
@@ -0,0 +1,4 @@
+ ////
+ ('o') -
+ ╚██╗ --
+ ╔╝╚═ -- \ No newline at end of file
diff --git a/modernworld/files/citizen_r.txt b/modernworld/files/citizen_r.txt
new file mode 100644
index 0000000..560670f
--- /dev/null
+++ b/modernworld/files/citizen_r.txt
@@ -0,0 +1,4 @@
+ \\\\
+- ('o')
+-- ╔██╝
+ - ═╝╚╗ \ No newline at end of file
diff --git a/modernworld/files/citizen_s.txt b/modernworld/files/citizen_s.txt
new file mode 100644
index 0000000..ef3714d
--- /dev/null
+++ b/modernworld/files/citizen_s.txt
@@ -0,0 +1,4 @@
+ \|///
+ ('o')
+ ╚██╝
+ ║║ \ No newline at end of file
diff --git a/modernworld/files/hero.txt b/modernworld/files/hero.txt
deleted file mode 100644
index 1edcd05..0000000
--- a/modernworld/files/hero.txt
+++ /dev/null
@@ -1,2 +0,0 @@
- ▄
-███
diff --git a/modernworld/game.go b/modernworld/game.go
index 54052de..ad80474 100644
--- a/modernworld/game.go
+++ b/modernworld/game.go
@@ -1,11 +1,12 @@
-package invaders
+package modernworld
import (
- tl "github.com/JoelOtter/termloop"
"time"
+
+ tl "github.com/JoelOtter/termloop"
)
-type Invaders struct {
+type modernworld struct {
*tl.Entity
Game *tl.Game
Level *tl.BaseLevel
@@ -22,8 +23,8 @@ type Invaders struct {
ScreenSizeNotOK bool
}
-func NewGame() *Invaders {
- invaders := Invaders{
+func NewGame() *modernworld {
+ modernworld := modernworld{
Entity: tl.NewEntity(0, 0, 1, 1),
Game: tl.NewGame(),
Level: tl.NewBaseLevel(tl.Cell{Bg: tl.ColorBlack, Fg: tl.ColorWhite}),
@@ -32,135 +33,135 @@ func NewGame() *Invaders {
Score: 0,
}
- invaders.Game.Screen().SetFps(60)
- invaders.Game.SetEndKey(tl.KeyBackspace)
- invaders.Game.Screen().SetLevel(invaders.Level)
- invaders.Level.AddEntity(&invaders)
+ modernworld.Game.Screen().SetFps(60)
+ modernworld.Game.SetEndKey(tl.KeyBackspace)
+ modernworld.Game.Screen().SetLevel(modernworld.Level)
+ modernworld.Level.AddEntity(&modernworld)
- return &invaders
+ return &modernworld
}
-func (invaders *Invaders) Start() {
- go ShowTitleScreen(invaders)
- invaders.Game.Start()
+func (modernworld *modernworld) Start() {
+ go ShowTitleScreen(modernworld)
+ modernworld.Game.Start()
}
-func (invaders *Invaders) Tick(event tl.Event) {
- if invaders.Started == false && invaders.ScreenSizeNotOK == false && event.Type == tl.EventKey && event.Key == tl.KeyEnter {
- go invaders.initializeGame()
+func (modernworld *modernworld) Tick(event tl.Event) {
+ if modernworld.Started == false && modernworld.ScreenSizeNotOK == false && event.Type == tl.EventKey && event.Key == tl.KeyEnter {
+ go modernworld.initializeGame()
}
}
-func (invaders *Invaders) initializeGame() {
- prepareScreen(invaders)
+func (modernworld *modernworld) initializeGame() {
+ prepareScreen(modernworld)
- invaders.Started = true
+ modernworld.Started = true
- invaders.initHero()
- invaders.initAliens()
- invaders.initGameOverZone()
- invaders.gameLoop()
+ modernworld.initHero()
+ modernworld.initAliens()
+ modernworld.initGameOverZone()
+ modernworld.gameLoop()
}
-func (invaders *Invaders) initArena() {
- screenWidth, screenHeight := invaders.getScreenSize()
- invaders.Arena = newArena(screenWidth, screenHeight)
- invaders.Level.AddEntity(invaders.Arena)
+func (modernworld *modernworld) initArena() {
+ screenWidth, screenHeight := modernworld.getScreenSize()
+ modernworld.Arena = newArena(screenWidth, screenHeight)
+ modernworld.Level.AddEntity(modernworld.Arena)
}
-func (invaders *Invaders) initHud() {
- invaders.Hud = NewHud(invaders.Arena, invaders.Level)
+func (modernworld *modernworld) initHud() {
+ modernworld.Hud = NewHud(modernworld.Arena, modernworld.Level)
}
-func (invaders *Invaders) getScreenSize() (int, int) {
- screenWidth, screenHeight := invaders.Game.Screen().Size()
+func (modernworld *modernworld) getScreenSize() (int, int) {
+ screenWidth, screenHeight := modernworld.Game.Screen().Size()
for screenWidth == 0 && screenHeight == 0 {
time.Sleep(100 * time.Millisecond)
- screenWidth, screenHeight = invaders.Game.Screen().Size()
+ screenWidth, screenHeight = modernworld.Game.Screen().Size()
}
return screenWidth, screenHeight
}
-func (invaders *Invaders) initHero() {
- invaders.Hero = NewHero(invaders.Arena)
- invaders.Level.AddEntity(invaders.Hero)
+func (modernworld *modernworld) initHero() {
+ modernworld.Hero = NewHero(modernworld.Arena)
+ modernworld.Level.AddEntity(modernworld.Hero)
}
-func (invaders *Invaders) initAliens() {
- invaders.AlienCluster = NewAlienCluster()
- SetPositionAndRenderAliens(invaders.AlienCluster.Aliens, invaders.Level, invaders.Arena)
+func (modernworld *modernworld) initAliens() {
+ modernworld.AlienCluster = NewAlienCluster()
+ SetPositionAndRenderAliens(modernworld.AlienCluster.Aliens, modernworld.Level, modernworld.Arena)
}
-func (invaders *Invaders) initGameOverZone() {
- invaders.GameOverZone = CreateGameOverZone(invaders.Arena, invaders.Hero)
- invaders.Level.AddEntity(invaders.GameOverZone)
+func (modernworld *modernworld) initGameOverZone() {
+ modernworld.GameOverZone = CreateGameOverZone(modernworld.Arena, modernworld.Hero)
+ modernworld.Level.AddEntity(modernworld.GameOverZone)
}
-func (invaders *Invaders) gameLoop() {
+func (modernworld *modernworld) gameLoop() {
for {
- if invaders.Hero.IsDead() || invaders.AlienCluster.IsAllAliensDead() {
- invaders.Hero.animateHeroEndGame(invaders.Level)
- invaders.Started = false
+ if modernworld.Hero.IsDead() || modernworld.AlienCluster.IsAllAliensDead() {
+ modernworld.Hero.animateHeroEndGame(modernworld.Level)
+ modernworld.Started = false
break
}
- invaders.updateLaserPositions()
- invaders.RemoveDeadAliensAndIncrementScore()
- invaders.updateAlienClusterPosition()
- invaders.updateScore()
- invaders.verifyGameOverZone()
+ modernworld.updateLaserPositions()
+ modernworld.RemoveDeadAliensAndIncrementScore()
+ modernworld.updateAlienClusterPosition()
+ modernworld.updateScore()
+ modernworld.verifyGameOverZone()
- time.Sleep(invaders.RefreshSpeed * time.Millisecond)
+ time.Sleep(modernworld.RefreshSpeed * time.Millisecond)
}
- if invaders.Hero.IsDead() {
- ShowGameOverScreen(invaders)
+ if modernworld.Hero.IsDead() {
+ ShowGameOverScreen(modernworld)
}
- if invaders.AlienCluster.IsAllAliensDead() {
- invaders.initializeGame()
+ if modernworld.AlienCluster.IsAllAliensDead() {
+ modernworld.initializeGame()
}
}
-func (invaders *Invaders) updateScore() {
- invaders.Hud.UpdateScore(invaders.Score)
+func (modernworld *modernworld) updateScore() {
+ modernworld.Hud.UpdateScore(modernworld.Score)
}
-func (invaders *Invaders) updateAlienClusterPosition() {
- invaders.AlienCluster.UpdateAliensPositions(invaders.Game.Screen().TimeDelta(), invaders.Arena)
- invaders.AlienCluster.Shoot()
+func (modernworld *modernworld) updateAlienClusterPosition() {
+ modernworld.AlienCluster.UpdateAliensPositions(modernworld.Game.Screen().TimeDelta(), modernworld.Arena)
+ modernworld.AlienCluster.Shoot()
}
-func (invaders *Invaders) RemoveDeadAliensAndIncrementScore() {
- points := invaders.AlienCluster.RemoveDeadAliensAndGetPoints(invaders.Level)
- invaders.addScore(points)
+func (modernworld *modernworld) RemoveDeadAliensAndIncrementScore() {
+ points := modernworld.AlienCluster.RemoveDeadAliensAndGetPoints(modernworld.Level)
+ modernworld.addScore(points)
}
-func (invaders *Invaders) updateLaserPositions() {
- invaders.updateHeroLasers()
- invaders.updateAlienLasers()
- invaders.removeLasers()
+func (modernworld *modernworld) updateLaserPositions() {
+ modernworld.updateHeroLasers()
+ modernworld.updateAlienLasers()
+ modernworld.removeLasers()
}
-func (invaders *Invaders) updateHeroLasers() {
- invaders.updateLasers(invaders.Hero.Lasers)
+func (modernworld *modernworld) updateHeroLasers() {
+ modernworld.updateLasers(modernworld.Hero.Lasers)
}
-func (invaders *Invaders) updateAlienLasers() {
- invaders.TimeDelta += invaders.Game.Screen().TimeDelta()
+func (modernworld *modernworld) updateAlienLasers() {
+ modernworld.TimeDelta += modernworld.Game.Screen().TimeDelta()
- if invaders.TimeDelta >= invaders.AlienLaserVelocity {
- invaders.TimeDelta = 0
- invaders.updateLasers(invaders.AlienCluster.Lasers)
+ if modernworld.TimeDelta >= modernworld.AlienLaserVelocity {
+ modernworld.TimeDelta = 0
+ modernworld.updateLasers(modernworld.AlienCluster.Lasers)
}
}
-func (invaders *Invaders) updateLasers(lasers []*Laser) {
+func (modernworld *modernworld) updateLasers(lasers []*Laser) {
for _, laser := range lasers {
if laser.IsNew {
- invaders.renderNewLaser(laser)
+ modernworld.renderNewLaser(laser)
continue
}
@@ -169,32 +170,32 @@ func (invaders *Invaders) updateLasers(lasers []*Laser) {
}
}
-func (invaders *Invaders) renderNewLaser(laser *Laser) {
+func (modernworld *modernworld) renderNewLaser(laser *Laser) {
laser.IsNew = false
- invaders.Level.AddEntity(laser)
+ modernworld.Level.AddEntity(laser)
}
-func (invaders *Invaders) removeLasers() {
- _, arenaY := invaders.Arena.Position()
- _, arenaH := invaders.Arena.Size()
+func (modernworld *modernworld) removeLasers() {
+ _, arenaY := modernworld.Arena.Position()
+ _, arenaH := modernworld.Arena.Size()
upperLimit := arenaY
bottomLimit := arenaY + arenaH - 1
- invaders.Hero.Lasers = invaders.removeLaserOf(invaders.Hero.Lasers, upperLimit)
- invaders.AlienCluster.Lasers = invaders.removeLaserOf(invaders.AlienCluster.Lasers, bottomLimit)
+ modernworld.Hero.Lasers = modernworld.removeLaserOf(modernworld.Hero.Lasers, upperLimit)
+ modernworld.AlienCluster.Lasers = modernworld.removeLaserOf(modernworld.AlienCluster.Lasers, bottomLimit)
}
-func (invaders *Invaders) removeLaserOf(lasers []*Laser, arenaLimit int) []*Laser {
+func (modernworld *modernworld) removeLaserOf(lasers []*Laser, arenaLimit int) []*Laser {
for index, laser := range lasers {
_, y := laser.Position()
isEndOfArena := y == arenaLimit
if isEndOfArena || laser.HasHit {
- invaders.Level.RemoveEntity(laser)
+ modernworld.Level.RemoveEntity(laser)
if laser.HitAlienLaser {
- invaders.addScore(laser.Points)
+ modernworld.addScore(laser.Points)
}
if index < len(lasers) {
@@ -206,12 +207,12 @@ func (invaders *Invaders) removeLaserOf(lasers []*Laser, arenaLimit int) []*Lase
return lasers
}
-func (invaders *Invaders) addScore(points int) {
- invaders.Score += points
+func (modernworld *modernworld) addScore(points int) {
+ modernworld.Score += points
}
-func (invaders *Invaders) verifyGameOverZone() {
- if invaders.GameOverZone.EnteredZone {
- invaders.Hero.IsAlive = false
+func (modernworld *modernworld) verifyGameOverZone() {
+ if modernworld.GameOverZone.EnteredZone {
+ modernworld.Hero.IsAlive = false
}
}
diff --git a/modernworld/game_over_zone.go b/modernworld/game_over_zone.go
index 702deb4..e483ada 100644
--- a/modernworld/game_over_zone.go
+++ b/modernworld/game_over_zone.go
@@ -1,4 +1,4 @@
-package invaders
+package modernworld
import tl "github.com/JoelOtter/termloop"
diff --git a/modernworld/hero.go b/modernworld/hero.go
index c9b4500..a519a1f 100644
--- a/modernworld/hero.go
+++ b/modernworld/hero.go
@@ -1,9 +1,10 @@
-package invaders
+package modernworld
import (
_ "embed"
- tl "github.com/JoelOtter/termloop"
"time"
+
+ tl "github.com/JoelOtter/termloop"
)
type Hero struct {
diff --git a/modernworld/hud.go b/modernworld/hud.go
index cbe2c8e..0129db1 100644
--- a/modernworld/hud.go
+++ b/modernworld/hud.go
@@ -1,7 +1,8 @@
-package invaders
+package modernworld
import (
"fmt"
+
tl "github.com/JoelOtter/termloop"
)
@@ -12,7 +13,7 @@ type Hud struct {
}
func NewHud(arena *Arena, level *tl.BaseLevel) *Hud {
- hud := Hud{Title: "Go Invaders", PressToQuit: "Press BACKSPACE to quit"}
+ hud := Hud{Title: "Go modernworld", PressToQuit: "Press BACKSPACE to quit"}
hud.drawTitle(arena, level)
hud.drawPressToQuit(arena, level)
hud.drawScore(arena, level)
diff --git a/modernworld/laser.go b/modernworld/laser.go
index d2d532d..80161a0 100644
--- a/modernworld/laser.go
+++ b/modernworld/laser.go
@@ -1,4 +1,4 @@
-package invaders
+package modernworld
import tl "github.com/JoelOtter/termloop"
diff --git a/modernworld/screens.go b/modernworld/screens.go
index 739ce70..e2d86a8 100644
--- a/modernworld/screens.go
+++ b/modernworld/screens.go
@@ -1,8 +1,9 @@
-package invaders
+package modernworld
import (
_ "embed"
"fmt"
+
tl "github.com/JoelOtter/termloop"
)
@@ -14,21 +15,21 @@ var (
gameOverScreenFile []byte
)
-func ShowTitleScreen(invaders *Invaders) {
- prepareScreen(invaders)
- showTitle(invaders)
+func ShowTitleScreen(modernworld *modernworld) {
+ prepareScreen(modernworld)
+ showTitle(modernworld)
- if checkArenaSizeNotOk(invaders) {
- invaders.ScreenSizeNotOK = true
- showMaximizeScreen(invaders)
+ if checkArenaSizeNotOk(modernworld) {
+ modernworld.ScreenSizeNotOK = true
+ showMaximizeScreen(modernworld)
return
}
- showPressToInit(invaders, 0)
+ showPressToInit(modernworld, 0)
}
-func checkArenaSizeNotOk(invaders *Invaders) bool {
- w, h := invaders.Arena.Size()
+func checkArenaSizeNotOk(modernworld *modernworld) bool {
+ w, h := modernworld.Arena.Size()
if w < 100 || h < 37 {
return true
@@ -37,61 +38,61 @@ func checkArenaSizeNotOk(invaders *Invaders) bool {
return false
}
-func ShowGameOverScreen(invaders *Invaders) {
- prepareScreen(invaders)
- showGameOver(invaders)
- showScore(invaders)
- showPressToInit(invaders, 2)
+func ShowGameOverScreen(modernworld *modernworld) {
+ prepareScreen(modernworld)
+ showGameOver(modernworld)
+ showScore(modernworld)
+ showPressToInit(modernworld, 2)
}
-func prepareScreen(invaders *Invaders) {
- invaders.Level = tl.NewBaseLevel(tl.Cell{Bg: tl.ColorBlack, Fg: tl.ColorWhite})
- invaders.Game.Screen().SetLevel(invaders.Level)
- invaders.Level.AddEntity(invaders)
+func prepareScreen(modernworld *modernworld) {
+ modernworld.Level = tl.NewBaseLevel(tl.Cell{Bg: tl.ColorBlack, Fg: tl.ColorWhite})
+ modernworld.Game.Screen().SetLevel(modernworld.Level)
+ modernworld.Level.AddEntity(modernworld)
- invaders.initArena()
- invaders.initHud()
+ modernworld.initArena()
+ modernworld.initHud()
}
-func showTitle(invaders *Invaders) {
- showCanvas(invaders, titleScreenFile)
+func showTitle(modernworld *modernworld) {
+ showCanvas(modernworld, titleScreenFile)
}
-func showGameOver(invaders *Invaders) {
- showCanvas(invaders, gameOverScreenFile)
+func showGameOver(modernworld *modernworld) {
+ showCanvas(modernworld, gameOverScreenFile)
}
-func showCanvas(invaders *Invaders, file []byte) {
+func showCanvas(modernworld *modernworld, file []byte) {
canvas := CreateCanvas(file)
- arenaX, arenaY := invaders.Arena.Position()
- arenaW, arenaH := invaders.Arena.Size()
+ arenaX, arenaY := modernworld.Arena.Position()
+ arenaW, arenaH := modernworld.Arena.Size()
x := arenaX + arenaW/2 - len(canvas)/2
y := arenaY + arenaH/2 + -len(canvas[0]) - 1
- invaders.Level.AddEntity(tl.NewEntityFromCanvas(x, y, canvas))
+ modernworld.Level.AddEntity(tl.NewEntityFromCanvas(x, y, canvas))
}
-func showScore(invaders *Invaders) {
- score := fmt.Sprintf("SCORE: %4d ", invaders.Score)
- showCenterText(score, 0, invaders)
+func showScore(modernworld *modernworld) {
+ score := fmt.Sprintf("SCORE: %4d ", modernworld.Score)
+ showCenterText(score, 0, modernworld)
}
-func showPressToInit(invaders *Invaders, topPadding int) {
- showCenterText("Press ENTER to start", topPadding, invaders)
+func showPressToInit(modernworld *modernworld, topPadding int) {
+ showCenterText("Press ENTER to start", topPadding, modernworld)
}
-func showMaximizeScreen(invaders *Invaders) {
- showCenterText("Maximize the console and run the game again", 0, invaders)
+func showMaximizeScreen(modernworld *modernworld) {
+ showCenterText("Maximize the console and run the game again", 0, modernworld)
}
-func showCenterText(text string, topPadding int, invaders *Invaders) {
- arenaX, arenaY := invaders.Arena.Position()
- arenaW, arenaH := invaders.Arena.Size()
+func showCenterText(text string, topPadding int, modernworld *modernworld) {
+ arenaX, arenaY := modernworld.Arena.Position()
+ arenaW, arenaH := modernworld.Arena.Size()
x := arenaX + arenaW/2 - len(text)/2
y := arenaY + arenaH/2 + topPadding
- invaders.Level.AddEntity(tl.NewText(x, y, text, tl.ColorWhite, tl.ColorBlack))
+ modernworld.Level.AddEntity(tl.NewText(x, y, text, tl.ColorWhite, tl.ColorBlack))
}