以下为《合成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实验报告》的无排版文字预览,完整格式请下载
下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。