2048游戏设计与实现
1
技术可行性
根据游戏设计的要求,可以通过 c# 进行源代码的编辑,通过 windows 界面进行用户界面的编辑和优化,结合时间和目前学习水平 等各项因素,项目所要求功能和性能完全可以实现。
2
运行可行性
游戏基本要求是.net framework4.0 及以上,在大部分的用户设备 上可以实现,并且游戏运行对硬件几乎无要求,项目运行可以得到保 证。
一、游戏开发环境
1.开发工具 C#(读做 "C sharp")暂时没有中文译名,专业人士一般读"C sharp",现在很多非专业一般读"C 井"。 C#是一种安全的、稳定的、简单的、优雅的,由 C 和 C++衍生出 来的面向对象的编程语言。它在继承 C 和 C++强大功能的同时去掉了 一些它们的复杂特性(例如没有宏和模版,不允许多重继承) 。C#综 合了 VB 简单的可视化操作和 C++的高运行效率,以其强大的操作能 力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持 成为.NET 开发的首选语言。 并且 C#成为 ECMA 与 ISO 标准规范。C#看似基于 C++写成,但又融 入其它语言如 Pascal、Java、VB 等。 Microsoft 在正式的场合把 C#描述为一种简单、现代、面向对象、 类型非常安全、派生于 C 和 C++的编程语言。大多数独立的评论员对 其说法是 “派生于 C、 C++和 Java” 。 这种描述在技术上是非常准确的, 但没有涉及到该语言的真正优点。从语法上看,C#非常类似于 C 和 Java,许多关键字都是相同的,C#也使用类似于 C 和 C++的块结构, 并用括号({})来标识代码块,用分号分隔各行语句。对 C#代码的第
c.Add(); } break; case Keys.Down: if (e.Modifiers == Keys.Shift) this.Opacity += 0.1; else { c.Down(); if (c.change) 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) this.FormBorderStyle = FormBorderStyle.None; else this.FormBorderStyle = FormBorderStyle.FixedToolWindow; break; case Keys.F4: this.ShowInTaskbar = !this.ShowInTaskbar; break; case Keys.F5: c = new Class1(); c.Reset(); Num_pictureBox.Refresh(); break; case Keys.F6:
2048 游戏设计与实现
课题名称:2048 游戏开发与测试 院系:电气学院 专业:电气工程及其自动化 班级:电气 48 小组成员:赵红阳 朱正昊 陶站平
一、摘要
在生活节奏不断加快的现代社会, 轻松的益智游戏对缓解生活压 力,调节情绪具有重要的意义。 《2048》是比较流行的一款数字游戏。 原版 2048 首先在 GitHub 上发布,原作者是 Gabriele Cirulli,是基于 《1024》和《小 3 传奇》的玩法开发而成的新型数字游戏。而游戏设 计初衷是一款益智类的游戏,其特点在于轻松,简单,因此,开发要 求做到各项功能要完备、操作要简便、易学易用。 本文采用 c#语言开发了 2048 小游戏,通过 windows 控制台应用 程序实现了 2048 的基本运行,而后进过图形界面的处理,以不同的 数字西安市不同的颜色,并拥有了成绩记录,成绩截图的各项功能。 本着简单,易于操作的原则和缓解生活压力、降低生活节奏的初衷, 本小组在游戏界面中添加了帮助菜单和各类提示, 让游戏的用户界面 更加人性化。
二、关键词
2048 c# 休闲小游戏
一、 游戏开发环境................................................................................... 4 1. 开发工具..................................................................................... 4 2. 应用环境..................................................................................... 6 二、 游戏需求分析................................................................................... 6 1. 需求分析........................................................................................ 6 2. 可行性分析.................................................................................... 6 三、 程序概要设计................................................................................... 7 四、 程序详细设计................................................................................... 8 1. 游戏主界面.................................................................................... 8 2. 游戏结束界面.............................................................................. 18 3. 新纪录界面.................................................................................. 19 4. 主要功能代码.............................................................................. 22 五、 游戏测试......................................................................................... 32 1. 测试的意义............................................................................... 32 2. 测试过程................................................................................... 32 3. 测试内容................................................................................... 33 4. 测试结果................................................................................... 33
3
可行性综合分析
综合以上两点,项目开发可以得到技术和运行的保证,证明项目 可行。
三、程序概要设计
游启动
检测是否为第一次启动
打开帮助对话框
启动游戏界面
F1
各功能键
Esc
键盘控制方块移动
各项功能实现
游戏运行
重启
打开帮助 游戏结束
退出
退出游戏
四、程序详细设计
1. 游戏主界面 截图如下:
其功能代码如下:
using System; using System.Collections.Generic; using ponentModel; 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; namespace _2048 {
一印象是它非常类似于 C 和 Java 代码。但在这些表面上的类似性后 面,C#学习起来要比 C++容易得多,但比 Java 难一些。其设计与现 代开发工具的适应性要比其他语言更高,它同时具有 Visual Basic 的易用性、高性能以及 C++的低级内存访问性。 C#包括以下一些特性: 完全支持类和面向对象编程,包括接口和继承、虚函数和运算 符重载的处理。 定义完整、一致的基本类型集。 对自动生成 XML 文档说明的内存。 自动清理动态分配的内存。 可以用用户定义的特性来标记类或方法 对.NET 基类库的完全访问权,并易于访问 Windows API。 可以使用指针和直接内存访问,但 C#语言可以在没有它们的 条件下访问内存。 以 VB 的风格支持属性和事件。 改变编译器选项,可以把程序编译为可执行文件或.NET 组件 库,该组件库可以用与 ActiveX 控件(COM 组件)相同的方式由 其他代码调用。 C#可以用于编写 动态 Web 页面和 XML Web 服务。