From 32120e75247d8ed822cbb5c5a5365586fccfdb0e Mon Sep 17 00:00:00 2001 From: stephan Date: Mon, 7 Sep 2015 00:27:24 +0200 Subject: [PATCH] first playable version --- .DS_Store | Bin 8196 -> 10244 bytes .gitignore | 1 + .../bootsfaces/examples/AJAXBean.java | 25 +++++++++ .../bootsfaces/examples/ImageGallery.java | 22 ++++++-- AJAX/src/main/webapp/commandbutton2.xhtml | 7 ++- .../bootsfaces/chess/jsf/Board.java | 48 +++++++++++++----- BootsFacesChess/src/main/webapp/index.xhtml | 28 ++++++---- 7 files changed, 102 insertions(+), 29 deletions(-) diff --git a/.DS_Store b/.DS_Store index 9b96e41117fd2e1823e79aa0b23e7c790d756adb..c5ac2958f3ec990cfdff2c1b218c2535939bd20c 100644 GIT binary patch literal 10244 zcmeHMTWl0n82LZzXFmW$NgouQq$ovAysZIO`F zn0Skkc!^OHV*~{w%9F;#2ct%eiN;IP7%=LKKKW##Ci;ZmIcHmTrx2o1QJAwi^PfHQ zf9LX@Z)eW=mx#DIXVnuWh)6>g)|^2U(~07+g-P5Oc~Y8!8b*#Iqihm+6p&AwDM{%` z-ciMWje!^jB-XD4xtyA@dWGv}V>O!~S3@!;43a_4Z%$_S%WsZlr}E{FWY9le?()3ML^+w-F4U&#) zXA7VQx*gZ@hMT>dYxxH{ReRlz74-L-b2_s25TG4N*WTm!PRhwR!C_sdUbE`Rk(H}f z*Cp1jJ6e}G(y*qXF0sCT#nGeYGnzL4<~2?2dk2p`di=!8ube#f>IWZUZb&Q`5vfv{ ziR)RzxW;BUF}0`=F%U6u-7%1V(rKah{dLDfG~tMWh=Iuri04BBS=h$B9aUC7I&cwN zNO50mA!R}t=Kxuk$lJ!e9aUCBfss&H1?Bt^gB2Y03E>Xgn75QHCDm^Xg*J9qKyHzVF!(Ps3Tv&1=U=V0J? zuD{35`mnubxsL|gs9AHIVuW9CddzTG>Gi0{{=9{d)RywEp#znPDSFYPIRyMO7=QG3DhXbM;IENfN zyL(ui689$kwC!4s+t)oLj))n%%S{g075t*EkC`*e%Z#e{Jl%XtJ7A&NcFz)6OWuiB z#TRJWeo^0&wQ*I|Mk2mYHFZth;H;{kON=_rwDjGXWXjH{s^vz# zW^UKJhZH@ka<#EmtKd4lC+!UkVC254ZiwHenICHhMc+G;ez0@UcF}#=#!a_3R>k9& zo7!IC-(*>~rD@ut##*)FiyBv`f{w@RJX(f_>Q*{{qx~QqrpM@UI!4da2|7b>(!2B# zeL|nn=kx`gr?2T7`j&pApXnF+m6;8m!DT#?EBOXqz&CM%Yj_zi=Xzer>$!=Wxs}_v zo%e7z@8kV!@c_F#$oKLnKf=fOIev*x^XvQupW(OpJvFFU{+Ui&)c5f#zmL+D#hDLG z#JVpf&g!?s4yuir5dTGakWU%7E5$4gj+q|STL^Z zuqbvzjP{6BmpOe*dMBzE3R#(&`dU-HScCG-nEYxisjd^cHm9h&Qm>Y7PE~iIRH1RR zMBQyLpwR8QIc;oSRebKoO^A<>`ca9VjGAg)|8o*NPN(S|DZel2EBcPUr=RF|h;BMp za23aSK16pTFXmca!ng2JUd!vafp6svklbe8%G-E5ckymWuLt5wLwtw0j~&jk&p96A z5x$=v;0O63ewd%&C;2IUnqT0PArWpJm!GnH3RXiT%%cHH;VSaTwv3m~$HTDU;9c;k zy&#iBl_3VYhIZixmWFp9x#S=+>Y(g~kmo|k>9m8kp|>`=lRBxb*gJMGY!DwMCI@Y0$ znlQ?C*kxG7P`{GZLWC(-&PPvJFWHZnZ>#Lp5vy4|?wDY?5MM6GoPmEDj9p|-td&c- zVzl6zwF0h7sY}k##+Y5KRTpNT0^4>72Y!oi7{p&li1(8YR$4LUUgQ9C2EWC9G4x&3 zR|yb(;6DiYf%_sqW84qE;#Y8qwgvk|m`cps!pDJs9~2;zG63e(zY1dI*Pzu^#XU>K z7XAWD(8?XiJt04#O7T+U3l}6?6Mj*Io6drf2|l7-U$pDHdb_?t8AkiNXn*$)@9(Z~ z$S8h?i1)n=H^tODOV`}4ZnD8t` ztUZBzH?l~=Z&cX{2nr>r5@CH2ikE>W)aBz&64NN|qi$4L1^w6m2>9EAk5PQ*nu+gR IhwuMC0M;s2j{pDw delta 142 zcmZn(XmOBWU|?W$DortDU;r^WfEYvza8E20o2Vx_*+7Lw63A!Z2VzE`I0Hi-LpnnM zLlHwJL+)ll4l$O^0xZ4Eo7p*7I2idi&yr|l+-xYih-tGv&kbflW{_5(iQGWK6=dpW cMwai)llfH~C%f|qZ~zSiS;(+Co@Wj-06tU~P5=M^ diff --git a/.gitignore b/.gitignore index 56a6414..e99b5a3 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ dist .faces-config.xml.jsfdia .project .classpath/PFSearchExpressions/ +.DS_Store diff --git a/AJAX/src/main/java/de/beyondjava/bootsfaces/examples/AJAXBean.java b/AJAX/src/main/java/de/beyondjava/bootsfaces/examples/AJAXBean.java index 7626c8b..b2c410c 100644 --- a/AJAX/src/main/java/de/beyondjava/bootsfaces/examples/AJAXBean.java +++ b/AJAX/src/main/java/de/beyondjava/bootsfaces/examples/AJAXBean.java @@ -27,6 +27,7 @@ public class AJAXBean { private boolean spinning=true; private boolean readOnly=false; private boolean disabled=true; + private boolean buttonRed=false; public boolean isSpinning() { return spinning; @@ -241,6 +242,22 @@ public String standardJSFAction() { report("Standard JSF action called"); return null; // "landingPage.jsf"; } + + public void facetListener(javax.faces.event.AjaxBehaviorEvent event) throws javax.faces.event.AbortProcessingException { + report("f:ajax listener called"); + } + + public void mouseOverListener(javax.faces.event.AjaxBehaviorEvent event) throws javax.faces.event.AbortProcessingException { + report("f:ajax mouseOver listener called"); + buttonRed=true; + } + + + public void mouseOutListener(javax.faces.event.AjaxBehaviorEvent event) throws javax.faces.event.AbortProcessingException { + report("f:ajax mouseOut listener called"); + buttonRed=false; + } + public void standardJSFActionListener() { report("Standard JSF actionlistener without parameters called"); @@ -248,4 +265,12 @@ public void standardJSFActionListener() { public void standardJSFActionListener(ActionEvent even) { report("Standard JSF actionlistener called"); } + + public boolean isButtonRed() { + return buttonRed; + } + + public void setButtonRed(boolean buttonRed) { + this.buttonRed = buttonRed; + } } diff --git a/AJAX/src/main/java/de/beyondjava/bootsfaces/examples/ImageGallery.java b/AJAX/src/main/java/de/beyondjava/bootsfaces/examples/ImageGallery.java index b51a833..ad6b480 100644 --- a/AJAX/src/main/java/de/beyondjava/bootsfaces/examples/ImageGallery.java +++ b/AJAX/src/main/java/de/beyondjava/bootsfaces/examples/ImageGallery.java @@ -15,8 +15,8 @@ public class ImageGallery implements Serializable { @ManagedProperty("#{AJAXBean}") private AJAXBean ajaxBean; - - private String singleImage="http://www.11pictures.com/foto/stories/Camargue_2013_Nature/framedPreview.png"; + + private String singleImage = "http://www.11pictures.com/foto/stories/Camargue_2013_Nature/framedPreview.png"; private List images = new ArrayList() { { @@ -40,6 +40,13 @@ public class ImageGallery implements Serializable { private static final long serialVersionUID = 1L; }; + private List combinedImagePool = new ArrayList() { + { + addAll(images); + addAll(imagePool); + } + }; + public void setAjaxBean(AJAXBean ab) { this.ajaxBean = ab; } @@ -58,8 +65,15 @@ public void chooseAnotherImage(String image) { } public void chooseAnotherImage() { - int random = (int) Math.floor(Math.random() * imagePool.size()); - singleImage= imagePool.get(random); + while (true) { + int random = (int) Math.floor(Math.random() * imagePool.size()); + String newImage = imagePool.get(random); + if (!newImage.equals(singleImage)) { + singleImage = newImage; + break; + } + } + } public void chooseEveryImage() { diff --git a/AJAX/src/main/webapp/commandbutton2.xhtml b/AJAX/src/main/webapp/commandbutton2.xhtml index 9be47c4..5796207 100644 --- a/AJAX/src/main/webapp/commandbutton2.xhtml +++ b/AJAX/src/main/webapp/commandbutton2.xhtml @@ -8,8 +8,11 @@ - - + + + diff --git a/BootsFacesChess/src/main/java/de/beyondjava/bootsfaces/chess/jsf/Board.java b/BootsFacesChess/src/main/java/de/beyondjava/bootsfaces/chess/jsf/Board.java index 9619a03..9d56660 100644 --- a/BootsFacesChess/src/main/java/de/beyondjava/bootsfaces/chess/jsf/Board.java +++ b/BootsFacesChess/src/main/java/de/beyondjava/bootsfaces/chess/jsf/Board.java @@ -6,6 +6,7 @@ import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; +import javax.faces.event.ActionEvent; import de.beyondjava.bootsfaces.chess.Exceptions.EndOfGameException; import de.beyondjava.bootsfaces.chess.common.ChessConstants; @@ -27,8 +28,9 @@ public class Board implements Serializable { private List rows; - public Board() { + private boolean startOpponentsMove = false; + public Board() { redraw(); } @@ -49,13 +51,14 @@ public void setRows(List rows) { } public String getOpacity(int row, int column) { + if (startOpponentsMove) return "0.7"; if (!isPieceSelected) return "1.0"; if (selectedPieceColumn == column && selectedPieceRow == row) return "1.0"; if (chessboard.isMovePossible(selectedPieceRow, selectedPieceColumn, row, column)) return "1.0"; - return "0.7"; + return "0.8"; } public void onclick(int row, int column) { @@ -69,16 +72,10 @@ public void onclick(int row, int column) { chessboard = chessboard.moveChessPiece(selectedPieceRow, selectedPieceColumn, row, column, ChessConstants.W_QUEEN); - selectedPieceRow=0; - selectedPieceColumn=0; - try { - Move move = chessboard.findBestMove(); - chessboard = chessboard.moveChessPiece(move.fromRow, move.fromColumn, move.toRow, move.toColumn, - ChessConstants.W_QUEEN); - } catch (EndOfGameException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } + selectedPieceRow = 0; + selectedPieceColumn = 0; + // opponentsMove(); + startOpponentsMove = true; } } else { @@ -94,4 +91,31 @@ public void onclick(int row, int column) { redraw(); } + public void opponentsMove(ActionEvent event) { + if (startOpponentsMove) { + startOpponentsMove = false; + try { + Move move = chessboard.findBestMove(); + chessboard = chessboard.moveChessPiece(move.fromRow, move.fromColumn, move.toRow, move.toColumn, + ChessConstants.W_QUEEN); + } catch (EndOfGameException e) { + e.printStackTrace(); + } + redraw(); + } + } + + public boolean isStartOpponentsMove() { + return startOpponentsMove; + } + + public void setStartOpponentsMove(boolean startOppenentsMove) { + this.startOpponentsMove = startOppenentsMove; + } + + public void flipSides(ActionEvent event) { + startOpponentsMove=true; + opponentsMove(event); + } + } diff --git a/BootsFacesChess/src/main/webapp/index.xhtml b/BootsFacesChess/src/main/webapp/index.xhtml index d294170..586693b 100644 --- a/BootsFacesChess/src/main/webapp/index.xhtml +++ b/BootsFacesChess/src/main/webapp/index.xhtml @@ -26,19 +26,25 @@ - - - + + + + - + + + +
-
-
+
+