2048游戏c语言实验报告,2048游戏语言实验报告.doc
2048游戏语言实验报告
成绩评定
教师签名
评定日期
嘉应学院 计算机学院
实验报告
课程名称:
C程序设计
开课学期:
2015—2016学年第1学期
班 级:
计算机1505
指导老师:
陈广明
设计题目:
游戏2048
学生姓名(学号):
第3组:钟瞻佳151110233房嘉泽151110240陈祺151110249
目 录
TOC \o "1-1" \h \z \u HYPERLINK \l "_Toc439007246" 一、实验目的和要求 PAGEREF _Toc439007246 \h 3
HYPERLINK \l "_Toc439007247" 二、实验环境、内容和方法 PAGEREF _Toc439007247 \h 3
HYPERLINK \l "_Toc439007248" 三、程序设计 PAGEREF _Toc439007248 \h 3
HYPERLINK \l "_Toc439007249" 四、源代码 PAGEREF _Toc439007249 \h 3
HYPERLINK \l "_Toc439007250" 五、调试与运行结果 PAGEREF _Toc439007250 \h 4
HYPERLINK \l "_Toc439007251" 六、总结 PAGEREF _Toc439007251 \h 4
一、实验目的和要求
(1)使用C语言编写2048这款游戏。
(2)能够正常运行,拥有游戏界面。
(3)能正常进行游戏从开始到结束。?
(4)用户操作方便。
二、实验环境、内容和方法
实验内容:1、游戏开始时随机产生两个数值为2/4的方格,其中一个方格置于4个角中的一个位置,另一个方格随机的置于其他位置,其他方格置于0。
2、每次按方向键(w,s,a,d)后,逐行计算移动后的方格值。每行移动的算法是:先将所有值为0的数移至行首。能后从行尾开始逐一和前一个数比较,如果相等则合并这2个格子。
3、每合并一次格子,将其值累计到游戏总分中。
4、一次移动结束后,在所有值为0的方格中随机的分配一个2/4的值。
5、所有方格值不为0且上下、左右相邻的方格都不相等,则游戏结束。
6、2出现的概率为70%,4出现的概率为30%。
实验方法:
通过上机操作完成各内容。
实验环境:
实验用PC机一台,使用操作系统为Windows 7/ Windows 8/ Windows10,安装vc++或v2008等编译软件
三、程序设计
方块的格子是否满格或有方块的值为2048?合并相加为一个方块,所有方块再往原来的方向靠拢。靠拢的方向是否有两个相邻的值相等?根据操作方向所有方块在44格子里的范围向一边靠拢键盘(w,s,a,d)操作上下左右方向显示44的游戏方格窗口,并随机产生2个方块。开始
方块的格子是否满格或有方块的值为2048?
合并相加为一个方块,所有方块再往原来的方向靠拢。
靠拢的方向是否有两个相邻的值相等?
根据操作方向所有方块在4*4格子里的范围向一边靠拢
键盘(w,s,a,d)操作上下左右方向
显示4*4的游戏方格窗口,并随机产生2个方块。
开始
Y
刷新4*4窗口,重新显示当前方块内容。
刷新4*4窗口,重新显示当前方块内容。
Y
随机产生一个方块。
随机产生一个方块。
N
N
Y
输出游戏结束。
输出游戏结束。
游戏结束
游戏结束
四、源代码
#include
#include
#include
#include
#define M 2048
void up(); //上操作。
void down(); //下操作。
void right(); //右操作。
void left(); //左操作。
void play(); //操作函数。
void random(); //随机函数。
void integral(int x);//积分函数。
void all_printf(); //输出图像函数。
int A[4][4]={0};
int C=0; //得分的最终数值。
void main()
{
printf(" 游戏规则很简单:\n");
p
