summaryrefslogtreecommitdiff
path: root/api
diff options
context:
space:
mode:
authorMike Vink <mike1994vink@gmail.com>2021-06-24 23:11:39 +0200
committerMike Vink <mike1994vink@gmail.com>2021-06-24 23:11:39 +0200
commit976ed2b105e80b257ebb724b3061400f37460041 (patch)
treebd04ac5d0a7978d6d8a4a5e2d862bf574314f2f8 /api
parent3906fcf3d702f13da79c797c91a2dd32d874af49 (diff)
mega commit
Diffstat (limited to 'api')
-rw-r--r--api/src/main/java/mancala/api/PlayMancala.java55
-rw-r--r--api/src/main/java/mancala/api/StartMancala.java5
-rw-r--r--api/src/main/java/mancala/api/models/PlayInfo.java17
3 files changed, 75 insertions, 2 deletions
diff --git a/api/src/main/java/mancala/api/PlayMancala.java b/api/src/main/java/mancala/api/PlayMancala.java
new file mode 100644
index 0000000..3b59710
--- /dev/null
+++ b/api/src/main/java/mancala/api/PlayMancala.java
@@ -0,0 +1,55 @@
+package mancala.api;
+
+import java.io.IOException;
+import jakarta.servlet.http.*;
+import jakarta.servlet.ServletException;
+import jakarta.ws.rs.*;
+import jakarta.ws.rs.core.*;
+
+import mancala.api.models.*;
+import mancala.domain.MancalaException;
+import mancala.domain.MancalaImpl;
+
+// public class StartMancala {
+// @POST
+// @Consumes(MediaType.APPLICATION_JSON)
+// @Produces(MediaType.APPLICATION_JSON)
+// public Response initialize(
+// @Context HttpServletRequest request,
+// PlayerInput players) {
+// // var mancala = new MancalaImpl();
+// var mancala = new MancalaImpl(new int[] {0,1,2,3,4,5,6,7,8,9,10,11,12,13});
+// String namePlayer1 = players.getNameplayer1();
+// String namePlayer2 = players.getNameplayer2();
+//
+// HttpSession session = request.getSession(true);
+// session.setAttribute("mancala", mancala);
+// session.setAttribute("player1", namePlayer1);
+// session.setAttribute("player2", namePlayer2);
+//
+// var output = new Mancala(mancala, namePlayer1, namePlayer2);
+// return Response.status(200).entity(output).build();
+// }
+// }
+@Path("/play")
+public class PlayMancala {
+ @POST
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces(MediaType.APPLICATION_JSON)
+ public Response initialize(@Context HttpServletRequest request, PlayInfo playInfo) {
+
+ HttpSession session = request.getSession();
+
+ MancalaImpl mancala = (MancalaImpl) session.getAttribute("mancala");
+ String namePlayer1 = (String) session.getAttribute("player1");
+ String namePlayer2 = (String) session.getAttribute("player2");
+ try {
+ mancala.playPit(playInfo.getIndex());
+ } catch (MancalaException e) {
+ return Response.status(403).build();
+ }
+ var output = new Mancala(mancala, namePlayer1, namePlayer2);
+
+ return Response.status(200).entity(output).build();
+ }
+}
diff --git a/api/src/main/java/mancala/api/StartMancala.java b/api/src/main/java/mancala/api/StartMancala.java
index 7bd2330..62339d7 100644
--- a/api/src/main/java/mancala/api/StartMancala.java
+++ b/api/src/main/java/mancala/api/StartMancala.java
@@ -15,12 +15,13 @@ public class StartMancala {
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response initialize(
- @Context HttpServletRequest request,
+ @Context HttpServletRequest request,
PlayerInput players) {
var mancala = new MancalaImpl();
+ // var mancala = new MancalaImpl(new int[] {40,40,40,40,40,40,40,40,40,40,40,40,40,40});
String namePlayer1 = players.getNameplayer1();
String namePlayer2 = players.getNameplayer2();
-
+
HttpSession session = request.getSession(true);
session.setAttribute("mancala", mancala);
session.setAttribute("player1", namePlayer1);
diff --git a/api/src/main/java/mancala/api/models/PlayInfo.java b/api/src/main/java/mancala/api/models/PlayInfo.java
new file mode 100644
index 0000000..9caca4d
--- /dev/null
+++ b/api/src/main/java/mancala/api/models/PlayInfo.java
@@ -0,0 +1,17 @@
+package mancala.api.models;
+
+public class PlayInfo {
+ int player;
+ int index;
+
+
+
+ public void setPlayer(int player) {this.player = player;}
+ public int getPlayer() {return player;}
+
+ public void setIndex(int index) {
+ this.index = index;
+ }
+ public int getIndex() {return index;}
+
+}