Refactoring MustFightBattle
-
I've been working on the offensive subs submerge/withdraw step and discovered that my idea of having a unified
valid()check that works for bothgetNamesandexecutewon't work.In the offensive subs submerge/withdraw step,
executeshouldn't run if there is a destroyer present. ButgetNamesis called at the beginning of the round and there might be a destroyer present that will die beforeexecuteis called. IfgetNamesdoesn't return the submerge/withdraw step, then an error will occur.I was actually able to trigger this error from the master branch when
Submersible Subsis false,Sub Retreat Before Battleis false, and a destroyer is present at the beginning of the round but then is destroyed during the round. IfSubmersible Subsis true andSub Retreat Before Battleis false, then this error doesn't occur because it doesn't check for destroyers.I'm going to be removing
valid()as a public method from theBattleStepinterface. Instead,getNamesandexecutewill do their own internal valid check. This check might be the same or different, depending on the step.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login