黄金点游戏
- 游戏描述:黄金点游戏是一个数字小游戏,其游戏规则是N个同学(N通常大于10),每人写一个0-100之间的有理数 (不包括0或100),交给裁判,裁判算出所有数字的平均值,然后乘以0.618(所谓黄金分割常数),得到G值。提交的数字最靠近G(取绝对值)的同学得到N分,离G最远的同学得到-2分,其他同学得0分。玩了几天以后,大家发现了一些很有意思的现象,比如黄金点在逐渐地往下移动。
- 游戏机制设计:采用B/S模式,由客户端发起请求参加游戏,服务端接收请求处理,当满足游戏结算条件的时候向客户端反馈游戏状态和游戏结果,再由客户端展示给用户。
- 项目技术栈:后台采用Java web(Spring,Spring MVC,MyBatis),MySql,前端技术为纯html静态页+ajax交互解析json数据形式,前端页面数据渲染采用MVVM框架vue.js,对服务器状态监听使用ajax轮询方式(本来是该用web socket模式,但是想着时间太急了,对web socket也是不太会就采用轮询监听方式了),整体流程就是----客户端发送数据-->服务端处理请求生产json数据-->服务端解析数据。
- 数据库设计:一个三张表-user,game,gameresult,user用来存放用户信息,每个人的初始游戏分数为100分,game表用来放参加游戏用户信息和参加游戏对应的数据,当满足游戏结算条件时系统自动结算表中的数据并清空数据表,gameresult表用于储存每局游戏结束的数据
数据库创建代码
CREATE TABLE user( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, username VARCHAR(32) NOT NULL, password VARCHAR(32) NOT NULL, score DOUBLE NOT NULL, createdate DATE NOT NULL )
CREATE TABLE game( user_name VARCHAR(32) NOT NULL, guess_number VARCHAR(32) NOT NULL )
CREATE TABLE game( user_name VARCHAR(32) NOT NULL, game_result VARCHAR(32) NOT NULL, user_mark INT NOT NULL, thisscore DOUBLE NOT NULL, thisguess DOUBLE NOT NULL )
时间: 2024-10-12 03:56:03