added MinMoves to lvl files, added score system in game observer

This commit is contained in:
2024-02-28 19:58:05 +01:00
parent ebaeb51f68
commit 1c0f3d19d0
19 changed files with 112 additions and 78 deletions

View File

@@ -1,7 +1,6 @@
package systems
import (
"log/slog"
"openquell/assets"
"openquell/components"
. "openquell/components"
@@ -46,7 +45,7 @@ func (system *CollectibleSystem) Update() error {
}
for query.Next() {
colposition, collectible, _ := query.Get()
colposition, _, _ := query.Get()
for _, player := range observer.GetPlayers() {
if !system.World.Alive(player) {
@@ -58,7 +57,7 @@ func (system *CollectibleSystem) Update() error {
ok, _ := colposition.Intersects(playerposition, playervelocity)
if ok {
slog.Debug("bumped into collectible", "collectible", collectible)
//slog.Debug("bumped into collectible", "collectible", collectible)
particlepositions = append(particlepositions, colposition)
EntitiesToRemove = append(EntitiesToRemove, query.Entity())
}

View File

@@ -41,4 +41,6 @@ func (system *HudSystem) Draw(screen *ebiten.Image) {
system.Plan.Name,
system.Plan.Description,
), 10, 10)
ebitenutil.DebugPrintAt(screen, fmt.Sprintf("Score: %d", system.Observer.GetScore()), 10, 455)
}

View File

@@ -148,6 +148,7 @@ func (system *PlayerSystem) CheckMovement(
player *components.Player) {
moved := false
observer := observers.GetGameObserver(system.World)
if !velocity.Moving() {
switch {
@@ -169,6 +170,7 @@ func (system *PlayerSystem) CheckMovement(
// will be reset every time the user initiates player movement
player.LoopPos.Set(position)
player.LoopCount = 0
observer.AddMove()
}
}
}
@@ -185,8 +187,8 @@ func (system *PlayerSystem) CheckGridCollision(
} else {
ok, tilepos := system.GridContainer.Grid.GetSolidNeighborPosition(playerposition, velocity, true)
if ok {
slog.Debug("HaveSolidNeighbor", "ok", ok, "tilepos",
tilepos.Point(), "playerpos", playerposition)
// slog.Debug("HaveSolidNeighbor", "ok", ok, "tilepos",
// tilepos.Point(), "playerpos", playerposition)
intersects, newpos := tilepos.Intersects(playerposition, velocity)
if intersects {
playerposition.Set(newpos)

View File

@@ -1,7 +1,6 @@
package systems
import (
"log/slog"
"openquell/assets"
"openquell/components"
. "openquell/components"
@@ -79,7 +78,7 @@ func (system *TransientSystem) Update() error {
Position: *transientposition,
NewSprite: transient.GetNext(),
})
slog.Debug("done transient", "transient", transientposition)
//slog.Debug("done transient", "transient", transientposition)
}
}
}