JAVA 程序设计大
1. 实验内容(40)
1.1 实验简介
《黄金矿工》是一款经典的益智类小游戏。游戏以挖矿为主题,属于策略型单机或联机游戏。本次实验要求完成一个网络联机版的黄金矿工游戏。具体玩法如下:
1) 游戏有 2 个玩家,通过网络 socket 通信,进行协同挖矿。每位玩家均有一个钩子,钩子初始状态为水平状态,按照重力作用进行摆动。玩家通过↓按键控制出钩动作。如果钩子勾到物体,则将物体直线带回,否则钩子直线原路返回。
2) 物体包括黄金,石头,”?”口袋以及干扰物。黄金分为大、中、小三种,分别价值 500,200 和 100。石头只分为 1 种,价值为 20。”?”口袋只分为 1 种, 价值为 0-1000 的随机数。干扰物进行水平的往返移动,价值为 5。各种物品的带回速度自定义,但要求速度均不相同,且均大于 1s。
3) 游戏倒计时 60s,当时间结束时,显示双方玩家的总成绩。
1.2 基本要求(30)
l 图形用户界面(16)
每次游戏开始时,自动生成物品布局。布局要求物品之间无接触,且至少包含 5 个黄金,4 个石头,3 个干扰物和 2 个”?”口袋。
实现可以参考下图:
image.png
打分标准:
1) 界面功能实现(6)
包括黄金、石头、“?”口袋(1),水平移动的干扰物(1),按照重力摆动的钩子(1),每次自动生成布局且互相不重叠(2),计分界面和倒计时界面(1)。
2) 美观度(4)
界面美观(3),界面布局能够适应各种不同的窗口大小(1)。 3)功能要求(6)
游戏操作流程,有良好的响应速度,无闪烁情况,没有 bug。每发现 1 个 bug 扣掉 1 分,扣完 6 分为止。
l 事 件 处 理 (4) 1)键盘按键响应(2) 2)碰撞检测(2)
l 网络编程(6)
1) 使用 socket 实现网络通信(3)
2) 客户端状态同步策略(3) 网络通信在同一台机器上测试。
l 其 他 功 能 (4) 1)支持开始、暂停、继续(3)
2)支持统计每个玩家得分以及总分,并实时显示(1)
1.3 提高要求(4)
l 声音和音效(2) 背景音乐和出钩音效
l 读写文件(2)
将单个用户的得分和用户总分保存在文件中,每次游戏结束后,分别显示单个玩家得分和玩家总分历史前五名,排序先按照得分,后按照时间排序。
1.4 实验报告(6)
l 实现的功能点
l 界面设计
l 类和模块的设计
l 网络通信
l 状态同步策略
l ……
2. 实验要求
l 只能使用 java 语言
l 每个人单独一组,不允许抄袭,如发现抄袭记 0 分
l 认真编写实验报告
l 截止时间为第 16 周周日,每迟交一天扣 10,迟交一周记 0 分,不接受成绩复议。(迟交的同学只允许在补交窗口提交,如果在大窗口提交,按照大窗口提交的判分)
3. 提交要求
l JAVA 工程及源代码,放置在 code 文件夹中
l 可以双击直接运行的 jar 包,放置在根目录(非常重要,缺少 jar 包,总分– 10)
l 简单的操作说明(也可以在实验报告中说明)
案例CS之JAVA 程序设计大《黄金矿工》IT案例
2018-10-07