03-25-2021, 07:48 AM
(This post was last modified: 03-25-2021, 07:57 AM by dale walton.)
In a workaround version, I am still getting hung AI
Here is a terminal error for the attached program and trial
Exception in thread "Thread-5" java.lang.IndexOutOfBoundsException: bitIndex < 0: -1
at main.collections.ChunkSet.clear(ChunkSet.java:496)
at game.util.equipment.Region.remove(Region.java:242)
at game.functions.region.math.Difference.eval(Difference.java:87)
at game.rules.play.moves.nonDecision.operators.foreach.site.ForEachSite.eval(ForEachSite.java:72)
at game.rules.play.moves.nonDecision.operators.logical.If.eval(If.java:131)
at game.Game.moves(Game.java:2461)
at search.minimax.AlphaBetaSearch.alphaBeta(AlphaBetaSearch.java:497)
at search.minimax.AlphaBetaSearch.alphaBeta(AlphaBetaSearch.java:580)
at search.minimax.AlphaBetaSearch.alphaBeta(AlphaBetaSearch.java:538)
at search.minimax.AlphaBetaSearch.alphaBeta(AlphaBetaSearch.java:580)
at search.minimax.AlphaBetaSearch.alphaBeta(AlphaBetaSearch.java:538)
at search.minimax.AlphaBetaSearch.alphaBeta(AlphaBetaSearch.java:580)
at search.minimax.AlphaBetaSearch.iterativeDeepening(AlphaBetaSearch.java:302)
at search.minimax.AlphaBetaSearch.selectAction(AlphaBetaSearch.java:178)
at util.ThinkingThread$ThinkingThreadRunnable.run(ThinkingThread.java:186)
at java.base/java.lang.Thread.run(Thread.java:834)
----------------------------------------------------
I was also trying many approaches because one of the pieces in remove situations would often not be allowed fto be selected, even though all were in state 1. And since I assumed (forEach Piece ...(from) was working I figured there was a no move situation causing it not to select - i.e. a bug in my logic. Then I also tried using (forEach Site in state 1 instead.. and that is when I actually got a terminal error to report. So it may be a separate or related issue.
Here is a terminal error for the attached program and trial
Exception in thread "Thread-5" java.lang.IndexOutOfBoundsException: bitIndex < 0: -1
at main.collections.ChunkSet.clear(ChunkSet.java:496)
at game.util.equipment.Region.remove(Region.java:242)
at game.functions.region.math.Difference.eval(Difference.java:87)
at game.rules.play.moves.nonDecision.operators.foreach.site.ForEachSite.eval(ForEachSite.java:72)
at game.rules.play.moves.nonDecision.operators.logical.If.eval(If.java:131)
at game.Game.moves(Game.java:2461)
at search.minimax.AlphaBetaSearch.alphaBeta(AlphaBetaSearch.java:497)
at search.minimax.AlphaBetaSearch.alphaBeta(AlphaBetaSearch.java:580)
at search.minimax.AlphaBetaSearch.alphaBeta(AlphaBetaSearch.java:538)
at search.minimax.AlphaBetaSearch.alphaBeta(AlphaBetaSearch.java:580)
at search.minimax.AlphaBetaSearch.alphaBeta(AlphaBetaSearch.java:538)
at search.minimax.AlphaBetaSearch.alphaBeta(AlphaBetaSearch.java:580)
at search.minimax.AlphaBetaSearch.iterativeDeepening(AlphaBetaSearch.java:302)
at search.minimax.AlphaBetaSearch.selectAction(AlphaBetaSearch.java:178)
at util.ThinkingThread$ThinkingThreadRunnable.run(ThinkingThread.java:186)
at java.base/java.lang.Thread.run(Thread.java:834)
----------------------------------------------------
I was also trying many approaches because one of the pieces in remove situations would often not be allowed fto be selected, even though all were in state 1. And since I assumed (forEach Piece ...(from) was working I figured there was a no move situation causing it not to select - i.e. a bug in my logic. Then I also tried using (forEach Site in state 1 instead.. and that is when I actually got a terminal error to report. So it may be a separate or related issue.