2048基于JAVA课设设计
- 格式:pdf
- 大小:483.57 KB
- 文档页数:18


java实现2048⼩游戏
本⽂实例为⼤家分享了java实现2048⼩游戏的具体代码,供⼤家参考,具体内容如下⼀、实现效果
⼆、实现代码
Check表⽰格⼦,GameView实现游戏视图界⾯及功能,是核⼼。
Check.java
import java.awt.Color;
import java.awt.Font;
// ⽅格类
public class Check {
public int value;
Font font1 = new Font("宋体", Font.BOLD, 46);
Font font2 = new Font("宋体", Font.BOLD, 40);
Font font3 = new Font("宋体", Font.BOLD, 34);
Font font4 = new Font("宋体", Font.BOLD, 28);
Font font5 = new Font("宋体", Font.BOLD, 22);
public Check() {
value = 0; //value为⽅格中数字
}
//字体颜⾊
public Color getForeground() {
switch (value) {
case 0:
return new Color(0xcdc1b4);//0的颜⾊与背景⾊⼀致,相当于没有数字
case 2:
case 4: return Color.BLACK;
default:
return Color.WHITE;
}
}
//字体背景颜⾊,即⽅格颜⾊
public Color getBackground() {
switch (value) {
case 0:
return new Color(0xcdc1b4);
case 2:
return new Color(0xeee4da);
case 4:
return new Color(0xede0c8);
软件学院
《C程序设计》大作业(1)
题 目2048游戏设计
姓 名 王裕佳
学 号24320172203210
实验时间 2017-12
2017年12月23日
1 实验目的:通过设计2048游戏对c程序设计来个复习总结并付诸实践》。
2 实验环境devcpp ,c语言
3 设计思路
将2048游戏的几个功能划分为多个函数,分模块进行操作:
1. 打印棋盘
2. 随机生成棋子:利用随机函数和时间函数生成随机数
3. 棋盘的翻转:利用翻转减少4,5的操作类别,达到高内聚,低耦合的目的。
4. 数字的相加
5. 棋子的对齐:挤掉多余的空格
6. 游戏胜负的判决:可随时改变游戏胜利目标
7.
游戏存档,积分的保存:随时保存游戏存档,游戏关闭后可继续玩,也可以查看历史成绩》
8. 游戏存档的读取。
备注:运用指针及函数次数做到不适用全局变量。
4 实验总结:设计途中遇到无数bug,后悉数解决。
1. 随机数的生成
2. 棋子的对齐不准确
3. 棋盘翻转次数不正确
4. 滥用全局变量
5. 游戏存档的保存和读取。
6. 存档读取时读取错误
东华理工大学
C语言课程设计 报告
学院: 国际教育学院学院
专业: 电子信息工程
班级: 1420606
学号: 201420060638
姓名: 钟天运
一、课程设计题目:游戏2048
二、课程设计要求:
a) 使用C语言编写2048这款游戏
b) 能够正常运行,拥有游戏界面。
c) 能正常进行游戏从开始到结束。
d) 用户操作方便
三、设计思路:
a) 游戏介绍:
i. 2048是一款简单的数字类游戏,界面是一个4*4的方形格子。每个格子里可以为空或者有一个2^n的数值。
ii. 用户可以输入4种指令,分别是:上下左右,游戏会根据用户的指定的方向,将格子中的数值向对应方向进行移动,直至移动到最边上的格子或者有其他数值占用,如果碰到等大数值,将会进行合并。此外,成功移动后,会在一个空格子随机生成一个2或者4
iii. 游戏目标是合成2048这个数值或者更大的数值。
b) 实现思路:
i. 可以使用二维数组来保存4*4格子中的数值
ii. 指令,可以通过输入字符函数,读取用户在键盘上的方向键,进行判断执行对应的代码。
iii. 游戏界面,可以使用简单的特殊制表符,来实现,并通过清屏函数来进行反复同位置打印界面。
iv. 需要判断游戏结束的函数,以及记录游戏分数和步骤的变量
v. 当游戏结束时,能够询问 用户是否重新开始。
vi. 随机生成一个新数,可以调用随机函数,使用时间做种子。
c) 实现难点:
i. 打印游戏界面,要实现灵活能根据棋盘数组里面的数据灵活打印。
ii. 执行操作时,数值的移动和合并。
四、流程图
五、C语言源代码
// 游戏2048.c
#include "windows.h"
#include "time.h"
#include "stdio.h"
山东轻工业学院实验报告 成绩
实验项目名称 实验七、 Android综合程序设计(2048游戏)
一、 实验目的
通过进行一个较为完整的Android应用程序开发,学习综合运用课程所学的相关Android开发知识的,进行移动软件设计的相关能力。在模拟软件开发的过程中,掌握从问题发现、系统分析、系统规划到代码实现中每一步所要做的工作。掌握实际软件开发的过程和方法。
二、 主要仪器设备、试剂或材料
微型计算机;JDK、eclipse、ADT、Android SDK等软件包
三、 实验内容
运用Android制作一个简单的2048小游戏。
2048游戏的制作属于电子游戏中的益智类小游戏,它做到了娱乐性、趣味性、教育性相统一。益智类的游戏即是需要去开动大脑去思考从而获得游戏的胜利。简单的益智类游戏可以使玩家在娱乐中不断的开发大脑。这样一来就实现了在娱乐中学习
四、 程序设计思路、运行及及结果分析
设计思路:
(1)初始化
进入游戏,初始化4*4表格,并随机产生两个数字(2或者4);二维数组this.tables表格循环存入数据; random1, random2 ,random11, random22四个随机数可以确定两个2的xy位置;
方法newNumber里面,根据位置i,j和级别num可以确定一个新的数字;创建背景cell和cell上面的数字标签cellLabel;并根据num确定是否显示cellLabel;最后给cell关联一个data数据;特别说明这里的number:num不是精灵上面的数字而是精灵的级别,比如number=11 则数字是1024。
(2)游戏结束的判断
每次发生卡片移动,都要检查游戏还能否继续,是否已经结束。使用函数CheckComplete()完成游戏是否失败的检查。