Compiled a game, and got Tictactoe - Printable Version +- Ludii Forum (https://ludii.games/forums) +-- Forum: Problems (https://ludii.games/forums/forumdisplay.php?fid=5) +--- Forum: Ludii Player Problems (https://ludii.games/forums/forumdisplay.php?fid=6) +--- Thread: Compiled a game, and got Tictactoe (/showthread.php?tid=112) |
Compiled a game, and got Tictactoe - dale walton - 08-06-2020 "Something went wrong painting the components" The Board briefly appears followed by a Tic tac toe board (and game) and if I reinvoke the editor, my file is overwritten by tictactoe... The status shows "Index -1 out of bounds for length 108" (108 seems to relat to the size of the board, and shows a different number for hex, limping, of different sizes) RE: Compiled a game, and got Tictactoe - cambolbro - 08-06-2020 Hi, Can you attach the .lud that shows this problem and list the steps to recreate it? Regards, Cameron RE: Compiled a game, and got Tictactoe - dale walton - 08-06-2020 Terminal screen: dale@dale-System-Product-Name:~/Ludii$ java -jar Ludii-1.0.1.jar Loading default preferences. Compiled Surakarta successfully. ----------------------- in Surakarta I loaded game from file (in my home directory) Terminal screen: java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 3 at util.state.State.updateScoreHash(State.java:1127) at util.state.State.setScore(State.java:1118) at util.Context.setScore(Context.java:450) at util.action.state.ActionSetScore.apply(ActionSetScore.java:77) at game.rules.start.set.player.SetScore.eval(SetScore.java:94) at game.rules.start.Start.eval(Start.java:85) at game.Game.start(Game.java:1401) at app.game.GameSetupDesktop.cleanUpPlayerView(GameSetupDesktop.java:232) at app.game.GameSetupDesktop.cleanUpAfterLoading(GameSetupDesktop.java:179) at app.game.GameSetupDesktop.compileAndShowGame(GameSetupDesktop.java:100) at app.loading.GameLoading.loadGameFromFile(GameLoading.java:99) at app.loading.GameLoading.loadGameFromFile(GameLoading.java:59) at app.menu.MainMenuFunctions.checkActionsPerformed(MainMenuFunctions.java:140) at app.DesktopApp.actionPerformed(DesktopApp.java:293) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308) at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369) at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1020) at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1064) at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6635) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342) at java.desktop/java.awt.Component.processEvent(Component.java:6400) at java.desktop/java.awt.Container.processEvent(Container.java:2263) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 108 at game.functions.booleans.is.site.IsEmpty.eval(IsEmpty.java:53) at game.functions.booleans.math.And.eval(And.java:73) at game.rules.play.moves.nonDecision.effect.Add.eval(Add.java:161) at game.rules.play.moves.nonDecision.effect.requirement.Priority.eval(Priority.java:80) at game.Game.moves(Game.java:1519) at app.display.views.tools.buttons.ButtonPass.isEnabled(ButtonPass.java:64) at app.display.views.tools.ToolButton.getButtonColour(ToolButton.java:214) at app.display.views.tools.buttons.ButtonPass.draw(ButtonPass.java:43) at app.display.views.tools.ToolView.paint(ToolView.java:134) at app.display.MainWindow.paintComponent(MainWindow.java:236) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1074) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083) at java.desktop/javax.swing.JLayeredPane.paint(JLayeredPane.java:590) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907) at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5262) at java.desktop/javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:246) at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1323) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1060) at java.desktop/java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39) at java.desktop/sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:78) at java.desktop/sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:115) at java.desktop/java.awt.Container.paint(Container.java:2002) at java.desktop/java.awt.Window.paint(Window.java:3940) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:876) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:848) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:848) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:823) at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:772) at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1890) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) Compiled Tic-Tac-Toe successfully. RE: Compiled a game, and got Tictactoe - cambolbro - 08-06-2020 Hi, 1. Try: (start (set Score Each 0)) 2. Try reformulating your Add move, something like: (move Add (to (sites Empty) if:(not (is Connected Mover)) ) (then "UpdateScores") ) Regards, Cameron RE: Compiled a game, and got Tictactoe - dale walton - 08-06-2020 Thanks, Now I can start to debug and add features... |