刚刚帮别人做了一个大作业,是写一个猜数字的MVC基本架构的小游戏。
时间:2小时。
难易程度:中
难点:随机数的产生次数,以及技术功能的实现。
下面是代码:
shuzi.jsp
<%@ page language="java" pageEncoding="UTF-8"
contentType="text/html;charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
<title>猜数字</title>
</head>
<body>
<form method="post"
action="${pageContext.request.contextPath}/Control">
<br>
<br>
<br>
<br>
<strong><font size="5">猜数字(请输入100以内的整数)
</strong>
<br>
${result }
<table align="center" width="300" height="50" border="1">
<tr>
<td align="center">
请输入数字:
</td>
<td>
<input type="text" name="text1">
</td>
</tr>
<tr>
<td align="center" colspan="2">
<input type="submit" value="提交" name="button1">
</td>
</tr>
</table>
</form>
<%
request.setCharacterEncoding("UTF-8");
%>
<c:choose>
<c:when test="${count>0}">您猜了${count }次</c:when>
</c:choose>
</font>
</body>
</html>
fm.action包
Control.java
package fm.action;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import fm.service.caishu;
import fm.service.random;
public class Control extends HttpServlet {
int count = 0;
int random = 0;
int num;
String result = null;
random r = new random();
caishu c = new caishu();
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
request.setCharacterEncoding("UTF-8");
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
request.setCharacterEncoding("UTF-8");
int cai = Integer.parseInt(request.getParameter("text1"));
// 只生成一个随机数
if (random == 0) {
num = r.randomNum();
System.out.println(num);
random++;
}
result = c.caishu(cai, num,count);
++count;
request.setAttribute("count", count);
request.setAttribute("result", result);
request.getRequestDispatcher("./shuzi.jsp").forward(request, response);
}
}
fm.service包
caishu.java
package fm.service;
import java.util.*;
import java.io.*;
public class caishu {
String result;
public String caishu(int cai, int a, int b) {
if (cai > a) {
result = "请输入小点的数";
return result;
} else if (cai < a) {
result = "请输入大点的数";
return result;
} else {
if (b <=2) {
result = "猜对了,你真是个天才!";
return result;
} else if (b < 6) {
result = "还将就,你过关了!";
return result;
} else if (b < 8 ) {
result = "但是你还……真笨!";
return result;
} else {
result = "你和猪没有两样了!";
return result;
}
}
}
}
random.java
package fm.service;
import java.util.*;
import java.io.*;
public class random {
public int randomNum() {
Random a=new Random();
int num=a.nextInt(100);
return num;
}
}
完毕。