Skip to content
This repository has been archived by the owner on Jun 19, 2020. It is now read-only.

Commit

Permalink
Fix review issues and merge branch 'sprint2' into fft5woosh
Browse files Browse the repository at this point in the history
closes #27
closes #29
closes #34
closes #35
closes #38

(sorry for doing so much stuff at once)
  • Loading branch information
Bergmaier committed Dec 10, 2018
2 parents ede60e1 + bc1fd67 commit 18837f6
Show file tree
Hide file tree
Showing 19 changed files with 702 additions and 470 deletions.
12 changes: 6 additions & 6 deletions .classpath
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,6 @@
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
Expand All @@ -32,5 +26,11 @@
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>
314 changes: 309 additions & 5 deletions .settings/org.eclipse.jdt.core.prefs

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions .settings/org.eclipse.jdt.ui.prefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
eclipse.preferences.version=1
formatter_profile=_Reisequiz
formatter_settings_version=13
55 changes: 13 additions & 42 deletions models/de-DE.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,20 @@
{
"interactionModel": {
"languageModel": {
"invocationName": "meinquiz",
"invocationName": "reisequiz",
"intents": [
{
"name": "AMAZON.CancelIntent",
"samples": []
},
{
"name": "AMAZON.YesIntent",
"samples": []
},
{
"name": "AMAZON.NoIntent",
"samples": []
},
{
"name": "AMAZON.HelpIntent",
"samples": []
Expand All @@ -16,20 +24,6 @@
"samples": []
},
{
"name": "QuizEndIntent",
"slots": [
{
"name" : "EndContinue",
"type" : "EndContinuekeyword"
}
],
"samples": [
"{EndContinue}",
"Spiel {EndContinue}",
"{EndContinue} spielen"
]
},
{
"name": "StartQuizIntent",
"slots": [
{
Expand Down Expand Up @@ -76,8 +70,7 @@
]
},
{
"name": "RepeatIntent",
"slots": [],
"name": "AMAZON.RepeatIntent",
"samples": [
"wiederhole",
"nochmal",
Expand All @@ -103,7 +96,7 @@
{
"id": "0",
"name": {
"value": "A",
"value": "a. ",
"synonyms": [
"Erste",
"Erstes"
Expand All @@ -113,7 +106,7 @@
{
"id": "1",
"name": {
"value": "B",
"value": "b. ",
"synonyms": [
"Zweite",
"Zweites"
Expand All @@ -123,7 +116,7 @@
{
"id": "2",
"name": {
"value": "C",
"value": "c. ",
"synonyms": [
"Dritte",
"Drittes"
Expand Down Expand Up @@ -154,28 +147,6 @@
}
}
]
},
{
"name": "EndContinuekeyword",
"values":[

{
"name" : {
"value": "weiter"
}
},
{
"name" : {
"value": "ende"
}
},
{
"name" : {
"value": "beenden"
}
}

]
}
]
}
Expand Down
28 changes: 6 additions & 22 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,11 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>alexa-skills-kit-samples</groupId>
<groupId>edu.hm.cs.2018</groupId>
<artifactId>reisequiz</artifactId>
<packaging>jar</packaging>
<version>1.0</version>
<name>reisequiz</name>
<url>http://developer.amazon.com/ask</url>
<licenses>
<license>
<name>The Apache License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
<developers>
<developer>
<name>Alexa Skills Kit</name>
<email>ask-sdk-java@amazon.com</email>
<organization>Alexa</organization>
<organizationUrl>http://developer.amazon.com/ask</organizationUrl>
</developer>
</developers>
<scm>
<connection>scm:git:https://github.com/amzn/alexa-skills-kit-java.git</connection>
<developerConnection>scm:git:https://github.com/amzn/alexa-skills-kit-java.git</developerConnection>
<url>https://github.com/amzn/alexa-skills-kit-java.git</url>
</scm>

<dependencies>
<dependency>
Expand Down Expand Up @@ -66,10 +46,14 @@
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.5</version>
</dependency>
</dependencies>

<build>
<!-- <sourceDirectory>src</sourceDirectory> -->
<pluginManagement>
<plugins>
<plugin>
Expand Down
8 changes: 5 additions & 3 deletions src/main/java/quiz/QuizStreamHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,11 @@
import quiz.handlers.FallbackIntentHandler;
import quiz.handlers.HelpIntentHandler;
import quiz.handlers.LaunchRequestHandler;
import quiz.handlers.QuizEndIntentHandler;
import quiz.handlers.RepeatIntentHandler;
import quiz.handlers.SelectAnswerIntentHandler;
import quiz.handlers.SessionEndedRequestHandler;
import quiz.handlers.CancelandStopIntentHandler;
import quiz.handlers.EndRoundIntentHandler;
import quiz.handlers.StartQuizIntentHandler;

public class QuizStreamHandler extends SkillStreamHandler {
Expand All @@ -33,11 +34,12 @@ private static Skill getSkill() {
new LaunchRequestHandler(),
new StartQuizIntentHandler(),
new SelectAnswerIntentHandler(),
new RepeatIntentHandler(),
new EndRoundIntentHandler(),
new CancelandStopIntentHandler(),
new SessionEndedRequestHandler(),
new HelpIntentHandler(),
new FallbackIntentHandler(),
new QuizEndIntentHandler())
new FallbackIntentHandler())
// Add your skill id below
//.withSkillId("")
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public boolean canHandle(HandlerInput input) {
@Override
public Optional<Response> handle(HandlerInput input) {
return input.getResponseBuilder()
.withSpeech("Auf Wiedersehen")
.withSpeech("Schade, dass du nicht mehr mit mir spielen willst. Bis zum nächsten mal.")
.build();
}
}
70 changes: 70 additions & 0 deletions src/main/java/quiz/handlers/EndRoundIntentHandler.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
package quiz.handlers;

import static com.amazon.ask.request.Predicates.intentName;

import java.util.Map;
import java.util.Optional;
import java.util.Random;

import com.amazon.ask.dispatcher.request.handler.HandlerInput;
import com.amazon.ask.dispatcher.request.handler.RequestHandler;
import com.amazon.ask.model.Response;

import quiz.model.QuizRound;

public class EndRoundIntentHandler implements RequestHandler {
@Override
public boolean canHandle(HandlerInput input) {
if (input.matches(intentName("AMAZON.YesIntent").or(intentName("AMAZON.NoIntent")))) {
Map<String, Object> sessionAttributes = input.getAttributesManager().getSessionAttributes();
QuizRound round = QuizRound.fromSessionAttributes(sessionAttributes);

return round.isComplete() && round.askedQuestions.length == 0;
}
return false;
}

@Override
public Optional<Response> handle(HandlerInput input) {
StringBuilder speechText = new StringBuilder();
Map<String, Object> sessionAttributes = input.getAttributesManager().getSessionAttributes();
QuizRound round = QuizRound.fromSessionAttributes(sessionAttributes);

if (input.matches(intentName("AMAZON.NoIntent"))) {
speechText.append(" Ok. Dann sag ich " + (round.players.length == 1 ? "dir noch dein" : "euch noch euer") + " Level. ");
for (int i=0; i<round.players.length; i++) {
if (round.players[i].score == 0) {
speechText.append("Schade "+ round.players[i].name +", du hast leider keine Frage richtig beantwortet. "
+ "Versuch es doch gleich noch einmal. "
+ "Beim nächsten mal klappt's bestimmt besser. "
+ "Hier dein Level: "
+ "Du bist ein Tourist");
} else if (round.players[i].score == 1) {
speechText.append("Schade "+ round.players[i].name +". "
+ "Versuch es doch gleich noch einmal. "
+ "Beim nächsten mal klappt's bestimmt besser. "
+ "Hier dein Level: "
+ "Du bist ein Tourist");
} else if (round.players[i].score == 2 || round.players[i].score == 3) {
speechText.append(round.players[i].name +", Du musst noch ein bisschen üben. Hier dein Level: "
+ "Du bist ein Zugezogener");
} else if (round.players[i].score == 4) {
speechText.append("Super "+round.players[i].name +". Das ist schon richtig gut. Hier dein Level: "
+ "Du bist ein Stadtführer");
} else if(round.players[i].score == 5) {
speechText.append("Sehr gut"+ round.players[i].name +", du hast alle Fragen richtig beantwortet! Du weißt ja wirklich alles."
+ " Hier ist dein Level: Du bist ein Einheimischer");
}
}
return input.getResponseBuilder().withSpeech(speechText.toString()).withShouldEndSession(true).build();
} else {
String[] yeah = new String[] {"Großartig! ", "Spitze! ", "Toll! "};
int num = new Random().nextInt(yeah.length);
speechText.append(yeah[num]);
// TODO: Möchtest du weitere Fragen zu [REGION] spielen oder dir eine neue Region aussuchen?
round.askNewQuestion(speechText);
round.intoSessionAttributes(sessionAttributes);
return input.getResponseBuilder().withSpeech(speechText.toString()).withReprompt(speechText.toString()).build();
}
}
}
3 changes: 1 addition & 2 deletions src/main/java/quiz/handlers/HelpIntentHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,10 @@ public Optional<Response> handle(HandlerInput input) {
+ "Für jede korrekte Antwort erhältst du Punkte. "
+ "Wähle die Anzahl der Spieler wenn du das Quiz startest.\n "
+ "Du kannst alleine oder in einer Gruppe von bis zu fünf Spielern spielen.";
String repromptText = " Du kannst jetzt die Spieleranzahl, bzw. Antwort eingeben.";
return input.getResponseBuilder()
.withSimpleCard("ColorSession", speechText)
.withSpeech(speechText)
.withReprompt(repromptText)
.withReprompt(speechText)
.withShouldEndSession(false)
.build();
}
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/quiz/handlers/LaunchRequestHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public boolean canHandle(HandlerInput input) {

@Override
public Optional<Response> handle(HandlerInput input) {
String speechText = "Hallo. Willkommen zum Reisequiz 0.0.5. Wieviele Spieler sollen mitspielen?";
String speechText = "Hallo. Willkommen zum Reisequiz 0.1.2. Wieviele Spieler sollen mitspielen?";
String repromptText = "Wieviele Spieler sollen mitspielen?";

return input.getResponseBuilder()
Expand Down
Loading

0 comments on commit 18837f6

Please sign in to comment.