jagotu / lospiratos Goto Github PK
View Code? Open in Web Editor NEWLos Piratos de La Casa
License: MIT License
Los Piratos de La Casa
License: MIT License
To yet be implemented:
Improvements:
Map<Class<Enhancement>, Enhancement>
instead of a ListHexTile should be about to somehow access its HexShape directly to style/ruin it.
Prosím, aby v JSON game data v ship.teamId
bylo id týmu, které ji vlastní. Stačí ho počítat v server response (tj. server to tam dopíše, než to vrátí), není potřeba to nikde bindovat v modelu.
Zlepší to UX, půjde pak klikat na lodě a zobrazovat jejich detail.
Dík
Los WARNINGos Piratos: ShipType.createInstanceFromPersistentName(): Empty or null type name: null
Při načtení uložené hry program vyhodí Server is already running exception a server přestane servírovat.
Nastav prosim lodim teamId, to by nemel byt problem. Moje mapa by ho potrebovala znat. Dik.
We need to validate user input and give feedback for invalid input.
View is responsible for user input validation (e.g. "45hi" is not integer etc.)
Viewmiodel is repsonsible for game values validation (e.g. "45" may be set as maxHP)
Viewmodel should return Properties that extend an Validable ibnterface with boolean isValid(value)
method. such Property's setter should throw an exception if given value is invalid.
It is View's responsibility to check if given prorperty is Validable and if so, to validate value before setting it.
Plánování mortaru z více různých lodí funguje špatně. UI nerflektuje změnu groundZero ani změnu range (Galleona má mít range 3). Po krátkém průzkumu mi přišlo, že viewmodel to updatuje správně, ale jistý si nejsem. Potřeba prozkoumat.
I tried to port HexGrid to use @teichmaa's AxialCoordinates and for some reason it's painfully slow now.
I pushed it to branch HexGrid_AxialCoords but right now it's unusable and I have no idea why.
In the Team class, the ListProperty
'ships' is not properly bound (its content does not reflect changes in model). Thus, adding a new ship appears in model, but does not take effect in viewmodel until a game is reloaded.
Cause: In the constructor, the listener in teamModel.shipsProperty().addListener
is not implemented.
Same issue for the Game class and its ListProperty
'teams'. Here, the listener is't implemented neither and the function createAndAddNewTeam
wrongly directly adds the new team to the viewmodel's list.
Je potřeba na FE relogovat, pokud se server restartuje? Občas mi přišlo, že jo - jinak FE vypisuje chybové hlášky a není jasné co se děje
chci aby zmizelo okýnko potvrzení změny tahu když se změní game state
Podle modelu ma Ship ID,ale je empty. Budeme v API lod definovat jmenem, nebo na backendu spravne dopiseme id?
A to buď při recomputeCost nebo isSatisified.
com.vztekoverflow.lospiratos.Main
Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
at com.vztekoverflow.lospiratos.viewmodel.shipEntitites.enhancements.EnhancementsCatalog.getPersistentName(EnhancementsCatalog.java:62)
at com.vztekoverflow.lospiratos.viewmodel.actions.transactions.RepairEnhancement.recomputeCost(RepairEnhancement.java:49)
at com.vztekoverflow.lospiratos.viewmodel.actions.Action$5.computeValue(Action.java:159)
at com.vztekoverflow.lospiratos.viewmodel.actions.Action$5.computeValue(Action.java:156)
at javafx.beans.binding.ObjectBinding.get(ObjectBinding.java:153)
at javafx.beans.binding.ObjectExpression.getValue(ObjectExpression.java:50)
at com.sun.javafx.binding.ExpressionHelper.addListener(ExpressionHelper.java:54)
at javafx.beans.binding.ObjectBinding.addListener(ObjectBinding.java:72)
at javafx.beans.binding.BooleanBinding.bind(BooleanBinding.java:107)
at javafx.beans.binding.Bindings$67.<init>(Bindings.java:5925)
at javafx.beans.binding.Bindings.isNotNull(Bindings.java:5923)
at com.vztekoverflow.lospiratos.view.controls.ActionParametersPopOver.setAction(ActionParametersPopOver.java:104)
at com.vztekoverflow.lospiratos.view.stages.OrgStage.parametrizeAndPlan(OrgStage.java:121)
at com.vztekoverflow.lospiratos.view.controls.ActionSelector.lambda$updateActionRoster$3(ActionSelector.java:125)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Node.fireEvent(Node.java:8413)
at javafx.scene.control.Button.fire(Button.java:185)
at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)
at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3757)
at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:394)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$353(GlassViewEventHandler.java:432)
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:431)
at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
at com.sun.glass.ui.View.notifyMouse(View.java:937)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)
at java.lang.Thread.run(Thread.java:748)
Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
at com.vztekoverflow.lospiratos.viewmodel.shipEntitites.enhancements.EnhancementsCatalog.getPersistentName(EnhancementsCatalog.java:62)
at com.vztekoverflow.lospiratos.viewmodel.actions.transactions.BuyNewEnhancement.recomputeCost(BuyNewEnhancement.java:51)
at com.vztekoverflow.lospiratos.viewmodel.actions.Action$5.computeValue(Action.java:159)
at com.vztekoverflow.lospiratos.viewmodel.actions.Action$5.computeValue(Action.java:156)
at javafx.beans.binding.ObjectBinding.get(ObjectBinding.java:153)
at javafx.beans.binding.ObjectExpression.getValue(ObjectExpression.java:50)
at com.sun.javafx.binding.ExpressionHelper.addListener(ExpressionHelper.java:54)
at javafx.beans.binding.ObjectBinding.addListener(ObjectBinding.java:72)
at javafx.beans.binding.BooleanBinding.bind(BooleanBinding.java:107)
at javafx.beans.binding.Bindings$67.<init>(Bindings.java:5925)
at javafx.beans.binding.Bindings.isNotNull(Bindings.java:5923)
at com.vztekoverflow.lospiratos.view.controls.ActionParametersPopOver.setAction(ActionParametersPopOver.java:104)
at com.vztekoverflow.lospiratos.view.stages.OrgStage.parametrizeAndPlan(OrgStage.java:121)
at com.vztekoverflow.lospiratos.view.controls.ActionSelector.lambda$updateActionRoster$3(ActionSelector.java:125)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Node.fireEvent(Node.java:8413)
at javafx.scene.control.Button.fire(Button.java:185)
at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)
at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3757)
at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:394)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$353(GlassViewEventHandler.java:432)
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:431)
at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
at com.sun.glass.ui.View.notifyMouse(View.java:937)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)
at java.lang.Thread.run(Thread.java:748)
Úno 07, 2018 6:45:14 ODP. javafx.beans.binding.Bindings$1 computeValue
WARNING: Exception while evaluating binding
java.lang.NullPointerException
at com.vztekoverflow.lospiratos.viewmodel.actions.transactions.SellCommodity.lambda$isSatisfied$0(SellCommodity.java:40)
at javafx.beans.binding.Bindings$1.computeValue(Bindings.java:133)
at javafx.beans.binding.BooleanBinding.get(BooleanBinding.java:157)
at javafx.beans.binding.BooleanExpression.getValue(BooleanExpression.java:56)
at javafx.beans.binding.BooleanBinding.getValue(BooleanBinding.java:60)
at com.sun.javafx.binding.ExpressionHelper.addListener(ExpressionHelper.java:54)
at javafx.beans.binding.BooleanBinding.addListener(BooleanBinding.java:76)
at javafx.beans.binding.BooleanBinding.bind(BooleanBinding.java:107)
at javafx.beans.binding.Bindings$52.<init>(Bindings.java:4681)
at javafx.beans.binding.Bindings.not(Bindings.java:4679)
at com.vztekoverflow.lospiratos.view.controls.ActionParametersPopOver.setAction(ActionParametersPopOver.java:103)
at com.vztekoverflow.lospiratos.view.stages.OrgStage.parametrizeAndPlan(OrgStage.java:121)
at com.vztekoverflow.lospiratos.view.controls.ActionSelector.lambda$updateActionRoster$3(ActionSelector.java:125)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Node.fireEvent(Node.java:8413)
at javafx.scene.control.Button.fire(Button.java:185)
at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)
at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3757)
at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:394)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$353(GlassViewEventHandler.java:432)
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:431)
at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
at com.sun.glass.ui.View.notifyMouse(View.java:937)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)
at java.lang.Thread.run(Thread.java:748)
Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
at com.vztekoverflow.lospiratos.viewmodel.actions.transactions.SellCommodity.recomputeCost(SellCommodity.java:33)
at com.vztekoverflow.lospiratos.viewmodel.actions.Action$5.computeValue(Action.java:159)
at com.vztekoverflow.lospiratos.viewmodel.actions.Action$5.computeValue(Action.java:156)
at javafx.beans.binding.ObjectBinding.get(ObjectBinding.java:153)
at javafx.beans.binding.ObjectExpression.getValue(ObjectExpression.java:50)
at com.sun.javafx.binding.ExpressionHelper.addListener(ExpressionHelper.java:54)
at javafx.beans.binding.ObjectBinding.addListener(ObjectBinding.java:72)
at javafx.beans.binding.BooleanBinding.bind(BooleanBinding.java:107)
at javafx.beans.binding.Bindings$67.<init>(Bindings.java:5925)
at javafx.beans.binding.Bindings.isNotNull(Bindings.java:5923)
at com.vztekoverflow.lospiratos.view.controls.ActionParametersPopOver.setAction(ActionParametersPopOver.java:104)
at com.vztekoverflow.lospiratos.view.stages.OrgStage.parametrizeAndPlan(OrgStage.java:121)
at com.vztekoverflow.lospiratos.view.controls.ActionSelector.lambda$updateActionRoster$3(ActionSelector.java:125)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Node.fireEvent(Node.java:8413)
at javafx.scene.control.Button.fire(Button.java:185)
at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)
at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3757)
at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:394)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$353(GlassViewEventHandler.java:432)
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:431)
at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
at com.sun.glass.ui.View.notifyMouse(View.java:937)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)
at java.lang.Thread.run(Thread.java:748)
Úno 07, 2018 6:45:14 ODP. javafx.beans.binding.Bindings$1 computeValue
WARNING: Exception while evaluating binding
java.lang.NullPointerException
at com.vztekoverflow.lospiratos.viewmodel.actions.transactions.BuyCommodity.lambda$isSatisfied$0(BuyCommodity.java:39)
at javafx.beans.binding.Bindings$1.computeValue(Bindings.java:133)
at javafx.beans.binding.BooleanBinding.get(BooleanBinding.java:157)
at javafx.beans.binding.BooleanExpression.getValue(BooleanExpression.java:56)
at javafx.beans.binding.BooleanBinding.getValue(BooleanBinding.java:60)
at com.sun.javafx.binding.ExpressionHelper.addListener(ExpressionHelper.java:54)
at javafx.beans.binding.BooleanBinding.addListener(BooleanBinding.java:76)
at javafx.beans.binding.BooleanBinding.bind(BooleanBinding.java:107)
at javafx.beans.binding.Bindings$52.<init>(Bindings.java:4681)
at javafx.beans.binding.Bindings.not(Bindings.java:4679)
at com.vztekoverflow.lospiratos.view.controls.ActionParametersPopOver.setAction(ActionParametersPopOver.java:103)
at com.vztekoverflow.lospiratos.view.stages.OrgStage.parametrizeAndPlan(OrgStage.java:121)
at com.vztekoverflow.lospiratos.view.controls.ActionSelector.lambda$updateActionRoster$3(ActionSelector.java:125)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Node.fireEvent(Node.java:8413)
at javafx.scene.control.Button.fire(Button.java:185)
at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)
at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3757)
at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:394)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$353(GlassViewEventHandler.java:432)
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:431)
at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
at com.sun.glass.ui.View.notifyMouse(View.java:937)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)
at java.lang.Thread.run(Thread.java:748)
Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
at com.vztekoverflow.lospiratos.viewmodel.actions.transactions.BuyCommodity.recomputeCost(BuyCommodity.java:33)
at com.vztekoverflow.lospiratos.viewmodel.actions.Action$5.computeValue(Action.java:159)
at com.vztekoverflow.lospiratos.viewmodel.actions.Action$5.computeValue(Action.java:156)
at javafx.beans.binding.ObjectBinding.get(ObjectBinding.java:153)
at javafx.beans.binding.ObjectExpression.getValue(ObjectExpression.java:50)
at com.sun.javafx.binding.ExpressionHelper.addListener(ExpressionHelper.java:54)
at javafx.beans.binding.ObjectBinding.addListener(ObjectBinding.java:72)
at javafx.beans.binding.BooleanBinding.bind(BooleanBinding.java:107)
at javafx.beans.binding.Bindings$67.<init>(Bindings.java:5925)
at javafx.beans.binding.Bindings.isNotNull(Bindings.java:5923)
at com.vztekoverflow.lospiratos.view.controls.ActionParametersPopOver.setAction(ActionParametersPopOver.java:104)
at com.vztekoverflow.lospiratos.view.stages.OrgStage.parametrizeAndPlan(OrgStage.java:121)
at com.vztekoverflow.lospiratos.view.controls.ActionSelector.lambda$updateActionRoster$3(ActionSelector.java:125)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Node.fireEvent(Node.java:8413)
at javafx.scene.control.Button.fire(Button.java:185)
at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)
at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3757)
at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:394)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$353(GlassViewEventHandler.java:432)
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:431)
at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
at com.sun.glass.ui.View.notifyMouse(View.java:937)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)
at java.lang.Thread.run(Thread.java:748)
Process finished with exit code 1
Writing a test where it attempts to highlight the corresponding HexTile should help with visual debugging.
Viewmodel: add methods that can add new ships and teams that are guaranteed to be valid (e.g. with some name as "Team #1"). Their names would be later changed by view to some value that a user desires.
Je XP (lodi/kapitána) nemozené číslo, nebo existuje nějaké maximum, které lze získat (v takovém případě bychom ukázali XP bar).
Pokud maximum existuje, mění se někdy (např. při upgrade typu lodě) nebo je konstantní pro celou hru?
Solve (or hack) proper z-ordering.
Important mainly for future UI.
Nevadí, když bude umět zrušit loď jenom ten, kdo vlastní Game, ale mělo by to jít.
Díky a nashledanou.
Když v přehledu týmů kliknu u lodičky na ikonku [i], tak se to nepřepne na záložku s loděmi, jen se zvýrazní loď. (To, že vyskočí ActionPlaner, to asi neva - chápu, že je to tak snažší)
Maji chybu. Kdyz dojedes do pristavu, muzes se rovnou upgradovat a pak zrusit pohyby. Profit.
Tohle jim v pravidlech zakazeme
Co znamená být v přístavu? Znamená to přímo stát na políčku přístav? Nebo prostě stát na libovolném políčku (moři) těsně vedle přístavu? Nebo předchozí + dát akci "navštívit přístav"-like?
Smí se v přístavu bojovat? Speciálně: Můžou lodě jedoucí kolem střílet na ty v přístavu? Můžou lodě z přístavu střílet na ty jedoucí kolem? Může loď v přístavu střílet na loď která je těsně vedle ní a taky v přístavu?
Jak se plundruje plantáž? Přijedu k ní (na ní? stejná otázka jako 1?) a dám akci "plundrovat"? nebo něčím vystřelím? či jak?
Patří někomu plantáž? Lze dobít? A dobýt?
UI by mělo rozlišit, jestli je enhancement active, empty nebo destroyed (třeba červeným podbarvením?). V současnosti vypadá empty a destroyed stejně.
(Pro testování lze použít Team3_Loď3, která má zničená všechna rozšíření (krom HullUpgrade, které nemá))
as described on wiki/Future-road-map-meetup---January-17
Jak přesně to funguje vůči tahům? napadají mě možnosti:
Editor mapy pro účely testování grafiky.
Měl by umět
Vidím rozpor v plánování a vyhodnocování tahů:
Zadání říká, že "Obecně lze skládat za sebe libovolné akce v libovolném pořadí" ale taky potom určuje, v jakém pořadí se akce vyhodnocují (salvy, manévry, houfnice, transakce). Jak to tedy je? Na pořadí akcí vůbec nezáleží, nebo k něčemu jsou?
A když chci provést akce "dojet do přístavu, nakoupit, jet někam dál" (to by mělo jít), jak to má uživatel zadat, a jak to má hra vyhodnotit?
Cituji zápis:
Right now these two methods are pretty weird:
Why is the finally part in finally, when the catch block already returned? Or if that's intended, why is there another return?
Also, use the try (reader = new BufferedReader(new FileReader(inputFilePath))) {...}
pattern.
vysoka priorita:
Dalsi veci, ktere ale nejsou TOP priority
Dalsi shity:
různě široký HP bar pro lodě s různým max HP. Maximální maxHP pro hru: 120 (ale možná se ta hodnota bude měnit)
The Game should allow to register a Listener for round end.
The callback argument should be a Map<Ship, ArrayList>.
Put all game constants (such as Team initial money or Cannon upgrade bonus) in a separate file. This constant file should be structured (JSON?) and editable by non-programmers. The game should load constants from this file on startup.
Naiplementovat XP bar lodi (Ship.XPProperty + číslo v UI), viz Issue #25
Should ship names be unique (and thus possibly used as key) or not? If unique, then unique per team (allowing Team.Map<String, Ship> ships
) or per game (allowing also Game.findShipByName()
)? @martisekpetr
According to the answer, re-implement Team.findShipByName
(possibly using Map instead of List) and maybe implement Game.findShipByName()
. @teichmaa
Re-implement "clip" property on hexParent using CSS
https://wiki.openjdk.java.net/display/OpenJFX/CSS+API+to+support+custom+UI+Controls
If you create a method MapProperty Team.shipsProperty()
or similiar, then it should be noted (e.g. as documentation comment of the method) that the resulting Map should be treated as read only and clients should not add new ships to it. Same for Game.shipsProperty()
.
metody třídy GameSerializer vyhazují runtime vyjímky, pokud dostanou nevalidní JSON. Je třeba to vhodně ošetřit, aby nám kvůli nim nepadala hra.
To druhé je lepší.
prilozena verze pravidel (pdf) mozna obsahuje nespravne informace
Ověřit část 4.3 Vyhodnocení tahů. Mám za to, že pohyb + salvy se vyhodnocují postupně, nikoliv tak jak je to napsáno.
snapPixel on hexpane and other desirable things
Když vycentruju na loď A hned po tom na loď B, tak se políčko, na kterém je B, neanimuje
jsou to věci, na které jsem si nevzpomněl, když jsme spolu mluvili
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.