/*
* Copyright 2001-2008 Geert Bevin <gbevin[remove] at uwyn dot com>
* Licensed under the Apache License, Version 2.0 (the "License")
* $Id: NumberGuess.java 3918 2008-04-14 17:35:35Z gbevin $
*/
package com.uwyn.rife.engine.testelements.continuations;
import com.uwyn.rife.engine.Element;
import com.uwyn.rife.template.Template;
import java.util.Calendar;
import java.util.Random;
public class NumberGuess extends Element
{
private static Random sRandomNumbers = new Random();
public void processElement()
{
Template template = getHtmlTemplate("engine_continuation_numberguess_guess");
Calendar start = Calendar.getInstance();
int answer = 0;
int guesses = 0;
synchronized (this)
{
answer = sRandomNumbers.nextInt(101);
}
int guess = -1;
while (guess != answer)
{
print(template);
pause();
guess = getParameterInt("guess", -1);
if (guess < 0 || guess > 100)
{
template.setBlock("warning", "invalid");
continue;
}
guesses++;
if (answer < guess)
{
template.setBlock("indication", "lower");
}
else if (answer > guess)
{
template.setBlock("indication", "higher");
}
}
Calendar now = Calendar.getInstance();
long duration_milliseconds = now.getTime().getTime()-start.getTime().getTime();
long duration_seconds = duration_milliseconds / 1000;
// output the details of the played game
template = getHtmlTemplate("engine_continuation_numberguess_success");
template.setValue("answer", answer);
template.setValue("guesses", guesses);
template.setValue("duration", duration_seconds);
print(template);
}
}