import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; import org.jwig.*; import dk.brics.xact.*; public class GuessingGamePlay extends SessionThread { public XML main() throws IOException, ServletException { XML wrapper = XML.loadConstant("GuessingGameWrapper.xml"); XML form = [[
]]; ServletContext c = getServletContext(); Integer plays = (Integer)c.getAttribute("plays"); if (plays==null) plays = new Integer(0); else plays = new Integer(plays.intValue()+1); c.setAttribute("plays", plays); int number = (new Random()).nextInt(100)+1; show(wrapper.plug("BODY", [[Please guess a number between 1 and 100: <{form}>]])); int guesses = 1; boolean done = false; while (!done) { int guess = Integer.parseInt(getParameter("guess")); if (guess==number) done = true; else { show(wrapper.plug("BODY", [[ That is not correct. Try a <{(guess>number)?"lower":"higher"}> number: <{form}> ]])); guesses++; } } XML msg = [[You got it, using <{guesses}> guesses.]]; XML thanks = [[Thank you for playing this exciting game!]]; XML res; if (guesses

That makes you the new record holder!

Please enter your name for the hi-score list:

]])); synchronized(c) { if (guesses

<{thanks}>]]); return res; } int getCurrentRecord() { Integer record = (Integer)c.getAttribute("record"); if (record!=null) return record.intValue(); else return Integer.MAX_VALUE; // no players yet } }