资源简介
数据结构电梯代码,电梯运行可视化.
仅供参考,请勿抄袭,违者后果自负.
代码片段和文件信息
#include “stdafx.h“
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define OK 1
#define ERROE 0
#define OVERFLOW 0
#define MAXFLOOR 5
#define MAXRUNTIME 1000
#define UP 1 //电梯上
#define DROW -1 //电梯下
#define MAXNUM 15//电梯限制人数
#define NULLFLOOR -2//电梯初始化的参数
#define baseFLOOR 1//本垒层
#define STOP_T 40 //电梯的在某一层的停止时间(超过就回到本垒层)
#define GAP 150 //楼层间距(绘图)Y
#define STARTSHOW 88//开始画图的位置Y
#define SX 100//x轴标记量
#define GH 850
#define GW 980
enum Ele_state{OPENPASSENGERINPASSENGEROUTCLOSERUNINGSTOPSTRAIGHT};//电梯状态
typedef int Status;
unsigned int now_time = 0;//现在的时间
int cur_floor = 1;//刚开始电梯在一楼
static int gap_time = 5;//下一个乘客到来的间隔时间
int OPEN_TIME = 1; //开门时间
int CLOST_TIME = 1; //关门时间
int RUN_base_TIME = 1000;//整体运行单位时间
int STOP_TIME = 1; //停止时间没有乘客时候的检查间隔
int RUNING_TIME = 1; //电梯上下移动时间
int IN_TIME = 1; //进梯时间(一个乘客)
int OUT_TIME = 1; //出梯时间(一个乘客)
int stop_continue_time = 0; //在某一层停止的时间
int cur_state = STOP; //初始状态
int base_runing = 0; //用于判断回到本垒层
static int run_time; //每个状态的运行时间单位
int gap_time_next_passenger = 5;//下一个乘客到达时间参数
int num_p_e[5] = {00000}; //用于描画电梯的每层人数(画图)
int MAX_NUM_PASSENGER = 1000;//最大创造乘客人数
int came_num_passenger = 0;//累计等候乘客的人数
/*******画图模块**********/
/*
函数initImg加载图片
函数showImg在指定位置显示图片
函数showText在指定位置显示文字
函数showLine在指定位置显示线段
函数cleanEN清除电梯的显示
函数cleanEle清除电梯状态图标的显示
函数showEleNum显示电梯运行中的详细数据
函数removeEle移动电梯状态显示
函数cleanPASSM擦除第i层的候梯乘客信息
函数showPASSM显示第i层的候梯乘客信息
函数cleanMessage清除电梯运行信息
函数showMesssge显示电梯运行信息
函数showEleMessage显示电梯内人数
函数showElePassenger显示目的层数的乘客数量i为层数
函数initShow初始化基本画图框架
函数initPaint初始化画图
*/
IMAGE img_up;
IMAGE img_drow;
IMAGE img_open;
IMAGE img_close;
IMAGE img_stop;
IMAGE img_come;
IMAGE img_leave;
IMAGE img_add;
IMAGE img_delect;
IMAGE img;
void initImg(IMAGE &img_upIMAGE &img_drowIMAGE &img_stopIMAGE &img_leaveIMAGE &img_comeIMAGE &img_closeIMAGE &img_openIMAGE &img_addIMAGE &img_delect){
loadimage(&img_up _T(“img\\ele_up.jpg“)5050true);
loadimage(&img_drow _T(“img\\ele_drow.jpg“)5050true);
loadimage(&img_stop _T(“img\\ele_stop.jpg“)5050true);
loadimage(&img_leave _T(“img\\leave.jpg“)5050true);
loadimage(&img_come _T(“img\\come.jpg“)5050true);
loadimage(&img_close _T(“img\\ele_close.jpg“)5050true);
loadimage(&img_open _T(“img\\ele_open.jpg“)5050true);
loadimage(&img_add _T(“img\\add.jpg“)2020true);
loadimage(&img_delect _T(“img\\delect.jpg“)2020true);
img = img_stop;
}
void showImg(IMAGE imgint xint y){
putimage(xy&img);
}
void showText(TCHAR s[]int xint y){
outtextxy(x y s);
}
void showLine(int nXint nYint Xint Y){
line(nXnYXY);
}
void cleanEN(){
for(int i=0;i int ir = 5-i-1;
solidrectangle(0STARTSHOW+ir*GAP+15140STARTSHOW+ir*GAP+
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-02-12 14:01 电梯\
文件 28359 2016-12-28 17:32 电梯\ele.cpp
目录 0 2017-02-12 14:01 电梯\可运行程序\
文件 48128 2016-12-28 17:32 电梯\可运行程序\ELE(要和img文件夹在同一层) (2).exe
目录 0 2017-02-12 14:01 电梯\可运行程序\img\
文件 58880 2016-12-28 17:19 电梯\可运行程序\img\Thumbs.db
文件 120054 2016-12-27 14:28 电梯\可运行程序\img\add.jpg
文件 3274 2016-12-26 22:00 电梯\可运行程序\img\come.jpg
文件 2655 2016-12-26 22:18 电梯\可运行程序\img\delect.jpg
文件 120054 2016-12-15 16:58 电梯\可运行程序\img\ele.jpg
文件 7068 2016-12-26 21:56 电梯\可运行程序\img\ele_close.jpg
文件 3042 2016-12-26 21:43 电梯\可运行程序\img\ele_drow.jpg
文件 120054 2016-12-27 13:49 电梯\可运行程序\img\ele_open.jpg
文件 6005 2016-12-26 21:43 电梯\可运行程序\img\ele_stop.jpg
文件 120054 2016-12-27 13:53 电梯\可运行程序\img\ele_up.jpg
文件 3324 2016-12-26 21:59 电梯\可运行程序\img\leave.jpg
- 上一篇:nginx三套视频教程
- 下一篇:simplorer10
评论
共有 条评论