package ${package};
import java.util.Random;
import edu.vserver.exercises.math.essentials.layout.AbstractMathState;
import fi.utu.ville.standardutils.Localizer;
public class ${VilleJavaClassPrefix}State extends
AbstractMathState<${VilleJavaClassPrefix}Data, ${VilleJavaClassPrefix}Problem> {
private static final long serialVersionUID = -8617477584787810586L;
private ${VilleJavaClassPrefix}Data data;
public ${VilleJavaClassPrefix}State(${VilleJavaClassPrefix}Data data, Localizer localizer) {
super(data, localizer);
}
@Override
protected int loadDataAndGetAmount(${VilleJavaClassPrefix}Data data) {
this.data = data;
return data.getAmount();
}
@Override
protected ${VilleJavaClassPrefix}Problem createProblem() {
Random generator = new Random();
int[] numbers = new int[]{generator.nextInt(data.getLimit(1)),generator.nextInt(data.getLimit(2))};
int answer = numbers[0]+numbers[1];
if(data.giveAnswersAlwaysAsNegative()) {
answer = -Math.abs(answer);
}
${VilleJavaClassPrefix}Answer correctAnswer = new ${VilleJavaClassPrefix}Answer(answer+"");
${VilleJavaClassPrefix}Problem problem = new ${VilleJavaClassPrefix}Problem(numbers[0]+"+"+numbers[1]);
problem.setCorrectAnswer(correctAnswer);
return problem;
}
}