Rename movement/world methods to idiomatic Go; remove all gotos
Refactor step 4. Renames (C breadcrumbs kept in doc comments): doMove→moveHero, beTrapped→springTrap, rndmove→randomStep, doRooms→digRooms, doPassages→digPassages, doMaze→digMaze, chgStr→changeStrength, doRun→startRun, moveStuff→finishMove, turnref→turnRefresh, moveMonst→moveMonster, doChase→chaseStep, setOldch→setOldChar, cansee→canSee, roomin→roomIn, runto→runTo, conn→connectRooms, putpass→putPassage, passnum→numberPassages, numpass→numberPassage, rndPos→randomPos, rndRoom→randomRoom, treasRoom→treasureRoom, accntMaze→accountMaze. All goto/label flows are gone: moveHero uses a retry loop with the PASSGO corner logic extracted into passageTurn; dispatch re-dispatches via a loop; chaseStep re-checks via a loop; saveGame uses a labeled prompt loop. Control flow and RNG call order are unchanged; suite green.
This commit is contained in:
10
game/misc.go
10
game/misc.go
@@ -305,9 +305,9 @@ func (g *RogueGame) checkLevel() {
|
||||
}
|
||||
}
|
||||
|
||||
// chgStr modifies the player's strength, keeping track of the highest it
|
||||
// has been (misc.c chg_str).
|
||||
func (g *RogueGame) chgStr(amt int) {
|
||||
// changeStrength modifies the player's strength, keeping track of the
|
||||
// highest it has been (misc.c chg_str).
|
||||
func (g *RogueGame) changeStrength(amt int) {
|
||||
if amt == 0 {
|
||||
return
|
||||
}
|
||||
@@ -362,10 +362,10 @@ func (g *RogueGame) addHaste(potion bool) bool {
|
||||
|
||||
// aggravate aggravates all the monsters on this level (misc.c aggravate).
|
||||
func (g *RogueGame) aggravate() {
|
||||
// runto() can splice the monster list while we walk it, so iterate a copy.
|
||||
// runTo() can splice the monster list while we walk it, so iterate a copy.
|
||||
monsters := append([]*Monster(nil), g.Level.Monsters...)
|
||||
for _, mp := range monsters {
|
||||
g.runto(mp.Pos)
|
||||
g.runTo(mp.Pos)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user