宁宁 波波 工工 程程 学学 院院
2009 ~2010 学年第一学期
电信学院
3D 游戏设计与制作大实验报告书
题
目:
翻牌游戏
班
级:
学
号:
姓
名:
指导教师:
日
期:
目录
2
1.系统分析 ......................................................................................................................................... 3
1.1 系统的功能 .................................................................................................................... 3
1.2 系统设计思路 ................................................................................................................ 3
.系统设计实现........................................................................................................................... 4
2.1 函数功能及其核心代码分析 ........................................................................................4
参考文献 ............................................................................................................................................ 8
附录 A 系统使用说明 .................................................................................................................... 8
附录 B 源程序代码 .........................................................................................................................8
1.系统分析
1.1 系统的功能
这是一款记忆翻牌小游戏,16 张牌,单击出现的卡片。相同的自动会消掉。根据记忆
将两张相同的牌翻出,消掉。考验的是你的瞬间记忆能力,根据记忆单击它翻过的牌。游戏
简单好玩,相信你一定会喜欢的。
1.2 系统设计思路
开始游戏
记录时间
翻一张牌
牌现出正面
继续翻牌
牌现出正面
判断翻出的两张牌图案是否相同
若相同则消去
若不相同则翻出的两张牌返回背面
重新翻牌
所有的牌都消去
记录时间
结束游戏
此游戏一共有 16 张牌,8 组两张相同的牌,点击一张牌,当前牌翻开,当点击第三张
牌的时候,前两张牌相同的时候,前两张消失,不同的话,就翻回来。时间 100 秒。考验
记忆力与敏捷度。
2 .系统设计实现
2.1 函数功能及其核心代码分析
初始化
start()开始
btnStart_Click 点击翻牌
翻 出 的 两 张 牌
是否相同
是
否
继续翻牌
time_Tick()记录
时间
showwin()
输出结果
结束
图 1 流程图
main()主函数
该函数是主函数。在主函数中,,调用 start()开始游戏进行翻牌,游戏结束输出
所用的时间与结果。关闭游戏界面。
btnStart_click() 点击翻牌并判断两张牌是否相同
这是游戏进行的函数,主要是接收玩家的按键消息,其处理过程如下:
点击鼠标左键,翻出牌的正面,当玩家点击两张相同图案的牌时,则消去这两张牌,
反之则再重新翻牌。知道所有的牌消去为止。
Time_tick() 记录时间
根据当前玩家从开始游戏到结束游戏计算出所用的时间
Showwin() 完成游戏
当玩家点击完所有的牌时,显示玩家在本局游戏中所用的时间并进行记录,结束游
戏。
3.系统测试
程序完成之后,执行程序,进入游戏界面,进行游戏。如下图:
图 2、游戏初始界面
图 3、游戏进行界面
图 4、游戏完成界面
图 5、游戏成绩界面
图 6、游戏结束界面
4.设计总结和体会
开始制作的时候,觉得游戏的剧本就最头疼的问题,因为你根本不晓得这个游戏到底玩
些什么东西。我试图寻求其他的人的帮助,看了下别人的东西,但那毕竟还是别人的,不是
很满意。很苦恼,最后还是硬着头皮组队开始编了。经过网上找资料,编程,查询修改问题,
截图等工作,上我们的默契搭配,总算完成了这项大工程。对于自己的作品很满意,虽然游
戏很简单,但是这里包含了很多书本上的知识,涉及了很多方面的知识。让我们受益匪浅!
参考文献
[1].《Visual C#.NET 应用编程 150 例》作者: 尹立宏 出版社: 电子工业出版社
[2].《Visual C#.Net 应用精彩 50 例 》作者: 张龙鲫,欧洋编著 出版社:清华大学出版社
附录 A 系统使用说明
鼠标左键点击一张牌,当前牌翻开,当点击第三张牌的时候,前两张牌相同的时候,前两张
消失,不同的话,就翻回来。
附录 B 源程序代码
Main.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace Memorize
{public partial class frmMain : Form
{public static Timer time;
public static int tim = 0;//记录时间
public int timertim = 0;
public static int width = 4;
public static int height = 4;
public static button[,] but1;
public static int totalCount = 0;
public static int count = 0;