做一个内涵丰富、身体健康、思想开放、有毅力的能力者

Java编程实现一个游戏2048

一、游戏介绍
2048是一款全球流行的数字益智游戏,由意大利程序员Gabriele Ciruli于
2014年。该游戏拥有干净的界面和强大的逻辑游戏性,挑战玩家
合并相同编号的瓦片,直到它们达到或超过名义上的2048的目标。
二、游戏界面和基本元素
游戏屏幕由4x4网格组成,其中随机数2或4最初填充单元格。
玩家向上、向下、向左或向右滑动整个网格,使所有瓦片相应地移动。之后
每一张幻灯片,一个新的2或4个瓦片随机出现在一个空单元格中。
III、 详细游戏规则
1.滑动并合并:滑动网格时,所有瓷砖都会朝着选定的方向移动,直到它们
击中边缘或另一块不可移动的瓷砖。如果两个相邻的瓦片具有相同的编号,则它们将
在移动停止后,将其值的总和合并为一个平铺
合并的瓦片也将沿着移动方向移动,直到它不能进一步移动为止。如果有
存在三个相同值的瓦片,它们彼此相邻,最接近的两个块
滑动方向的末端将合并在一起。
2.新瓦片生成:在每个有效幻灯片之后(其中至少一个瓦片改变位置),
游戏将在网格上的任何空白空间中随机生成一个新的2或4瓦片。
3.游戏目标:玩家的目标是连续组合数字瓦片以创建瓦片
其值为2048。虽然理论上可以继续为更高的分数比赛,
达到2048通常被认为是基本胜利条件。
4.游戏结束:当没有更多的移动可用时,游戏结束;当所有
网格上的16个空间被占用,并且没有相邻的瓦片可以被合并。
IV、 项目要求
在这个项目中,您应该完成以下任务:
任务1:游戏初始化(10分)
1.实现游戏的开始框架,玩家可以从各种初始游戏中进行选择
模式,每个模式都允许自定义设置,如不同的启动板布局或
实现不同的目标数量。
2.至少有一种模式必须生成传统的4x4网格,初始状态包含
具有值2的随机放置的瓦片和具有值4的另一个随机瓦片。
3.游戏应允许玩家在游戏过程中随时重新启动新游戏。不
退出程序并再次运行。)
4.在开始新游戏时,游戏数据需要与新游戏保持一致。
5.不同数字的网格应采用不同的颜色。
任务2:多用户登录(15分)1。为来宾和注册用户实现登录选择界面。
2.客人无需注册即可玩游戏,但不具备保存游戏的功能
进步
3.用户登录界面包括注册页面,允许在输入帐户后登录
资格证书
4.程序退出并重新运行后,以前注册的用户仍然可以登录。
任务3:保存和加载游戏(15分)
1.每个用户(客人除外)都可以选择加载他们之前保存的游戏;保存是
单个保存文件,再次保存将覆盖上一次保存(覆盖原始文件
保存是基本要求。如果有多个存储槽,则不会给予额外分数
每个用户实现。)
2.从游戏开始界面,玩家可以选择加载他们的最后一次保存
包含有关经过的游戏时间、游戏板状态和号码的信息
迄今为止所采取的行动。
3.每个用户的保存数据都是唯一的。
4.手动保存是一项基本要求;以定时间隔实现自动保存,或
退出后可以在高级部分获得积分。
5.保存文件错误检查:当保存文件的格式或内容损坏时
保存不会被加载,游戏仍将运行而不是崩溃。(如果你的游戏有能力
检测已被其他人修改的保存文件,同时仍保持
保存数据的合法性,将获得高级积分。)
任务4:游戏(30分)
1.滑动和合并:当玩家滑动矩阵时,所有瓦片都会向幻灯片移动
方向,直到它们碰到边界或不可移动的块。相邻瓷砖相同
幻灯片结束后,数字将与它们的总和合并为一个平铺。
2.按钮控制:界面必须包括上、下、左、右按钮,以便于
在不同的方向上融合。
3.键盘控制:中的合并(上、下、左、右)需要键盘控制
不同的方向。
4.新磁贴生成:在每个有效幻灯片(其中至少有一个磁贴更改位置)之后
游戏将在任何空白处随机生成一个值为2或4的新瓦片。
5.游戏胜利:在经典模式中,目标是通过连续合并达到2048瓦片
数字瓦片。对于不同的模式,您可以设计自己的目标。一旦目标
见面后,显示胜利屏幕。
6.游戏结束:当矩阵上没有更多可移动空间时,即所有可移动空间,游戏结束
16个小区被占用,并且没有相邻的瓦片可以合并。
任务5:图形用户界面(GUI)(10分)
1.使用JavaFX、Swing或任何其他Java实现游戏的图形界面
图形框架。
2.您将根据中提供的演示完成代码,从而获得本节的积分
课程。
3.独立创建GUI将被视为高级积分。
4.如果您的程序需要输入到命令行,则无法获得此任务的满分。
任务6:高级功能(20分)
除上述基本要求外的任何附加功能都将在本节中获得积分
高级类别,包括但不限于:1。增强的图形和美观性
2.人工智能实现高分
3.添加动画合并效果
4.引入限时模式
5.在游戏板上设置障碍物
6.在游戏中添加道具

添加新评论