Kryds og bolle spil
hej jeg har her en gammel opgave , hvordan laver jeg den om så jeg kan lave et GUI-program ud af det?package krydsogbolle;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2002</p>
* <p>Company: </p>
* @author unascribed
* @version 1.0
*/
public class felt {
// Værdi kan være 0(ikke udfyldt), 1(kryds), 2(bolle)
private int feltvaerdi;
public felt(int feltvaerdi) {
setFeltvaerdi(feltvaerdi);
}
public void setFeltvaerdi(int feltvaerdi) { this.feltvaerdi = feltvaerdi; }
public int getFeltvaerdi() { return this.feltvaerdi; }
public String toString() {
if (this.feltvaerdi == 0) { return "tom"; }
if (this.feltvaerdi == 1) { return "kryds"; }
if (this.feltvaerdi == 2) { return "bolle"; }
return "";
}
}
package krydsogbolle;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2002</p>
* <p>Company: </p>
* @author unascribed
* @version 1.0
*/
public class spil {
// [x][y]
private felt[][] matrix = new felt[3][3];
public spil() {
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 3; j++) {
matrix[i][j] = new felt(0);
}
}
}
public void setFelt(int x, int y, int feltvaerdi) { this.matrix[x][y].setFeltvaerdi(feltvaerdi); }
public felt getFelt(int x, int y) { return matrix[x][y]; }
public boolean vundet() {
if( (matrix[0][0].getFeltvaerdi() == 1 && matrix[0][1].getFeltvaerdi() == 1 && matrix[0][2].getFeltvaerdi() == 1) ||
(matrix[0][0].getFeltvaerdi() == 2 && matrix[0][1].getFeltvaerdi() == 2 && matrix[0][2].getFeltvaerdi() == 2) )
return true;
if( (matrix[0][1].getFeltvaerdi() == 1 && matrix[1][1].getFeltvaerdi() == 1 && matrix[1][2].getFeltvaerdi() == 1) ||
(matrix[0][1].getFeltvaerdi() == 2 && matrix[1][1].getFeltvaerdi() == 2 && matrix[1][2].getFeltvaerdi() == 2) )
return true;
if( (matrix[0][2].getFeltvaerdi() == 1 && matrix[1][2].getFeltvaerdi() == 1 && matrix[2][2].getFeltvaerdi() == 1) ||
(matrix[0][2].getFeltvaerdi() == 2 && matrix[1][2].getFeltvaerdi() == 2 && matrix[2][2].getFeltvaerdi() == 2) )
return true;
if( (matrix[0][0].getFeltvaerdi() == 1 && matrix[1][0].getFeltvaerdi() == 1 && matrix[2][0].getFeltvaerdi() == 1) ||
(matrix[0][0].getFeltvaerdi() == 2 && matrix[1][0].getFeltvaerdi() == 2 && matrix[2][0].getFeltvaerdi() == 2) )
return true;
if( (matrix[1][0].getFeltvaerdi() == 1 && matrix[1][1].getFeltvaerdi() == 1 && matrix[2][1].getFeltvaerdi() == 1) ||
(matrix[1][0].getFeltvaerdi() == 2 && matrix[1][1].getFeltvaerdi() == 2 && matrix[2][1].getFeltvaerdi() == 2) )
return true;
if( (matrix[2][0].getFeltvaerdi() == 1 && matrix[2][1].getFeltvaerdi() == 1 && matrix[2][2].getFeltvaerdi() == 1) ||
(matrix[2][0].getFeltvaerdi() == 2 && matrix[2][1].getFeltvaerdi() == 2 && matrix[2][2].getFeltvaerdi() == 2) )
return true;
if( (matrix[0][0].getFeltvaerdi() == 1 && matrix[1][1].getFeltvaerdi() == 1 && matrix[2][2].getFeltvaerdi() == 1) ||
(matrix[0][0].getFeltvaerdi() == 2 && matrix[1][1].getFeltvaerdi() == 2 && matrix[2][2].getFeltvaerdi() == 2) )
return true;
if( (matrix[2][0].getFeltvaerdi() == 1 && matrix[1][1].getFeltvaerdi() == 1 && matrix[0][2].getFeltvaerdi() == 1) ||
(matrix[2][0].getFeltvaerdi() == 2 && matrix[1][1].getFeltvaerdi() == 2 && matrix[0][2].getFeltvaerdi() == 2) )
return true;
return false;
}
}
package krydsogbolle;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2002</p>
* <p>Company: </p>
* @author unascribed
* @version 1.0
*/
public class kobspil extends HttpServlet {
private static final String CONTENT_TYPE = "text/html";
private static final String DOC_TYPE = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n" +
" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">";
//Initialize global variables
public void init() throws ServletException {
}
//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();
spil mitSpil;
Boolean kryds;
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
if (session.isNew()) {
session.setAttribute("mitSpil", mitSpil = new spil());
kryds = new Boolean(true);
session.setAttribute("kryds", new Boolean(!kryds.booleanValue()));
}
else {
mitSpil = (spil) session.getAttribute("mitSpil");
int x = Integer.parseInt(request.getParameter("x"));
int y = Integer.parseInt(request.getParameter("y"));
int feltvaerdi = Integer.parseInt(request.getParameter("feltvaerdi"));
mitSpil.setFelt(x, y, feltvaerdi);
kryds = (Boolean) session.getAttribute("kryds");
session.setAttribute("kryds", new Boolean(!kryds.booleanValue()));
}
out.println("<?xml version=\"1.0\"?>");
out.println(DOC_TYPE);
out.println("<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"da\" lang=\"da\">");
out.println("<head><title>kobspil</title></head>");
out.println("<body>");
out.println("<table border=\"1\">");
int bolleEllerKryds = 0;
for(int y = 0; y < 3; y++) {
out.println("<tr>");
for(int x = 0; x < 3; x++) {
out.println("<td>");
if (kryds.booleanValue()) { bolleEllerKryds = 1; } else { bolleEllerKryds = 2; }
if (mitSpil.getFelt(x, y).getFeltvaerdi() == 0) { out.print("<a href=\"kobspil?x=" + x + "&y=" + y + "&feltvaerdi=" + bolleEllerKryds + "\">"); }
out.print(mitSpil.getFelt(x, y).toString());
if (mitSpil.getFelt(x, y).getFeltvaerdi() == 0) { out.println("</a>"); }
out.println("</td>");
}
out.println("</tr>");
}
out.println("</table>");
if( mitSpil.vundet() )
out.println("Du har vundet");
out.println("</body></html>");
}
//Clean up resources
public void destroy() {
}
}
