游戏C语言实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

嘉应学院计算机学院

实验报告

课程名称: C程序设计

开课学期: 2015—2016学年第1学期

班级:计算机1505 指导老师:陈广明

设计题目:游戏2048 学生姓名(学号):第3组:钟瞻宇

目录

一、实验目的和要求 ....................................................................................................................................................

二、实验环境、内容和方法 ........................................................................................................................................

三、程序设计 ................................................................................................................................................................

四、源代码 ....................................................................................................................................................................

五、调试与运行结果....................................................................................................................................................

六、总结........................................................................................................................................................................

一、实验目的和要求

(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等编译软件

三、程序设计

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");

printf(" 开始时棋盘内随机出现两个数字,出现的数字仅可能为2或4.\n");

printf(" 玩家可以选择上(w)下(s)左(a)右(d)四个方向,若棋盘内的数字出现位移或合并,视为有效移动.\n");

printf(" 若有相同的数字则合并,每次有效移动可以同时合并,但不可以连续合并.\n");

printf(" 合并所得的所有新生成数字想加即为该步的有效得分.\n");

printf(" 玩家选择的方向行或列前方有空格则出现位移.\n");

printf(" 每有效移动一步,棋盘的空位(无数字处)随机出现一个数字(依然可能为2或4).\n");

printf(" 棋盘被数字填满,无法进行有效移动,判负,游戏结束.\n");

printf(" 棋盘上出现2048,判胜,游戏结束");

printf("\n\n\n");

printf(" \t\t\t按回车开始游戏.\n");

getchar(\n);

system("cls");

system("color 70");

random();

相关文档
最新文档