⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 elevator.c

📁 电梯程序
💻 C
字号:
#include "egg.h"
#include "elevator.h"
void init()
{
	int i;
	EggStart(14, 14);
    SetPen(BLUE, 0.05);
	MovePen(2,3);
	DrawLine(0, 9);
	for(i=12;i>=3;i--)
	{
		MovePen(2,i);
		DrawLine(3,0);
	}
	DrawLine(0,9);
	MovePen(1,3.7);
	DrawString("1层");
	MovePen(1,4.7);
	DrawString("2层");
	MovePen(1,5.7);
	DrawString("3层");
	MovePen(1,6.7);
	DrawString("4层");
	MovePen(1,7.7);
	DrawString("5层");
	MovePen(1,8.7);
	DrawString("6层");
	MovePen(1,9.7);
	DrawString("7层");
	MovePen(1,10.7);
	DrawString("8层");
	MovePen(1,11.7);
	DrawString("9层");
	MovePen(6,11);
	DrawString("当前电梯楼层:");
	MovePen(6,10);
	DrawString("当前服务目标:");
	MovePen(6,9);
	DrawString("当前运行方向:");
	MovePen(6,8);
	DrawString("电梯当前状态:");
	MovePen(6,7);
	DrawString("-呼叫按钮(向上)");
	MovePen(6,6);
	DrawString("-呼叫按钮(向下)");
	MovePen(6,5);
	DrawString("-呼叫按钮(电梯内)");
	elevator = LayEgg();
	MovePen(0, 14);
	SetPen(RED, 0.05);
	DrawLine(3,0);
	DrawLine(0,-1);
	DrawLine(-3,0);
	DrawLine(0,1);
	MoveEgg(2,4);
	screen = LayEgg();
	MovePen(6,12);
	SetPenColor(BLUE);
	DrawString("1");
	MovePen(7,12);
	DrawString("层");
}


//移动电梯 direction=1为向上移动电梯相对纵坐标0.05,direction=0为向下移动电梯相对纵坐标0.05
void move(double length)
{
	SetActiveEgg(elevator);
	OffsetEgg(0,length);
}


//电梯运行到某层或电梯停留在某层,执行此函数
void arriveAt(int layerNumber)
{
	lastLayer = layerNumber;
	SetActiveEgg(screen);
	MovePen(6,12);
	switch(layerNumber)
	{
	case 1: 
		DrawString("1");
		break;
		case 2: 
		DrawString("2");
		break;
		case 3: 
		DrawString("3");
		break;
		case 4: 
		DrawString("4");
		break;
		case 5: 
		DrawString("5");
		break;
		case 6: 
		DrawString("6");
		break;
		case 7: 
		DrawString("7");
		break;
		case 8: 
		DrawString("8");
		break;
		case 9: 
		DrawString("9");
		break;
	}
}

void drawCurrentLayer(int currentLayer)
{
	SetActiveEgg(screen);
	MovePen(10,11);
	drawNum(currentLayer);
}
void drawDestLayer(int destLayer)
{
	SetActiveEgg(screen);
	MovePen(10,10);
	drawNum(destLayer);
}
void drawDirection(int direction)
{
	SetActiveEgg(screen);
	MovePen(10,9);
	if(direction<0)
		DrawString("下");
	else if(direction>0)
		DrawString("上");
	else if(direction==0)
		DrawString("停");
}
void drawStatus(int status)
{
	SetActiveEgg(screen);
	MovePen(10,8);
	if(status==0)
		DrawString("停止");
	else
		DrawString("运行");
}
void drawUp(char * up)
{
	SetActiveEgg(screen);
	MovePen(10.5,7);
	DrawString(up);
}
void drawDown(char * down)
{
	SetActiveEgg(screen);
	MovePen(10.5,6);
	DrawString(down);
}
void drawIn(char * in)
{
	SetActiveEgg(screen);
	MovePen(10.5,5);
	DrawString(in);
}
static void drawNum(int num)
{
	switch(num)
	{
		case 0: 
			DrawString("0");
			break;
		case 1: 
			DrawString("1");
			break;
		case 2: 
			DrawString("2");
			break;
		case 3: 
			DrawString("3");
			break;
		case 4: 
			DrawString("4");
			break;
		case 5: 
			DrawString("5");
			break;
		case 6: 
			DrawString("6");
			break;
		case 7: 
			DrawString("7");
			break;
		case 8: 
			DrawString("8");
			break;
		case 9: 
			DrawString("9");
			break;
		default:
			DrawString("-1");
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -