2048游戏设计与实现
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 游戏主界面.................................................................................... 8 2. 游戏结束界面.............................................................................. 18 3. 新纪录界面.................................................................................. 19 4. 主要功能代码.............................................................................. 22 五、 游戏测试......................................................................................... 32 1. 测试的意义............................................................................... 32 2. 测试过程................................................................................... 32 3. 测试内容................................................................................... 33 4. 测试结果................................................................................... 33
二、 游戏需求分析................................................................................... 6 1. 需求分析........................................................................................ 6 2. 可行性分析.................................................................................... 6
private void Form1_Load(object sender, EventArgs e)
{
if (File.Exists("D:\\2048 记录")) //监测是否有存档
{
ToLoad();
}
else
//如果没有存档,生成新的游戏。
{
_2048messageBox mes1 = new _2048messageBox();
namespace _2048 {
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Class1 c;
_2048messageBox mes = new _2048messageBox();
Bitmap bit = new Bitmap(400, 400);
二、游戏需求分析
1. 需求分析
现代社会对休闲小游戏的需求是:提高游戏的操作可行性,降低 游戏的操作难度,降低游戏的上手难度,降低游戏的竞争需求,对使 用设备的要求趋于简单化和多样化,游戏界面更加人性化,功能更加 贴合使用。
2. 可行性分析
1 技术可行性 根据游戏设计的要求,可以通过 c#进行源代码的编辑,通过 windows 界面进行用户界面的编辑和优化,结合时间和目前学习水平 等各项因素,项目所要求功能和性能完全可以实现。 2 运行可行性 游戏基本要求是.net framework4.0 及以上,在大部分的用户设备 上可以实现,并且游戏运行对硬件几乎无要求,项目运行可以得到保 证。
Num_pictureBox.Refresh();
}
//窗口加载前的操作
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.Up:
if (e.Modifiers == Keys.Shift)
c.Add(); } break; case Keys.Left: c.Left(); if (c.change)
c.Add(); break; case Keys.Right源自文库 c.Right(); if (c.change)
c.Add(); break; case Keys.F1: mes.ShowDialog(); break; case Keys.F2: this.TopMost = !this.TopMost; break; case Keys.F3: if (this.FormBorderStyle == FormBorderStyle.FixedToolWindow)
一、游戏开发环境
1.开发工具
C#(读做 "C sharp")暂时没有中文译名,专业人士一般读"C sharp",现在很多非专业一般读"C 井"。
C#是一种安全的、稳定的、简单的、优雅的,由 C 和 C++衍生出 来的面向对象的编程语言。它在继承 C 和 C++强大功能的同时去掉了 一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。C#综 合了 VB 简单的可视化操作和 C++的高运行效率,以其强大的操作能 力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持 成为.NET 开发的首选语言。
符重载的处理。 定义完整、一致的基本类型集。 对自动生成 XML 文档说明的内存。 自动清理动态分配的内存。 可以用用户定义的特性来标记类或方法 对.NET 基类库的完全访问权,并易于访问 Windows API。 可以使用指针和直接内存访问,但 C#语言可以在没有它们的
条件下访问内存。 以 VB 的风格支持属性和事件。 改变编译器选项,可以把程序编译为可执行文件或.NET 组件
3 可行性综合分析 综合以上两点,项目开发可以得到技术和运行的保证,证明项目 可行。 三、程序概要设计
游戏启动
检测是否为第一次启动 启动游戏界面
打开帮助对话框
键
盘
控
游
制
戏
方
运
块
行
移
动
F1
各功能键
Esc
各
打
项
退
开
功
出
帮
能
游
助
实
戏
现
重启
游
戏
退出
结
束
四、程序详细设计 1. 游戏主界面 截图如下:
其功能代码如下:
一印象是它非常类似于 C 和 Java 代码。但在这些表面上的类似性后 面,C#学习起来要比 C++容易得多,但比 Java 难一些。其设计与现 代开发工具的适应性要比其他语言更高,它同时具有 Visual Basic 的易用性、高性能以及 C++的低级内存访问性。
C#包括以下一些特性: 完全支持类和面向对象编程,包括接口和继承、虚函数和运算
一、 游戏开发环境................................................................................... 4 1. 开发工具..................................................................................... 4 2. 应用环境..................................................................................... 6
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; using System.IO;
2048 游戏设计与实现
课题名称:2048 游戏开发与测试 院系:电气学院 专业:电气工程及其自动化 班级:电气 48 小组成员:赵红阳 朱正昊 陶站平
一、摘要 在生活节奏不断加快的现代社会,轻松的益智游戏对缓解生活压 力,调节情绪具有重要的意义。《2048》是比较流行的一款数字游戏。 原版 2048 首先在 GitHub 上发布,原作者是 Gabriele Cirulli,是基于 《1024》和《小 3 传奇》的玩法开发而成的新型数字游戏。而游戏设 计初衷是一款益智类的游戏,其特点在于轻松,简单,因此,开发要 求做到各项功能要完备、操作要简便、易学易用。 本文采用 c#语言开发了 2048 小游戏,通过 windows 控制台应用 程序实现了 2048 的基本运行,而后进过图形界面的处理,以不同的 数字西安市不同的颜色,并拥有了成绩记录,成绩截图的各项功能。 本着简单,易于操作的原则和缓解生活压力、降低生活节奏的初衷, 本小组在游戏界面中添加了帮助菜单和各类提示,让游戏的用户界面 更加人性化。 二、关键词 2048 c# 休闲小游戏
c.Reset();
}
mes.a = "提示";
//生成帮助菜单
mes.b = "F2:窗口总在最前\r\nF3:解锁/锁定窗口\r\nF4:隐藏任务栏图标\r\nF5:
重新开始\r\nF6:截图并保存\r\nShife + ↑↓:调整透明度\r\n↑↓←→:控制方块移动\r\nESC:退
出";
drow();
库,该组件库可以用与 ActiveX 控件(COM 组件)相同的方式由 其他代码调用。 C#可以用于编写 ASP.NET 动态 Web 页面和 XML Web 服务。
2.应用环境 操作系统:Windows 7/8/8.1 应用软件:Microsoft Visual Studio 2012/2013
mes1.a = "提示";
mes1.b = " 检测到您是第一次打开,可按 F1 打开帮助。\r\n 游戏为无
限模式,直到 GameOver 才会终止。";
mes1.StartPosition = FormStartPosition.CenterScreen;
mes1.ShowDialog();
c = new Class1();
并且 C#成为 ECMA 与 ISO 标准规范。C#看似基于 C++写成,但又融 入其它语言如 Pascal、Java、VB 等。
Microsoft 在正式的场合把 C#描述为一种简单、现代、面向对象、 类型非常安全、派生于 C 和 C++的编程语言。大多数独立的评论员对 其说法是“派生于 C、C++和 Java”。这种描述在技术上是非常准确的, 但没有涉及到该语言的真正优点。从语法上看,C#非常类似于 C 和 Java,许多关键字都是相同的,C#也使用类似于 C 和 C++的块结构, 并用括号({})来标识代码块,用分号分隔各行语句。对 C#代码的第
this.Opacity -= 0.1;
else
{
c.Up();
if (c.change)
c.Add(); } break; case Keys.Down: if (e.Modifiers == Keys.Shift)
this.Opacity += 0.1; else {
c.Down(); if (c.change)
三、 程序概要设计................................................................................... 7 四、 程序详细设计................................................................................... 8
二、 游戏需求分析................................................................................... 6 1. 需求分析........................................................................................ 6 2. 可行性分析.................................................................................... 6
private void Form1_Load(object sender, EventArgs e)
{
if (File.Exists("D:\\2048 记录")) //监测是否有存档
{
ToLoad();
}
else
//如果没有存档,生成新的游戏。
{
_2048messageBox mes1 = new _2048messageBox();
namespace _2048 {
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Class1 c;
_2048messageBox mes = new _2048messageBox();
Bitmap bit = new Bitmap(400, 400);
二、游戏需求分析
1. 需求分析
现代社会对休闲小游戏的需求是:提高游戏的操作可行性,降低 游戏的操作难度,降低游戏的上手难度,降低游戏的竞争需求,对使 用设备的要求趋于简单化和多样化,游戏界面更加人性化,功能更加 贴合使用。
2. 可行性分析
1 技术可行性 根据游戏设计的要求,可以通过 c#进行源代码的编辑,通过 windows 界面进行用户界面的编辑和优化,结合时间和目前学习水平 等各项因素,项目所要求功能和性能完全可以实现。 2 运行可行性 游戏基本要求是.net framework4.0 及以上,在大部分的用户设备 上可以实现,并且游戏运行对硬件几乎无要求,项目运行可以得到保 证。
Num_pictureBox.Refresh();
}
//窗口加载前的操作
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.Up:
if (e.Modifiers == Keys.Shift)
c.Add(); } break; case Keys.Left: c.Left(); if (c.change)
c.Add(); break; case Keys.Right源自文库 c.Right(); if (c.change)
c.Add(); break; case Keys.F1: mes.ShowDialog(); break; case Keys.F2: this.TopMost = !this.TopMost; break; case Keys.F3: if (this.FormBorderStyle == FormBorderStyle.FixedToolWindow)
一、游戏开发环境
1.开发工具
C#(读做 "C sharp")暂时没有中文译名,专业人士一般读"C sharp",现在很多非专业一般读"C 井"。
C#是一种安全的、稳定的、简单的、优雅的,由 C 和 C++衍生出 来的面向对象的编程语言。它在继承 C 和 C++强大功能的同时去掉了 一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。C#综 合了 VB 简单的可视化操作和 C++的高运行效率,以其强大的操作能 力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持 成为.NET 开发的首选语言。
符重载的处理。 定义完整、一致的基本类型集。 对自动生成 XML 文档说明的内存。 自动清理动态分配的内存。 可以用用户定义的特性来标记类或方法 对.NET 基类库的完全访问权,并易于访问 Windows API。 可以使用指针和直接内存访问,但 C#语言可以在没有它们的
条件下访问内存。 以 VB 的风格支持属性和事件。 改变编译器选项,可以把程序编译为可执行文件或.NET 组件
3 可行性综合分析 综合以上两点,项目开发可以得到技术和运行的保证,证明项目 可行。 三、程序概要设计
游戏启动
检测是否为第一次启动 启动游戏界面
打开帮助对话框
键
盘
控
游
制
戏
方
运
块
行
移
动
F1
各功能键
Esc
各
打
项
退
开
功
出
帮
能
游
助
实
戏
现
重启
游
戏
退出
结
束
四、程序详细设计 1. 游戏主界面 截图如下:
其功能代码如下:
一印象是它非常类似于 C 和 Java 代码。但在这些表面上的类似性后 面,C#学习起来要比 C++容易得多,但比 Java 难一些。其设计与现 代开发工具的适应性要比其他语言更高,它同时具有 Visual Basic 的易用性、高性能以及 C++的低级内存访问性。
C#包括以下一些特性: 完全支持类和面向对象编程,包括接口和继承、虚函数和运算
一、 游戏开发环境................................................................................... 4 1. 开发工具..................................................................................... 4 2. 应用环境..................................................................................... 6
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; using System.IO;
2048 游戏设计与实现
课题名称:2048 游戏开发与测试 院系:电气学院 专业:电气工程及其自动化 班级:电气 48 小组成员:赵红阳 朱正昊 陶站平
一、摘要 在生活节奏不断加快的现代社会,轻松的益智游戏对缓解生活压 力,调节情绪具有重要的意义。《2048》是比较流行的一款数字游戏。 原版 2048 首先在 GitHub 上发布,原作者是 Gabriele Cirulli,是基于 《1024》和《小 3 传奇》的玩法开发而成的新型数字游戏。而游戏设 计初衷是一款益智类的游戏,其特点在于轻松,简单,因此,开发要 求做到各项功能要完备、操作要简便、易学易用。 本文采用 c#语言开发了 2048 小游戏,通过 windows 控制台应用 程序实现了 2048 的基本运行,而后进过图形界面的处理,以不同的 数字西安市不同的颜色,并拥有了成绩记录,成绩截图的各项功能。 本着简单,易于操作的原则和缓解生活压力、降低生活节奏的初衷, 本小组在游戏界面中添加了帮助菜单和各类提示,让游戏的用户界面 更加人性化。 二、关键词 2048 c# 休闲小游戏
c.Reset();
}
mes.a = "提示";
//生成帮助菜单
mes.b = "F2:窗口总在最前\r\nF3:解锁/锁定窗口\r\nF4:隐藏任务栏图标\r\nF5:
重新开始\r\nF6:截图并保存\r\nShife + ↑↓:调整透明度\r\n↑↓←→:控制方块移动\r\nESC:退
出";
drow();
库,该组件库可以用与 ActiveX 控件(COM 组件)相同的方式由 其他代码调用。 C#可以用于编写 ASP.NET 动态 Web 页面和 XML Web 服务。
2.应用环境 操作系统:Windows 7/8/8.1 应用软件:Microsoft Visual Studio 2012/2013
mes1.a = "提示";
mes1.b = " 检测到您是第一次打开,可按 F1 打开帮助。\r\n 游戏为无
限模式,直到 GameOver 才会终止。";
mes1.StartPosition = FormStartPosition.CenterScreen;
mes1.ShowDialog();
c = new Class1();
并且 C#成为 ECMA 与 ISO 标准规范。C#看似基于 C++写成,但又融 入其它语言如 Pascal、Java、VB 等。
Microsoft 在正式的场合把 C#描述为一种简单、现代、面向对象、 类型非常安全、派生于 C 和 C++的编程语言。大多数独立的评论员对 其说法是“派生于 C、C++和 Java”。这种描述在技术上是非常准确的, 但没有涉及到该语言的真正优点。从语法上看,C#非常类似于 C 和 Java,许多关键字都是相同的,C#也使用类似于 C 和 C++的块结构, 并用括号({})来标识代码块,用分号分隔各行语句。对 C#代码的第
this.Opacity -= 0.1;
else
{
c.Up();
if (c.change)
c.Add(); } break; case Keys.Down: if (e.Modifiers == Keys.Shift)
this.Opacity += 0.1; else {
c.Down(); if (c.change)
三、 程序概要设计................................................................................... 7 四、 程序详细设计................................................................................... 8