From 7af60685dbd6b310ac61bd6e9f7f5de7031b0b58 Mon Sep 17 00:00:00 2001 From: MrDonuts Date: Mon, 20 Nov 2023 23:25:38 -0500 Subject: [PATCH] fixed some performance things --- .DS_Store | Bin 0 -> 6148 bytes assets/.DS_Store | Bin 6148 -> 6148 bytes assets/audio/.DS_Store | Bin 6148 -> 6148 bytes geometry/grid.go | 14 +++++++------- geometry/player.go | 4 ++-- states/playLevelState.go | 2 +- tools/scoreManager.go | 16 +++++----------- 7 files changed, 15 insertions(+), 21 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..0e9888099fa5e49d39f3ae2e490b502d4dce2b19 GIT binary patch literal 6148 zcmeHLyG{c!5FCdD5Hu+$5E9}f3Ob~;G#n^=L6B&91O=o-he&vJ*U<0-d=Su6QkhP|gTBGRNmpdwk|H)VD_t83vZgIc|I|!0K96PJz$Tp7JTpRZwSQ zp3e(Nh1WE-8BwDVc?J3a3!BAw$Oq%yPkp>OLN3)g6+9Ybknz(mvS=)jg%>SyXeoyv z!~cdbE@y=6%Rc#UjC;1&?7U*^qXJQZsKA#3QXdjF!PH@{XiEn>djufX>9)peTO)~y zIEbmkT#+7{(V;{gYTOaS=y3WImzO%s6?Hg_U77Q^m5n>07+0Z9V$)$##n?v$q5`1; zQ+nH!{eNfj`9B;K@1g=xfq$idskb}rZ9bCQTT2fodu_tD&n6~$xuPAy&TYr`LbhW0 cU%?twD?27$`HG#z^^Ls0Z7QZy#N3J literal 0 HcmV?d00001 diff --git a/assets/.DS_Store b/assets/.DS_Store index 0050115db26a316ce316da28b784426c13022bf9..491eedd5212b4c517f5f4d4b9f68116a209a7105 100644 GIT binary patch delta 238 zcmZoMXfc=|#>B)qu~2NHo+2*?0|Nsi1A_nqLw-*B<~qjpjP)QPR)$1|Qic?UOpvf) zaB_Zb0Z^2I>3|l9Mv~3VcX3I|$xi}`g7kT~v>tUtSCK+MML`C#4NMOhCi5^#Gczv^ znXJVq#m2zU;BVME*^5yI#>`=qWn$j2c_QNB`mu~2NHo+3930|Nsi1A_nqL-E9@jf^aldzhq|fnt+aF-fr%PFlgB z+A{eRlMIachDml~`Vz*?3e2}yHnVf^a{x`+EXe$wc{0Cx<#Y30T#|C~lYrtJ3=9oll_@KVzBLz_yv4<1aq|?4K>$ delta 184 zcmZoMXffEJ!NkG<1e0}`WZ0NbN*QLfO!i}vtA{X;Is&EG7>XJ48S)s?84MT<3o;CY zlk;;6Kzg76S>7lo9lv~TzKcszPJR+lFGono;`YoI3_FZ+^HV0jX5wUn$WQ*oB)2hR QG2>>Pjj0X&H-4FCWD diff --git a/geometry/grid.go b/geometry/grid.go index ce92cb7..8d72ee5 100644 --- a/geometry/grid.go +++ b/geometry/grid.go @@ -12,12 +12,12 @@ var defaultSquareSpacing = 5 var minBorder = 20 var ScoreOffset = 50 var HighScoreOffset = 10 -var GameGrid Grid +var GameGrid *Grid var MaxGridDimension = 20 type Grid struct { squareSpacing int - squares [][]Square + squares [][]*Square startX int startY int squareSize int @@ -77,14 +77,14 @@ func BuildGrid(numRows int, numColumns int) { grd.startY = currentY grd.squareSize = sqSize - table := make([][]Square, numRows) + table := make([][]*Square, numRows) for i := 0; i < numRows; i++ { - row := make([]Square, numColumns) + row := make([]*Square, numColumns) for j := 0; j < numColumns; j++ { sq := MakeSquare(sqSize) sq.SetPosition(currentX, currentY) - row[j] = sq + row[j] = &sq currentX += sqSize + grd.squareSpacing } table[i] = row @@ -133,7 +133,7 @@ func BuildGrid(numRows int, numColumns int) { } grd.coloredSquaresRemaining = squaresToColour - GameGrid = grd + GameGrid = &grd } func (grd *Grid) Draw(screen *ebiten.Image) { @@ -174,7 +174,7 @@ func (grd *Grid) ChangeColour(row int, column int, clr color.Color) { } func (grd *Grid) GetSquareAt(row int, column int) *Square { - return &grd.squares[row-1][column-1] + return grd.squares[row-1][column-1] } func (grd *Grid) ColouredSquaresRemaining() int { diff --git a/geometry/player.go b/geometry/player.go index bd0445a..5cab649 100644 --- a/geometry/player.go +++ b/geometry/player.go @@ -21,7 +21,7 @@ var CurrentEnergy = defaultStartingEnergy var CurrentLevel = 1 type Player struct { - square Square + square *Square row int col int currColorIndex int @@ -41,7 +41,7 @@ func SetupPlayer() { sq.SetPosition(gridSq.x, gridSq.y) //setup struct for passing around - ply := Player{square: sq, row: rows, col: 1, currColorIndex: 0} + ply := Player{square: &sq, row: rows, col: 1, currColorIndex: 0} MainPlayer = &ply } diff --git a/states/playLevelState.go b/states/playLevelState.go index 884f79f..a9eb6b5 100644 --- a/states/playLevelState.go +++ b/states/playLevelState.go @@ -67,5 +67,5 @@ func (s *PlayLevelState) Update() { func (s *PlayLevelState) Draw(screen *ebiten.Image) { geom.GameGrid.Draw(screen) geom.MainPlayer.Draw(screen) - score.ScoreMngr.Draw(screen) + score.ScoreMngr.Draw(screen) //something in here is causing big time CPU usage } diff --git a/tools/scoreManager.go b/tools/scoreManager.go index f5a566f..eff7230 100644 --- a/tools/scoreManager.go +++ b/tools/scoreManager.go @@ -14,6 +14,8 @@ import ( ) var ScoreMngr ScoreManager +var smallFace = assets.LoadFontFace("fonts/robot.otf", 12) +var bigFace = assets.LoadFontFace("fonts/robot.otf", 20) type ScoreManager struct{} @@ -24,22 +26,14 @@ func (sm *ScoreManager) Draw(screen *ebiten.Image) { w, h := ebiten.WindowSize() - //highScoreStr := fmt.Sprintf("High Score: %v", highScore) levelStr := fmt.Sprintf("Level: %v", geom.CurrentLevel) - face := assets.LoadFontFace("fonts/robot.otf", 12) - - //draw high score (i.e. best level) - //stringWidth := font.MeasureString(face, highScoreStr).Ceil() - //text.Draw(screen, highScoreStr, face, w-stringWidth-geom.HighScoreOffset, h-geom.HighScoreOffset, color.White) //draw current level - //stringWidth = font.MeasureString(face, levelStr).Ceil() - text.Draw(screen, levelStr, face, geom.HighScoreOffset, h-geom.HighScoreOffset, color.White) + text.Draw(screen, levelStr, smallFace, geom.HighScoreOffset, h-geom.HighScoreOffset, color.White) //draw energy at the top energyStr := fmt.Sprintf("Energy: %v", geom.CurrentEnergy) - face = assets.LoadFontFace("fonts/robot.otf", 20) - stringWidth := font.MeasureString(face, energyStr).Ceil() - text.Draw(screen, energyStr, face, w/2-stringWidth/2, geom.ScoreOffset, color.White) + stringWidth := font.MeasureString(bigFace, energyStr).Ceil() + text.Draw(screen, energyStr, bigFace, w/2-stringWidth/2, geom.ScoreOffset, color.White) }