2048游戏学习报告
姓名:王浩
专业:计算机科学与技术
年级:15级4班
学号:201510411420
目录
一. 前言 3
二. 对游戏的简要分析 3
1. 游戏的定位分析 3
2. 游戏的构造分析及对应代码 3
3.游戏操作分析及其代码 5
3游戏结束及代码 12
三. 运行结果 13
五.自我总结 13
一. 前言
这学期开设了软件工程这门课程,但是由于自己的能力有限,未能在团队项目中做出足够的贡献,于是上网找了一个2048代码,对其进行分析、解读、学习。因为本人对2048游戏还是比较喜欢的,所以选择了该游戏作为本次学习报告的学习对象。
二. 对游戏的简要分析
1. 游戏的定位分析
2048游戏是一款主要应用在移动端的游戏,所以需要提高游戏的操作可行性,降低游戏的操作难度,降低游戏的上手难度,对使用设备的要求趋于简单化和多样化,游戏界面更加人性化,功能更加贴合使用。
2. 游戏的构造分析及对应代码
首先要设置标题——“2048”、窗口的大小以及窗口的起始位置,然后设定背景的颜色、label字体。详细代码如下:
import javax.swing.*;
import java.awt.*;
public class Block extends JLabel
{
private int value;
public Block()
{
value = 0;//初始化值为0
setFont(new Font("font", Font.PLAIN, 40));//设定字体
setBackground(Color.gray);//设定初始颜色为灰色
}
public int getValue()//获取值
{
return value;
}
public void setValue(int value)
{
this.value = value;
String text = String.valueOf(value);
if (value != 0)
setText(text);
else
setText("");//如果值为0则不显示
setColor();
}
public void setColor()//根据值的不同设定不同的背景颜色、label字体
{
switch (value)
{
case 0:
setBackground(Color.gray);
break;
case 2:
setBackground(new Color(238, 228, 218));
break;
case 4:
setBackground(new Color(238, 224, 198));
break;
case 8:
setBackground(new Color(243, 177, 116));
break;
case 16:
setBackground(new Color(243, 177, 116));
break;
case 32:
setBackground(new Color(248, 149, 90));
break;
case 64:
setBackground(new Color(249, 94, 50));
break;