软件工程 - 第三次作业(黄金点游戏)

问题导读:

 

1. 团队介绍以及team work 经验总结

2. 项目介绍以及架构思想

3. 技术分享

 


 

解决方案:

 

1 团队介绍及经验总结

 

1.1 团队成员:

  1. 李鹏霖(http://www.cnblogs.com/lipenglin/
  2. 刘文祥(http://www.cnblogs.com/lwx521/

 

注:工作照片

 

1.2 分工:

 

1.2.1 李:

  1. 项目架构
  2. 前端界面
  3. Ajax 异步交互
  4. 代码整合
  5. 代码复审

1.2.2 刘:

  1. 数据库设计
  2. Servlet 
  3. JDBC
  4. 开发文档

 

1.3 评价:

 

  1. 刘 在开发中能及时完成交给他的任务,在实现过程中有技术盲点他可以很直接的提出并认真查找资料 
  2. 我们可以提前约定好代码规范,一起探讨实现逻辑,定义好前端和后台的接口

 

2 项目介绍

 

2.1 简介:

 

黄金点游戏:

N个同学(N通常大于10),每人写一个0-100之间的有理数 (不包括0或100),交给裁判,裁判算出所有数字的平均值,然后乘以0.618(所谓黄金分割常数),

得到G值。提交的数字最靠近G(取绝对值)的同学得到N分,离G最远的同学得到-2分,其他同学得0分。玩了几天以后,大家发现了一些很有意思的现象,比如黄金点在逐渐地往下移动。

 

2.2 分析:

 

  1. 本项目采用B/S模式开发
  2. 在首页中输入参加游戏人数,初始化比赛界面
  3. 输入玩家名字,输入数据,提交,异步交互提交数据,存入mysql数据库中
  4. 当裁判按下结束游戏键时,向所有人展示比赛结果和历史记录

 

2.3 界面:

 

1. 开始界面

 

2. 游戏界面

 

 

3. 结果界面

 

 

2.4 架构图:

 

项目架构想法(不喜勿喷)

对于开发Java Web 项目,我的想法是能少用框架就少用框架

原因:为什么要使用web框架?我的答案是:让程序猿更好的偷懒(减短开发周期,提高开发效率,易于维护)。当代码量很小,业务逻辑简单时,可以直接

应用框架基于的Servlet、JDBC 等Java WEB底层实现技术,提高项目运行效率

 

 

 

代码托管:https://coding.net/u/peerslee/p/Golden-Point-Game/git

 

3 技术分享

 

3.1 Jsp 中获得页面中input标签value值

 

<form class="form-horizontal" action ='/Gold/index.jsp?number=<%=request.getParameter("number")%>' id="startForm">
        <div class="form-group">
            <label class="col-lg-3 control-label">玩家人数:</label>
            <div class="col-lg-3">
                <input type="text" class="form-control" name="number" id="number">
            </div>
        </div>
    </form>

 

3.2 在另一个页面得到传递的值

 

<input id="n" style="display: none" value='<%=request.getParameter("number") %>'>

 

3.3 Bootstrap 搜索框

 

<form role="form" class="form-inline pull-right" id="query">
                <div class="form-group" style="margin-right:10px">
                    <label> 游戏次数:</label>
                    <input type="text" class="form-control" name="username" id="username">
                </div>
                <div class="form-group">
                    <button type="button" class="btn btn-info" id="querybtn">查询</button>
                </div>
            </form>

 

3.4 Java Math abc() 取绝对值

 

for( int i=0;i<name.length;i++){
      a[i]=java.lang.Math.abs(Double.parseDouble(input[i]));
                    
   }

 

3.5 Java Integer int -> String 

 

score[i]= Integer.toString(name.length);

 

3.6 Java jackson API

 

        ObjectMapper om = new ObjectMapper();
        response.setContentType("text/plain;charset=UTF-8");
        PrintWriter out = response.getWriter();
        out.print(om.writeValueAsString(list));
        out.flush();
        out.close();

 

3.7 JDBC

 

        Connection con = null;
        PreparedStatement pstmt  = null;
        ResultSet rs = null;
        // mysql 驱动
        Class.forName("org.gjt.mm.mysql.Driver");
        con = DriverManager.getConnection("","","");
        pstmt = con.prepareStatement(sql);
        rs= pstmt.executeQuery();
        close            

 

posted @ 2016-10-16 19:26  peerslee2  阅读(258)  评论(0编辑  收藏  举报