合成10实验报告

本文由用户“G1A1O”分享发布 更新时间:2022-02-27 09:51:13 举报文档

以下为《合成10实验报告》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

合成10实验报告

*** 信05 张某某 完成日期:2021-12-27

1、

题目1:

输入行列数及合成坐标,找出所有可合成的方块并标记

题目2:

使用递归函数完成题目1

题目3:

在题目1、2的基础上,增加“N、Y、Q”的选择,是合成或放弃或退出,选择合成则完成一次方块消失,0下落,重新生成的过程。

题目4:

实现题目3的连续合成

题目5:

使用伪图形完成方块的显示

题目6:

在题目5的基础上,完成方块间的分隔

题目7:

使用鼠标及键盘,选择方块,选中的方块颜色变化

题目8:

在题目7的基础上,选中方块后,实现方块消失,方块下落,重新生成的过程

题目9:

完整版合成10,可以反复进行题目8的操作,并计分

2、

设计菜单,通过菜单输入不同的值,及选择不同的行列数,显示不同的方块展现形式及方块数量,使用数组记录方块的状态和数值,使用伪图形及图表显示方块,通过读取鼠标及键盘,完成方块的合成和显示

3、

/

/

4、

问题1:

在方块显示中,无法正确的显示相邻的相同数值的方块,会在莫名其妙的地方出现方块变色

解决:

未考虑初始选中的方块在递归中的影响,在方块被判断完之后,将方块的数组改变,使下次判断不会再选中上次的方块

问题2:

无法判断方块是否单独存在,无法合成

解决:

设置一个变量,在未找到可以合成的方块时,变量值为0,找到则变量值为1,根据变量的值判断是否找到可以合成的方块,并作不同输出

问题3:

鼠标左键的读入不正确,使方块颜色的改变会消失

解决:

左键按下算作按左键,弹起算作移动,在循环判断中,将按下左键弹起的移动再读取一次

问题4:

方块消失后重新出现会使原来存在的方块被覆盖

解决:

重新调整方块输出的坐标,及矩形框的大小,使大小和输入的行列数相关,根据行列数来输出坐标位置

5、

5.1:

伪图形在用其他颜色输出后要设置回原来的颜色,不然会出现奇怪的图形;鼠标不动也算是鼠标的移动

5.2:

分为多个小题可以将难题简化,逐步完成可以在后面的程序中使用

5.3:

重点函数方块矩阵的输出,通过不同的1、2、3参数对应1、2、3菜单的选择,不同的输出

伪图形输出函数,通过1、2、3、4、5划分函数,不同菜单选择调用不同的函数对应5、6、7、8、9的输出

5.4:

编写复杂程序心态要好,写不出来心态不能崩,可以适当休息一下。

复杂程序可以拆解为几个部分,分别完成。复杂的程序是需要一步一步的推行的,功能使一步一步的实现的,越复杂的程序,变量的设置,函数的使用及命名,都要有很好的逻辑性和简单易懂的属性,可以让人看一眼就明白它的作用。这样可以使后面程序调用之前的函数更容易。

随着程序的进行,难免会遗忘之前程序的作用和用法。因此,写复杂程序需要给自己的程序添加备注,就算记性好,当下看来是简单明了的,以后不能保证不会忘记,添加备注也能使其他人更容易阅读你的程序,在程序的修改中也更能找到错误的关键

90-b2.h

#pragma once

/*信05 *** 张某某*/

int shuzu(int d[8][10], int x, char y, int c, int b);

int digui(int d[8][10], int z[8][10], int x, int y, int c, int b, int i);

void juzhenshuchu(int d[8][10], int z[8][10], int x, int y, int c, int b, const int a);

void dengdai();

void huiche();

void qingkong(int c);

void tuxing(int d[8][10], int z[8][10], int c, int b);

void tuxing2(int d[8][10], int z[8][10], int c, int b);

void tuxing3(int d[8][10], int z[8][10], int c, int b);

void tuxing4(int d[8][10], int z[8][10], int c, int b);

void tuxing5(int d[8][10], int z[8][10], int c, int b);

void xialu(int d[8][10], int z[8][10], int m, int e, int f);

90-b2-tools.cpp

/*信05 *** 张某某*/

#define _CRT_SECURE_NO_WARNINGS

#include

#include

#include

#include

#include

#include "cmd_console_tools.h"

#include

#include

#include

#include

#include

using namespace std;

void huiche()

{

char h;

while (1)

{

h = _getch();

if (h == '\r')

break;

}

}

void dengdai()

{

char a[3], b;

int X, Y;

cout > a[b];

if (a[b] >= 'a' && a[b] 4 && g < 21)

break;

}

cct_setconsoleborder(c * 8 + 8, b * 6 + 1);

cout

以上为《合成10实验报告》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览