zoukankan      html  css  js  c++  java
  • 我罗斯方块汇报(1)

    这个作业属于哪个课程 班级的链接
    这个作业要求在哪里 作业的要求
    这个作业的目标 汇报自己这个阶段的开发进度。(完成了哪几个模块)
    讲述自己遇到的问题和尝试解决的方法和最后的结果(解决与否)
    制作一篇开发日记,例子如此,描述自己开发某一个模块的过程。
    作业正文 作业
    GitHub 暂存在本地
    小组成员 031902609梁育诚
    031902610刘凌斌
    成员博客首页 梁育诚
    刘凌斌

    开发进度

    时间有限,仅完成了游戏界面的设计。

    本组的游戏界面在渲染类里进行开发。

    游戏大致界面:

    绘制界面

    包括界面大小、界面背景颜色(后续可能会改变,因为现在确实有点土^^)。

    	initgraph(1200, 640);
    	setbkcolor(0xAAAAAA);
    	cleardevice();
    

    画线

    	setlinecolor(YELLOW);
    	setlinestyle(PS_SOLID, 4);
    	line(200, 0, 200, 640);
    	line(700, 0, 700, 640);
    	line(575, 50, 690, 50);
    	line(1075, 50, 1190, 50);
    

    设置界面文字

    	LOGFONT f;
    	gettextstyle(&f);
    	f.lfHeight = 20;						// 设置字体高度为 20
    	_tcscpy_s(f.lfFaceName, _T("宋体"));	// 设置字体为“黑体”
    	f.lfQuality = ANTIALIASED_QUALITY;		// 设置输出效果为抗锯齿  
    	settextstyle(&f);						// 设置字体样式
    	settextcolor(YELLOW);
    	outtextxy(20, 330, _T("操作说明"));
    	outtextxy(20, 350, _T("玩家一"));
    	outtextxy(20, 370, _T("W:旋转方块"));
    	outtextxy(20, 390, _T("A:左移方块"));
    	outtextxy(20, 410, _T("D:右移方块"));
    	outtextxy(20, 430, _T("S:下移方块"));
    	outtextxy(20, 480, _T("玩家二"));
    	outtextxy(20, 500, _T("上:旋转方块"));
    	outtextxy(20, 520, _T("左:左移方块"));
    	outtextxy(20, 540, _T("右:右移方块"));
    	outtextxy(20, 560, _T("下:下移方块"));
    	outtextxy(580, 25, _T("下一个方块"));
    	outtextxy(1080, 25, _T("下一个方块"));
    

    画游戏区域

    	setfillstyle(BS_SOLID);
    	setfillcolor(BLACK);
    	rectangle(215, 5, 550, 630);
    	rectangle(575, 20, 690, 200);
    	rectangle(715, 5, 1050, 630);
    	rectangle(1075, 20, 1190, 200);
    	system("pause");
    

    遇到的问题:

    1、easy X渲染插件的使用方法错误(已解决)

    刚开始用easyX时,未使用自带的头文件、使用错函数、编译失败等问题频频出现。

    例如画块函数setbkcolor错用成了setlinecolor 画线函数

    未使用“暂停” system("pause"); 等。

    2、颜色单一问题(暂未解决)

    我们目前只使用了预定义常量表示颜色。如:

    常量			值			颜色
    --------		--------	--------
    BLACK			0		黑
    BLUE			0xAA0000	蓝
    GREEN			0x00AA00	绿
    CYAN			0xAAAA00	青
    RED			0x0000AA	红
    MAGENTA			0xAA00AA	紫
    BROWN			0x0055AA	棕
    LIGHTGRAY		0xAAAAAA	浅灰
    DARKGRAY		0x555555	深灰
    LIGHTBLUE		0xFF5555	亮蓝
    LIGHTGREEN		0x55FF55	亮绿
    LIGHTCYAN		0xFFFF55	亮青
    LIGHTRED		0x5555FF	亮红
    LIGHTMAGENTA	        0xFF55FF	亮紫
    YELLOW			0x55FFFF	黄
    WHITE			0xFFFFFF	白
    

    后续会使用RGB宏合成颜色。

    3、对于新内容:此消彼长功能的实现以及键盘输入分发控制命令的实现(未解决)

    此消彼长功能较为复杂,没有头绪。

    关于键盘输入、分发控制命令的实现,暂定为:

    		// 如果有按键,返回按键对应的功能
    		if (_kbhit())
    		{
    			switch (_getch())
    			{
    			case 'w':
    			case 'W':	return CMD_ROTATE;
    			case 'a':
    			case 'A':	return CMD_LEFT;
    			case 'd':
    			case 'D':	return CMD_RIGHT;
    			case 's':
    			case 'S':	return CMD_DOWN;
    			case 27:	return CMD_QUIT;
    			case ' ':	return CMD_SINK;
    			case 0:
    			case 0xE0:
    				switch (_getch())
    				{
    				case 72:	return CMD_ROTATE;
    				case 75:	return CMD_LEFT;
    				case 77:	return CMD_RIGHT;
    				case 80:	return CMD_DOWN;
    				}
    			}
    		}
    //分配命令
    void DispatchCmd(CMD _cmd)
    {
    	switch (_cmd)
    	{
    	case CMD_ROTATE:	OnRotate();		break;
    	case CMD_LEFT:		OnLeft();		break;
    	case CMD_RIGHT:		OnRight();		break;
    	case CMD_DOWN:		OnDown();		break;
    	case CMD_SINK:		OnSink();		break;
    	case CMD_QUIT:		break;
    	}
    }
    

    时间有限,开发进程较短,遇到的问题少。。^^

  • 相关阅读:
    常用的adb命令
    Jmeter之计数器
    Jmeter跨线程组传递变量
    Jmeter的属性和变量
    Jmeter之关联——常用提取器
    Jmeter常用的逻辑控制器
    HDU 1262 寻找素数对 模拟题
    HDU 1431 素数回文 离线打表
    HDU 2553 N皇后问题
    HDU 2093 考试排名 模拟题
  • 原文地址:https://www.cnblogs.com/LiangYC1021/p/12940087.html
Copyright © 2011-2022 走看看