Browse Source

Merge origin/master

master
Edi 5 years ago
parent
commit
62830e92a6
1 changed files with 37 additions and 25 deletions
  1. 37
    25
      src/java/Game.java

+ 37
- 25
src/java/Game.java View File

import java.io.FileReader; import java.io.FileReader;
import java.io.IOException; import java.io.IOException;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL; import java.net.URL;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.net.HttpURLConnection; import java.net.HttpURLConnection;
import java.util.Map; import java.util.Map;
import java.util.Objects;
import javax.json.stream.JsonGenerationException; import javax.json.stream.JsonGenerationException;
public class Game { public class Game {
private static ArrayList<String> story = new ArrayList<String>(); private static ArrayList<String> story = new ArrayList<String>();
private static ArrayList<Item> items = new ArrayList<Item>(); private static ArrayList<Item> items = new ArrayList<Item>();
private static ArrayList<Puzzle> puzzles = new ArrayList<Puzzle>(); private static ArrayList<Puzzle> puzzles = new ArrayList<Puzzle>();
private String deviceId = null;
private boolean stoppFlag = false; private boolean stoppFlag = false;
//TODO: Define path! //TODO: Define path!
File file = new File("game.JSON"); File file = new File("game.JSON");
if(!file.exists())
{
PrintWriter writer = new PrintWriter("game.JSON", "UTF-8");
writer.println("{\\nroom\\n:[{\\nid\\n:0,\\nname\\n:\\nIntro\\n,\\ndescription\\n:\\nHier ist das Intro von Kidnappd\\n,\\ngameoverFlag\\n:false,\\nitems\\n:[],\\npuzzles\\n:[0]},{\\nid\\n:1,\\nname\\n:\\nKeller\\n,\\ndescription\\n:\\nder kleine Mondschein, der zuvor den unbekannten Raum schwach beleuchtet hat, leuchtet viel gr��er und viel heller und du erkennst nun den gesamten Raum. Er ist klein und d�ster. überall h�ngen Spinnennetze und Staub sammelt sich am Betonboden. Du erkennst am anderen Ende des Raumes eine T�r\\n,\\ngameoverFlag\\n:false,\\nitems\\n:[0,1],\\npuzzles\\n:[1,2]}],\\npuzzle\\n:[{\\nid\\n:0,\\nname\\n:\\nDurchgang\\n,\\nitems\\n:[],\\ndescription\\n:\\nAusgang Intro Level\\n,\\nsolved\\n:false,\\nsolvedText\\n:\\nHurra, du hast es geschafft\\n,\\ngameOverFlag\\n:false,\\nnextRoom\\n:null,\\ndependencyText\\n:null,\\ndependency\\n:null},{\\nid\\n:1,\\nname\\n:\\nTuer\\n,\\nitems\\n:[1],\\ndescription\\n:\\nAusgang aus dem Keller\\n,\\nsolved\\n:false,\\nsolvedText\\n:\\nGeschafft! Die Tuer ist offen. Das Intro ist nun beendet\\n,\\ngameOverFlag\\n:true,\\nnextRoom\\n:null,\\ndependencyText\\n:null,\\ndependency\\n:null},{\\nid\\n:2,\\nname\\n:\\nSchloss\\n,\\nitems\\n:[0],\\ndescription\\n:\\nEs ist ein altes Schloss aus Metall, dass eine Einkerbung f�r einen Schl�ssel hat\\n,\\nsolved\\n:false,\\nsolvedText\\n:\\nJa, es hat funktioniert! Mit einem Knacksen geht das Schloss auf und du kannst dich von deiner Beinfessel befreien. \\n,\\ngameOverFlag\\n:false,\\nnextRoom\\n:null,\\ndependencyText\\n:null,\\ndependency\\n:null}],\\nitem\\n:[{\\nid\\n:1,\\nname\\n:\\nStahlschluessel\\n,\\nportableFlag\\n:true,\\nhiddenFlag\\n:false,\\ndescription\\n:\\nEin Stahlschlüssel\\n},{\\nid\\n:0,\\nname\\n:\\nSchluessel\\n,\\nportableFlag\\n:true,\\nhiddenFlag\\n:false,\\ndescription\\n:\\nDer Schlüssel ist kalt und klein. Vielleicht hast du Glück und er passt ins Schloss. Versuche es zu öffnen!\\n}],\\nstory\\n:[\\nDein ganzer K�rper schmerzt, du liegst auf Betonboden. Du f�ngst laut an zu husten und Staubklumpen fliegen aus deinem Mund. Du �ffnest langsam und nur schwer die Augen, doch es ist fast gar nichts zu sehen. Die einzige Lichtquelle ist ein kleines Fenster �ber dir, durch die ein schwacher Mondschein f�llt. Es ist also Nachts... Langsam versuchst du dich an die fast komplette Dunkelheit zu gew�hnen und erkennst, dass du dich in einem kleinen dir unbekannten Raum befindest. Dich packt die Angst! Was ist passiert, wo bist du und wie bist du hier gelandet?Du nimmst die Stahlkette in die Hand. Sie ist schwer und verrostet. Mit den H�nden tastest du dich voran bis an die Heizung, wo du ein Schloss an der Kette entdeckst.Das Mondlicht ist nur sehr schwach, um den Raum zu begutachten. Du gehst in die Knie und tastest mit deinem H�nden wild und in Panik am Betonboden. Pl�tzlich st��t du auf einen kleinen Gegenstand, der sich tats�chlich anf�hlt wie ein Schl�ssel. Du solltest ihn aufheben\\n]}");
writer.close();
}
try { try {
FileReader fr = new FileReader(file); FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr); BufferedReader br = new BufferedReader(fr);
// TODO Auto-generated catch block // TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
} }
log("Keyset:" + jsonMap.keySet().toString());
return jsonMap; return jsonMap;
} catch (FileNotFoundException e1) { } catch (FileNotFoundException e1) {
return null; return null;
} }
public String getId()
{
return deviceId;
}
public void setVariables() throws Exception { public void setVariables() throws Exception {
readJSON(); readJSON();
log(readJSON().toString());
log("Readjson fertig"); log("Readjson fertig");
currentRoom = rooms.get(0); currentRoom = rooms.get(0);
stoppFlag = false; stoppFlag = false;
inventory = new ArrayList<>(); inventory = new ArrayList<>();
Room[] ro = objectMapper.readValue(jsonStringRoom, Room[].class); Room[] ro = objectMapper.readValue(jsonStringRoom, Room[].class);
log("Room Array OK"); log("Room Array OK");
for (int i = 0; i < ro.length; i++) {
log("Room: " + ro[i].getName());
log("Description: " + ro[i].getDescription());
for (Room ro1 : ro) {
log("Room: " + ro1.getName());
log("Description: " + ro1.getDescription());
} }
for (int i = 0; i < it.length; i++) {
log("Item: " + it[i].getName());
log("Description: " + it[i].getDescription());
for (Item it1 : it) {
log("Item: " + it1.getName());
log("Description: " + it1.getDescription());
} }
for (int i = 0; i < pu.length; i++) {
log("Puzzle: " + pu[i].getName());
log("Description: " + pu[i].getDescription());
log("DependencyText: " + pu[i].getDependencyText());
for (Puzzle pu1 : pu) {
log("Puzzle: " + pu1.getName());
log("Description: " + pu1.getDescription());
log("DependencyText: " + pu1.getDependencyText());
} }
for (int i = 0; i < st.length; i++) {
log("Story: " + st[i]);
for (String st1 : st) {
log("Story: " + st1);
} }
} }
} }
break; break;
case "resumeintent":
log("Switch: ResumeIntent");
break;
} }
itemName = null; itemName = null;
// Send post request // Send post request
httpConn.setDoOutput(true); httpConn.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(httpConn.getOutputStream());
String urlParameters = "log=" + s;
wr.writeBytes(urlParameters);
wr.flush();
wr.close();
try (DataOutputStream wr = new DataOutputStream(httpConn.getOutputStream())) {
String urlParameters = "log=" + s;
wr.writeBytes(urlParameters);
wr.flush();
}
BufferedReader in = new BufferedReader( BufferedReader in = new BufferedReader(
new InputStreamReader(httpConn.getInputStream())); new InputStreamReader(httpConn.getInputStream()));
log("inspect(" + currentPuzzle.getName() + ")"); log("inspect(" + currentPuzzle.getName() + ")");
for (int i = 0; i < currentRoom.getItems().size(); i++) { for (int i = 0; i < currentRoom.getItems().size(); i++) {
if (currentRoom.getPuzzles().get(i) == currentPuzzle.getId()) {
if (Objects.equals(currentRoom.getPuzzles().get(i), currentPuzzle.getId())) {
say(currentPuzzle.getDescription()); say(currentPuzzle.getDescription());
} }
} }
log("inspect(" + currentItem.getName() + ")"); log("inspect(" + currentItem.getName() + ")");
for (int i = 0; i < currentRoom.getItems().size(); i++) { for (int i = 0; i < currentRoom.getItems().size(); i++) {
if (currentRoom.getItems().get(i) == currentItem.getId()) {
if (Objects.equals(currentRoom.getItems().get(i), currentItem.getId())) {
say(currentItem.getDescription()); say(currentItem.getDescription());
} }
} }

Loading…
Cancel
Save