49 Commits

Author SHA1 Message Date
f179dcbf4e 重写了CI的逻辑
Some checks failed
windows-build / Build the application (push) Has been cancelled
2022-07-07 20:26:55 +08:00
aa6ae9d69d 再次修改构建文件的路径
Some checks failed
windows-build / Build the application (push) Has been cancelled
2022-07-07 20:00:39 +08:00
9ad11c4280 路径中斜杠替换为反斜杠 2022-07-07 19:11:29 +08:00
58a3b8c4fb 在README文件中添加了徽章
修改CI文件
2022-07-07 18:14:36 +08:00
bd5d52949c 文件路径中缺失了Release 2022-07-07 18:03:04 +08:00
9f0ce782e4 删除了Cmake配置文件中多余的部分 2022-07-07 17:55:40 +08:00
c38a9010c3 添加了CI文件 2022-07-07 17:46:26 +08:00
013ce3a434 完善了README文档 2022-07-05 18:10:54 +08:00
8657066b49 再次修复了代码
提高了代码的可读性
2022-07-04 17:17:49 +08:00
dc7635d8d0 添加了轨道和位置点 2022-07-04 17:09:22 +08:00
73b096aa3d 修复了到站不停车的问题
用nullptr替代了NULL
2022-07-01 20:00:30 +08:00
752ddf8a33 将Debug模式的生成子系统设为CONSOlE便于调试 2022-07-01 17:13:12 +08:00
21af2c0311 将tick的持续时间设置了全局常量 2022-07-01 16:38:07 +08:00
10505c38b4 将程序的生成子系统调整为Windows 2022-07-01 16:37:47 +08:00
8cd607ec75 完善了注释 2022-06-29 17:25:33 +08:00
a9c1d2dbf8 完善了README文件
重写了获得公交车位置的函数
2022-06-29 16:47:19 +08:00
79c3318faa 添加了停止公交车效果 2022-06-29 12:14:38 +08:00
1a0c65383b 添加了显示当前策略的标签
调整了公交车的位置
2022-06-29 11:33:43 +08:00
3ab2edf65c 添加了站点编号 2022-06-28 22:55:00 +08:00
2a5b4b3841 修复了车闪现的问题 2022-06-28 22:42:48 +08:00
ccf82dd0f5 这幽灵车终于跑起来了 2022-06-28 21:15:50 +08:00
ab830fcd9e 日志的打印完成
控制开始结束的流程完成
2022-06-28 18:44:55 +08:00
112299b02f 添加了公交车动画函数 2022-06-28 12:23:55 +08:00
35569b093d 将PosPair类独立出来
添加了公交车显示类
2022-06-28 11:10:49 +08:00
b2b043e227 重新设计控制器同GUI之间的关系
重写了GetBusDirection函数
2022-06-28 09:57:43 +08:00
e5d7f0b238 添加了README文件 2022-06-27 17:02:31 +08:00
672e26d175 新建了策略工厂类 2022-06-27 14:21:07 +08:00
ad37da5974 新建了策略控制基类
实现了三种策略的策略控制类
2022-06-27 13:59:58 +08:00
ce7986b5a6 删除了冗长的公交车控制类
设计了单独的公交车类
2022-06-27 13:18:50 +08:00
50aa9d9c6a 添加了获得公交车在画布中位置的函数 2022-06-27 11:00:00 +08:00
6c9328d783 重写了删除请求列表中对象的函数 2022-06-26 19:44:52 +08:00
c9b7908e4c 获得方向与处理请求两个槽函数完成 2022-06-26 18:10:47 +08:00
04d6ab09ee 创建请求相关动作完成 2022-06-26 17:21:24 +08:00
54c4521fb2 读取配置文件后重绘站点图重设下拉栏
修复了释放轨道链表内存空间时未判断指针是否为空的问题
修复了绘制站点图部分站点位置计算错误的问题
2022-06-26 15:02:43 +08:00
48cd806197 多线程开始 2022-06-26 13:57:45 +08:00
4709b1ad7c 重新设计了轨道管理类 2022-06-26 13:06:22 +08:00
a044ff1044 完善了请求列表的相关槽函数 2022-06-26 12:09:19 +08:00
7cbdf5963e 展示请求队列的widget 2022-06-26 11:02:21 +08:00
ac6a9c9a68 添加了打开配置文件的功能 2022-06-25 16:35:07 +08:00
d67c91f4c8 移植了所有的策略控制函数 2022-06-17 12:18:43 +08:00
a464744bda 移植了读取配置文件 获得请求距离 判断是否到站三个函数 2022-06-17 11:25:02 +08:00
f18f545618 显示了站点的图片 2022-06-17 10:33:28 +08:00
5b2045675d 成功显示了公交车的图片 2022-06-16 22:42:55 +08:00
fa843258ce 添加了资源文件 2022-06-16 21:45:49 +08:00
48947253f2 添加了公交车控制类 2022-06-11 19:05:06 +08:00
2c73b1d2ed 添加了常量定义头文件 2022-06-11 19:04:47 +08:00
35fa35de3f 添加了请求控制类
添加了注释
2022-06-10 23:33:20 +08:00
6380265faa 添加了轨道类 2022-06-10 21:21:35 +08:00
2eb368ddfa Create GUI Branch 2022-06-10 19:52:43 +08:00
379 changed files with 3154 additions and 107011 deletions

55
.github/workflows/build.yml vendored Normal file
View File

@@ -0,0 +1,55 @@
name: windows-build
on:
# 在设置git tag时触发执行
push:
tags:
- 'v*'
env:
# 设置编译的类型
BUILD_TYPE: Release
jobs:
build:
name: "Build the application"
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- name: Install Qt
# 安装Qt
uses: jurplel/install-qt-action@v2
with:
version: '6.1.3'
host: 'windows'
target: 'desktop'
arch: 'win64_msvc2019_64'
- name: Config Cmake
# 设置cmake
env:
CMAKE_PREFIX_PATH: ${{env.Qt6_Dir}}
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- name: Compile
# 编译程序
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Deploy Qt
# 寻找需要的dll并压缩为单个文件
run: |
mkdir release
cp build/Release/auto_bus_gui.exe release
windeployqt release/auto_bus_gui.exe
7z a release.zip .\release\*
- name: Upload Release
# 上传发布
uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
prerelease: false
files: |
release.zip

9
.gitignore vendored
View File

@@ -1,14 +1,9 @@
# 项目的构建文件夹
build/
cmake-build-*/
# VSCode的配置文件夹
.vscode/
# CLion的配置文件夹
.idea/
# draw.io的缓存文件
*.bkp
# 合成的全部代码文件
all.c
.idea/

View File

@@ -1,21 +1,40 @@
cmake_minimum_required(VERSION 3.10) # 设置cmake项目需要的cmake最小版本
cmake_minimum_required(VERSION 3.10)
project(auto_bus_gui)
add_subdirectory(test)
add_subdirectory(all_test)
file(GLOB_RECURSE QRC_SOURCE_FILES ${PROJECT_SOURCE_DIR}/*.qrc)
project(auto_pilot_bus) # 设置项目的名称
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
set(QRC_SOURCE_FILES Resources.qrc)
set(CMAKE_C_STANDARD 11) # 设置项目的C语言标准版本
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
set(CMAKE_PREFIX_PATH "C:/Users/ricardo.DESKTOP-N6OVBK5/Programs/Qt/6.1.3/msvc2019_64")
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/build) # 设置项目的产生的库的路径,这里直接设为二进制文件处
find_package(Qt6 COMPONENTS
Core
Gui
Widgets
REQUIRED)
qt6_add_resources(QRC_FILES ${QRC_SOURCE_FILES})
SOURCE_GROUP("Resource Files" FILES ${QRC_SOURCE_FILES})
# 设置项目的头文件目录
include_directories(
${PROJECT_SOURCE_DIR}/include/
${PROJECT_SOURCE_DIR}/include
${PROJECT_SOURCE_DIR}/src/header
)
aux_source_directory(./src SRC)
aux_source_directory(${PROJECT_SOURCE_DIR}/src SRCS)
# 产生可执行文件
add_executable(bus main.c ${SRC})
if (CMAKE_BUILD_TYPE MATCHES "Debug")
add_executable(auto_bus_gui main.cpp ${SRCS} ${QRC_FILES})
else()
add_executable(auto_bus_gui WIN32 main.cpp ${SRCS} ${QRC_FILES})
endif ()
target_link_libraries(auto_bus_gui
Qt::Core
Qt::Gui
Qt::Widgets
)

View File

@@ -1,79 +1,51 @@
# Auto Pilot Bus
# Auto Bus GUI
## 项目简介
[![windows-build](https://github.com/jackfiled/auto_bus/actions/workflows/build.yml/badge.svg)](https://github.com/jackfiled/auto_bus/actions/workflows/build.yml)
北京邮电大学计算机学院2021级《计算导论与程序设计》实践大作业项目仓库
北京邮电大学计算机学院2021级《计算导论与程序设计》实践大作业“公交车调度”的GUI分支
在指定的公交车行驶模型下,实现指定的算法以实现对于公交车的自动调度。
## 构建
## 项目使用
### 构建环境
### 项目结构
- 编译器`Visual Studio 2022 MSVC++ 14.3`
- Qt` 6.1.3`
- CMake `3.22`
```
auto_pilot_bus
|
+-all_test //本地测试文件夹
|
+-docs // 文档文件夹
|
+-include // 头文件文件夹
|
+-src // 源代码文件夹
|
+-test //单元测试文件夹
|
+-main.c // 程序入口
+-convert.py //产生测试集的Python脚本
+-main.py //将C代码合并到同一个文件的Python脚本
+-CMakeLists.txt // CMake文件
+-.gitignore //git的忽略文件名录
+-README.md // 项目介绍文件
```
### 编译环境
- 编译器 `MinGW-W64 gcc 8.1.0`
- 编译工具 `cmake 3.23.1`
### 项目使用
处在校园网环境在
> 参考信息化中心的这篇[文章](https://nic.bupt.edu.cn/info/1016/1301.htm)安装VPN客户端
使用
```bash
git clone http://10.3.255.244:8801/2021211180/2021211180.git
```
下载仓库,在下载过程中可能提示输入账号和密码认证,账号即为你的学号,密码就是你登录`GitLab`时输入的密码。
下载完成后文件夹`2021211180`即为项目的文件夹。
使用
### 构建
```bash
cd 20212111180
mkdir build # 创建编译的文件夹
git clone https://github.com/jackfiled/auto_bus.git
git checkout -b gui origin/gui
mkdir build
cd build
cmake .. -G "MinGW Makefiles" # 在第一次生成之后就不必再使用"-G"参数指定编译类型
cmake --build .
cmake .. -G "Visual Studio 17 2022"
```
在编译执行完成之后,`build`文件下的`bus.exe`即为编译产生的程序
再使用`Visual Studio 2022`打开`build`文件下的解决方案文件,即可编译
## 项目测试
> 或者直接使用VS打开签出分支之后的项目文件夹也可编译使用。
>
> Visual Studio 2022已经支持用`cmake`管理并编译`C/C++`项目。
### 单元测试
## 使用
在编译之后,`build/test`文件夹内即为`google test`框架生成的单元测试。
![主界面截图](md_pic/main.png)
### 本地测试
### 主界面
在编译之后,`build/all_test`内的`bus_all_test.exe`就是全局本地测试程序
主界面由四个部分组成,分别是最上方的菜单栏,左侧的动画区,右侧的控制面板,下方的日志输出
运行这个程序,根据程序的提示选择适当的测试集,程序会自动读取选定的测试集中的配置文件和输入文件,并且将程序的输出和测试集中的输出文件进行对比,输出比对的结果。
### 使用
程序现有的测试集存储在`all_test/test_cases`下面目前已有18个测试集对应测试集采用的调度策略可以查看测试集中的配置文件。
首先使用`File-Read ConfigFile`读取一个配置文件,在读取结束后动画区会显示公交车与公交站台,在控制面板的上方会显示当前选择的策略种类
使用`Run-Run Bus``Run-Stop Bus`控制公交的启动和停止。在开始运行之后,在日志输出区会打印当前的状态。
在控制面板的下方可以查看当前存在的请求与添加请求。
![运行时截图](md_pic/running.png)
### 策略上的补充说明
由于GUI的性质所有的请求都是立即调度的不同于OJ版的等待一个clock结束之后在进行调度。

8
Resources.qrc Normal file
View File

@@ -0,0 +1,8 @@
<RCC>
<qresource prefix="/">
<file>picture/stop.png</file>
</qresource>
<qresource prefix="/">
<file>picture/bus.png</file>
</qresource>
</RCC>

View File

@@ -1,15 +0,0 @@
cmake_minimum_required(VERSION 3.0)
project(bus_all_test)
include_directories(../include)
include_directories(include)
aux_source_directory("../src/" SRCS)
aux_source_directory("${CMAKE_CURRENT_SOURCE_DIR}/src" ALL_TEST_SRCS)
add_executable(bus_all_test ${SRCS} ${ALL_TEST_SRCS} main.c)
add_custom_command(TARGET bus_all_test POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory
"${CMAKE_CURRENT_SOURCE_DIR}/test_cases"
"$<TARGET_FILE_DIR:bus_all_test>/test_cases")

View File

@@ -1,24 +0,0 @@
//
// Created by ricardo on 2022/5/20.
//
#ifndef AUTO_PILOT_BUS_TOOLS_H
#define AUTO_PILOT_BUS_TOOLS_H
#include "stdio.h"
#include "string.h"
#include "define.h"
#include "rail.h"
#include "controller.h"
void ChooseTestCaseInput(char *path, int index);
void ChooseTestCaseOutput(char *path, int index);
rail_node_t *ChooseConfigFile(int index);
void ReadOutputFile(char *result, FILE *f);
int CheckOutput(char *program_output, char *read_output);
rail_node_t *ReadChosenConfigFile(char *config_file_path);
#endif //AUTO_PILOT_BUS_TOOLS_H

View File

@@ -1,258 +0,0 @@
//
// Created by ricardo on 2022/5/20.
//
#include "bus_io.h"
#include "tools.h"
int main()
{
/**
* 输入的字符串
*/
char input[30];
/**
* 输出的字符串
*/
char output[150];
/**
* the_bus指针的本体
*/
bus_t main_bus;
/**
* 公交车前进的方向
*/
int direction;
/**
* 完成的请求
*/
bus_query_t *finished_query;
int index;
char path[50];
char read_output[150];
FILE *input_file = NULL;
FILE *output_file = NULL;
printf("Please choose which test case to use:");
scanf("%d", &index);
ChooseTestCaseInput(path, index);
input_file = fopen(path, "r");
ChooseTestCaseOutput(path, index);
output_file = fopen(path, "r");
// 读取配置文件
rails = ChooseConfigFile(index);
// 制造公交车
the_bus = &main_bus;
the_bus->distance = 0;
the_bus->rail_node_pos = FindNode(rails, 1);
// 开始时公交车应该是停下的
direction = BUS_STOP;
PrintStateInner(output);
ReadOutputFile(read_output, output_file);
if(CheckOutput(output, read_output) == BUS_FAlSE)
{
printf("Right:\n");
printf("%s", read_output);
printf("Wrong:\n");
printf("%s", output);
printf("\n"); // 打印一个空白作为分界线
}
else
{
printf("%d Ok\n", bus_time);
}
for(;;)
{
fgets(input, sizeof input, input_file);
int result = ReadInput(input);
if(result == IO_CLOCK)
{
// 时间流动
AddTime();
switch (chosen_strategy)
{
case BUS_FCFS:
// 如果到站,处理请求和
if(JudgeOnStation() == BUS_TRUE)
{
direction = FCFSDirection(); //在开始得判断一次方向
finished_query = FCFSQuery();
if(finished_query != NULL) // 有请求就处理请求
{
// 循环处理所有可以处理的请求,总共消耗一秒
while (finished_query != NULL)
{
DeleteQuery(finished_query);
finished_query = FCFSQuery();
}
// 请求处理完再进行方向的判断
direction = FCFSDirection();
}
else //如果没有请求就继续前进
{
RunBus(direction);
}
}
else
{
RunBus(direction);
}
break;
case BUS_SSTF:
if(JudgeOnStation() == BUS_TRUE)
{
// 在没有目标请求的时候,获取一个目标站点
if(target_query == NULL)
{
target_query = SSTFGetQuery();
direction = SSTFDirection(target_query);
// 处理下一个需要处理的请求就在脚底下的情况
if(target_query != NULL && direction == BUS_STOP && target_query->node == the_bus->rail_node_pos)
{
while (target_query != NULL && direction == BUS_STOP && target_query->node == the_bus->rail_node_pos)
{
DeleteQuery(target_query);
target_query = SSTFGetQuery();
direction = SSTFDirection(target_query);
}
}
RunBus(direction);
}
else
{
bus_query_t *btw_query = SSTFBTWQuery(direction);
// 如果到站了
if(target_query->node == the_bus->rail_node_pos)
{
// 如果刚好在站点上就有不少请求,处理一波
// 这里利用了&&运算符的短路特性,如果第一个判断为假,则不进行下一个判断,也就避免了段错误
while (target_query != NULL && target_query->node == the_bus->rail_node_pos)
{
DeleteQuery(target_query);
target_query = SSTFGetQuery();
direction = SSTFDirection(target_query);
}
}
else if(btw_query != NULL)
{
// 如果没有到站就看看能不能顺便服务
while (btw_query != NULL)
{
DeleteQuery(btw_query);
btw_query = SSTFBTWQuery(direction);
}
}
else
{
// 如果啥也不能做就走吧
RunBus(direction);
}
}
}
else
{
// 没到站的话那就走吧
RunBus(direction);
}
break;
case BUS_SCAN:
// 如果没有指定的请求就获得指定的请求
if(JudgeOnStation() == BUS_TRUE)
{
// 在没有目标请求的时候,获取一个目标站点
if(target_query == NULL)
{
target_query = SCANGetQuery(direction);
direction = SCANDirection(target_query, direction);
// 处理下一个需要处理的请求就在脚底下的情况
if(target_query != NULL && target_query->node == the_bus->rail_node_pos)
{
while (target_query != NULL && target_query->node == the_bus->rail_node_pos)
{
DeleteQuery(target_query);
target_query = SSTFGetQuery();
direction = SSTFDirection(target_query);
}
}
RunBus(direction);
}
else
{
bus_query_t *btw_query = SCANBTWQuery();
// 如果到站了
if(target_query->node == the_bus->rail_node_pos)
{
// 如果刚好在站点上就有不少请求,处理一波
// 这里利用了&&运算符的短路特性,如果第一个判断为假,则不进行下一个判断,也就避免了段错误
while (target_query != NULL && target_query->node == the_bus->rail_node_pos)
{
DeleteQuery(target_query);
target_query = SCANGetQuery(direction);
direction = SCANDirection(target_query, direction);
}
}
else if(btw_query != NULL)
{
// 如果没有到站就看看能不能顺便服务
while (btw_query != NULL)
{
DeleteQuery(btw_query);
btw_query = SCANBTWQuery();
}
}
else
{
// 如果啥也不能做就走吧
RunBus(direction);
}
}
}
else
{
// 没到站的话那就走吧
RunBus(direction);
}
break;
default:
// 这个分支只是为了符合代码规范而存在,理论上不会用到这个分支
break;
}
PrintStateInner(output);
ReadOutputFile(read_output, output_file);
if(CheckOutput(output, read_output) == BUS_FAlSE)
{
printf("Right:\n");
printf("%s", read_output);
printf("Wrong:\n");
printf("%s", output);
printf("\n"); // 打印一个空白行作为分界线
}
else
{
printf("%d Ok\n", bus_time);
}
}
else if(result == IO_END)
{
printf("end\n");
break;
}
else
{
//在读取到创建请求的情况下,不做任何事
}
}
}

View File

@@ -1,3 +0,0 @@
TOTAL_STATION = 10
STRATEGY = FCFS
DISTANCE = 3

View File

@@ -1,21 +0,0 @@
clock
counterclockwise 3
clock
clock
clock
clock
clock
clock
target 10
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
end

View File

@@ -1,134 +0,0 @@
TIME:0
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:1
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:2
BUS:
position:1
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0010000000
TIME:3
BUS:
position:2
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0010000000
TIME:4
BUS:
position:3
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0010000000
TIME:5
BUS:
position:4
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0010000000
TIME:6
BUS:
position:5
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0010000000
TIME:7
BUS:
position:6
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0010000000
TIME:8
BUS:
position:6
target:0000000001
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:9
BUS:
position:5
target:0000000001
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:10
BUS:
position:4
target:0000000001
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:11
BUS:
position:3
target:0000000001
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:12
BUS:
position:2
target:0000000001
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:13
BUS:
position:1
target:0000000001
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:14
BUS:
position:0
target:0000000001
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:15
BUS:
position:29
target:0000000001
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:16
BUS:
position:28
target:0000000001
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:17
BUS:
position:27
target:0000000001
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:18
BUS:
position:27
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
end

View File

@@ -1,3 +0,0 @@
TOTAL_STATION = 10
STRATEGY = SSTF
#end

View File

@@ -1,11 +0,0 @@
clock
clockwise 8
clock
clockwise 8
clock
clock
clock
clock
clock
clock
end

View File

@@ -1,64 +0,0 @@
TIME:0
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:1
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:2
BUS:
position:19
target:0000000000
STATION:
clockwise:0000000100
counterclockwise:0000000000
TIME:3
BUS:
position:18
target:0000000000
STATION:
clockwise:0000000100
counterclockwise:0000000000
TIME:4
BUS:
position:17
target:0000000000
STATION:
clockwise:0000000100
counterclockwise:0000000000
TIME:5
BUS:
position:16
target:0000000000
STATION:
clockwise:0000000100
counterclockwise:0000000000
TIME:6
BUS:
position:15
target:0000000000
STATION:
clockwise:0000000100
counterclockwise:0000000000
TIME:7
BUS:
position:14
target:0000000000
STATION:
clockwise:0000000100
counterclockwise:0000000000
TIME:8
BUS:
position:14
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
end

View File

@@ -1,3 +0,0 @@
TOTAL_STATION = 10
STRATEGY = SSTF
#end

View File

@@ -1,14 +0,0 @@
clock
clockwise 8
clock
clockwise 9
clock
clock
clock
clock
clock
clock
clock
clock
clock
end

View File

@@ -1,85 +0,0 @@
TIME:0
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:1
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:2
BUS:
position:19
target:0000000000
STATION:
clockwise:0000000100
counterclockwise:0000000000
TIME:3
BUS:
position:18
target:0000000000
STATION:
clockwise:0000000110
counterclockwise:0000000000
TIME:4
BUS:
position:17
target:0000000000
STATION:
clockwise:0000000110
counterclockwise:0000000000
TIME:5
BUS:
position:16
target:0000000000
STATION:
clockwise:0000000110
counterclockwise:0000000000
TIME:6
BUS:
position:15
target:0000000000
STATION:
clockwise:0000000110
counterclockwise:0000000000
TIME:7
BUS:
position:14
target:0000000000
STATION:
clockwise:0000000110
counterclockwise:0000000000
TIME:8
BUS:
position:14
target:0000000000
STATION:
clockwise:0000000010
counterclockwise:0000000000
TIME:9
BUS:
position:15
target:0000000000
STATION:
clockwise:0000000010
counterclockwise:0000000000
TIME:10
BUS:
position:16
target:0000000000
STATION:
clockwise:0000000010
counterclockwise:0000000000
TIME:11
BUS:
position:16
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
end

View File

@@ -1,3 +0,0 @@
TOTAL_STATION = 10
STRATEGY = SSTF
#end

View File

@@ -1,14 +0,0 @@
clock
clockwise 4
clock
clock
clock
target 3
clock
clock
clock
clock
clock
clock
clock
end

View File

@@ -1,85 +0,0 @@
TIME:0
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:1
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:2
BUS:
position:1
target:0000000000
STATION:
clockwise:0001000000
counterclockwise:0000000000
TIME:3
BUS:
position:2
target:0000000000
STATION:
clockwise:0001000000
counterclockwise:0000000000
TIME:4
BUS:
position:3
target:0000000000
STATION:
clockwise:0001000000
counterclockwise:0000000000
TIME:5
BUS:
position:4
target:0010000000
STATION:
clockwise:0001000000
counterclockwise:0000000000
TIME:6
BUS:
position:4
target:0000000000
STATION:
clockwise:0001000000
counterclockwise:0000000000
TIME:7
BUS:
position:5
target:0000000000
STATION:
clockwise:0001000000
counterclockwise:0000000000
TIME:8
BUS:
position:6
target:0000000000
STATION:
clockwise:0001000000
counterclockwise:0000000000
TIME:9
BUS:
position:6
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:10
BUS:
position:6
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:11
BUS:
position:6
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
end

View File

@@ -1,3 +0,0 @@
TOTAL_STATION = 10
STRATEGY = SSTF
#end

View File

@@ -1,16 +0,0 @@
clock
clockwise 4
clock
clockwise 5
clock
counterclockwise 4
clock
target 4
clock
clock
clock
clock
clock
clock
clock
end

View File

@@ -1,85 +0,0 @@
TIME:0
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:1
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:2
BUS:
position:1
target:0000000000
STATION:
clockwise:0001000000
counterclockwise:0000000000
TIME:3
BUS:
position:2
target:0000000000
STATION:
clockwise:0001100000
counterclockwise:0000000000
TIME:4
BUS:
position:3
target:0000000000
STATION:
clockwise:0001100000
counterclockwise:0001000000
TIME:5
BUS:
position:4
target:0001000000
STATION:
clockwise:0001100000
counterclockwise:0001000000
TIME:6
BUS:
position:5
target:0001000000
STATION:
clockwise:0001100000
counterclockwise:0001000000
TIME:7
BUS:
position:6
target:0001000000
STATION:
clockwise:0001100000
counterclockwise:0001000000
TIME:8
BUS:
position:6
target:0000000000
STATION:
clockwise:0000100000
counterclockwise:0000000000
TIME:9
BUS:
position:7
target:0000000000
STATION:
clockwise:0000100000
counterclockwise:0000000000
TIME:10
BUS:
position:8
target:0000000000
STATION:
clockwise:0000100000
counterclockwise:0000000000
TIME:11
BUS:
position:8
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
end

View File

@@ -1,3 +0,0 @@
TOTAL_STATION = 10
STRATEGY = SSTF
#end

View File

@@ -1,12 +0,0 @@
clock
clockwise 2
counterclockwise 10
clock
clock
clock
clock
clock
clock
clock
clock
end

View File

@@ -1,71 +0,0 @@
TIME:0
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:1
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:2
BUS:
position:1
target:0000000000
STATION:
clockwise:0100000000
counterclockwise:0000000001
TIME:3
BUS:
position:2
target:0000000000
STATION:
clockwise:0100000000
counterclockwise:0000000001
TIME:4
BUS:
position:2
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000001
TIME:5
BUS:
position:1
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000001
TIME:6
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000001
TIME:7
BUS:
position:19
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000001
TIME:8
BUS:
position:18
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000001
TIME:9
BUS:
position:18
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
end

View File

@@ -1,3 +0,0 @@
TOTAL_STATION = 10
STRATEGY = SSTF
#end

View File

@@ -1,48 +0,0 @@
clock
clockwise 6
clock
clockwise 5
clock
counterclockwise 9
clock
target 3
clock
clock
target 10
clockwise 7
clock
target 1
clock
counterclockwise 2
clock
target 4
clock
target 8
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
end

View File

@@ -1,267 +0,0 @@
TIME:0
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:1
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:2
BUS:
position:1
target:0000000000
STATION:
clockwise:0000010000
counterclockwise:0000000000
TIME:3
BUS:
position:2
target:0000000000
STATION:
clockwise:0000110000
counterclockwise:0000000000
TIME:4
BUS:
position:3
target:0000000000
STATION:
clockwise:0000110000
counterclockwise:0000000010
TIME:5
BUS:
position:4
target:0010000000
STATION:
clockwise:0000110000
counterclockwise:0000000010
TIME:6
BUS:
position:4
target:0000000000
STATION:
clockwise:0000110000
counterclockwise:0000000010
TIME:7
BUS:
position:5
target:0000000001
STATION:
clockwise:0000111000
counterclockwise:0000000010
TIME:8
BUS:
position:6
target:1000000001
STATION:
clockwise:0000111000
counterclockwise:0000000010
TIME:9
BUS:
position:7
target:1000000001
STATION:
clockwise:0000111000
counterclockwise:0100000010
TIME:10
BUS:
position:8
target:1001000001
STATION:
clockwise:0000111000
counterclockwise:0100000010
TIME:11
BUS:
position:8
target:1001000101
STATION:
clockwise:0000011000
counterclockwise:0100000010
TIME:12
BUS:
position:9
target:1001000101
STATION:
clockwise:0000011000
counterclockwise:0100000010
TIME:13
BUS:
position:10
target:1001000101
STATION:
clockwise:0000011000
counterclockwise:0100000010
TIME:14
BUS:
position:10
target:1001000101
STATION:
clockwise:0000001000
counterclockwise:0100000010
TIME:15
BUS:
position:11
target:1001000101
STATION:
clockwise:0000001000
counterclockwise:0100000010
TIME:16
BUS:
position:12
target:1001000101
STATION:
clockwise:0000001000
counterclockwise:0100000010
TIME:17
BUS:
position:12
target:1001000101
STATION:
clockwise:0000000000
counterclockwise:0100000010
TIME:18
BUS:
position:13
target:1001000101
STATION:
clockwise:0000000000
counterclockwise:0100000010
TIME:19
BUS:
position:14
target:1001000101
STATION:
clockwise:0000000000
counterclockwise:0100000010
TIME:20
BUS:
position:14
target:1001000001
STATION:
clockwise:0000000000
counterclockwise:0100000010
TIME:21
BUS:
position:15
target:1001000001
STATION:
clockwise:0000000000
counterclockwise:0100000010
TIME:22
BUS:
position:16
target:1001000001
STATION:
clockwise:0000000000
counterclockwise:0100000010
TIME:23
BUS:
position:16
target:1001000001
STATION:
clockwise:0000000000
counterclockwise:0100000000
TIME:24
BUS:
position:17
target:1001000001
STATION:
clockwise:0000000000
counterclockwise:0100000000
TIME:25
BUS:
position:18
target:1001000001
STATION:
clockwise:0000000000
counterclockwise:0100000000
TIME:26
BUS:
position:18
target:1001000000
STATION:
clockwise:0000000000
counterclockwise:0100000000
TIME:27
BUS:
position:19
target:1001000000
STATION:
clockwise:0000000000
counterclockwise:0100000000
TIME:28
BUS:
position:0
target:1001000000
STATION:
clockwise:0000000000
counterclockwise:0100000000
TIME:29
BUS:
position:0
target:0001000000
STATION:
clockwise:0000000000
counterclockwise:0100000000
TIME:30
BUS:
position:1
target:0001000000
STATION:
clockwise:0000000000
counterclockwise:0100000000
TIME:31
BUS:
position:2
target:0001000000
STATION:
clockwise:0000000000
counterclockwise:0100000000
TIME:32
BUS:
position:2
target:0001000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:33
BUS:
position:3
target:0001000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:34
BUS:
position:4
target:0001000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:35
BUS:
position:5
target:0001000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:36
BUS:
position:6
target:0001000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:37
BUS:
position:6
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
end

View File

@@ -1,3 +0,0 @@
TOTAL_STATION = 10
STRATEGY = SSTF
#end

View File

@@ -1,24 +0,0 @@
clock
clockwise 8
clock
counterclockwise 9
clock
clock
clock
clock
clock
clock
clock
clock
clock
clockwise 6
clock
counterclockwise 7
clock
clock
clock
clock
clock
clock
clock
end

View File

@@ -1,141 +0,0 @@
TIME:0
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:1
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:2
BUS:
position:19
target:0000000000
STATION:
clockwise:0000000100
counterclockwise:0000000000
TIME:3
BUS:
position:18
target:0000000000
STATION:
clockwise:0000000100
counterclockwise:0000000010
TIME:4
BUS:
position:17
target:0000000000
STATION:
clockwise:0000000100
counterclockwise:0000000010
TIME:5
BUS:
position:16
target:0000000000
STATION:
clockwise:0000000100
counterclockwise:0000000010
TIME:6
BUS:
position:16
target:0000000000
STATION:
clockwise:0000000100
counterclockwise:0000000000
TIME:7
BUS:
position:15
target:0000000000
STATION:
clockwise:0000000100
counterclockwise:0000000000
TIME:8
BUS:
position:14
target:0000000000
STATION:
clockwise:0000000100
counterclockwise:0000000000
TIME:9
BUS:
position:14
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:10
BUS:
position:14
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:11
BUS:
position:14
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:12
BUS:
position:13
target:0000000000
STATION:
clockwise:0000010000
counterclockwise:0000000000
TIME:13
BUS:
position:12
target:0000000000
STATION:
clockwise:0000010000
counterclockwise:0000001000
TIME:14
BUS:
position:12
target:0000000000
STATION:
clockwise:0000010000
counterclockwise:0000000000
TIME:15
BUS:
position:11
target:0000000000
STATION:
clockwise:0000010000
counterclockwise:0000000000
TIME:16
BUS:
position:10
target:0000000000
STATION:
clockwise:0000010000
counterclockwise:0000000000
TIME:17
BUS:
position:10
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:18
BUS:
position:10
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:19
BUS:
position:10
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
end

View File

@@ -1,3 +0,0 @@
TOTAL_STATION = 10
STRATEGY = SSTF
#end

View File

@@ -1,15 +0,0 @@
clock
counterclockwise 6
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
end

View File

@@ -1,99 +0,0 @@
TIME:0
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:1
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:2
BUS:
position:1
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000010000
TIME:3
BUS:
position:2
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000010000
TIME:4
BUS:
position:3
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000010000
TIME:5
BUS:
position:4
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000010000
TIME:6
BUS:
position:5
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000010000
TIME:7
BUS:
position:6
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000010000
TIME:8
BUS:
position:7
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000010000
TIME:9
BUS:
position:8
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000010000
TIME:10
BUS:
position:9
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000010000
TIME:11
BUS:
position:10
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000010000
TIME:12
BUS:
position:10
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:13
BUS:
position:10
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
end

View File

@@ -1,3 +0,0 @@
TOTAL_STATION = 10
DISTANCE = 3
STRATEGY = SCAN

View File

@@ -1,57 +0,0 @@
clock
clockwise 7
clockwise 2
clock
clock
clock
target 7
clock
clock
counterclockwise 7
clockwise 2
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
target 2
target 3
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
target 1
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
end

View File

@@ -1,344 +0,0 @@
TIME:0
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:1
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:2
BUS:
position:1
target:0000000000
STATION:
clockwise:0100001000
counterclockwise:0000000000
TIME:3
BUS:
position:2
target:0000000000
STATION:
clockwise:0100001000
counterclockwise:0000000000
TIME:4
BUS:
position:3
target:0000000000
STATION:
clockwise:0100001000
counterclockwise:0000000000
TIME:5
BUS:
position:3
target:0000001000
STATION:
clockwise:0000001000
counterclockwise:0000000000
TIME:6
BUS:
position:4
target:0000001000
STATION:
clockwise:0000001000
counterclockwise:0000000000
TIME:7
BUS:
position:5
target:0000001000
STATION:
clockwise:0100001000
counterclockwise:0000001000
TIME:8
BUS:
position:6
target:0000001000
STATION:
clockwise:0100001000
counterclockwise:0000001000
TIME:9
BUS:
position:7
target:0000001000
STATION:
clockwise:0100001000
counterclockwise:0000001000
TIME:10
BUS:
position:8
target:0000001000
STATION:
clockwise:0100001000
counterclockwise:0000001000
TIME:11
BUS:
position:9
target:0000001000
STATION:
clockwise:0100001000
counterclockwise:0000001000
TIME:12
BUS:
position:10
target:0000001000
STATION:
clockwise:0100001000
counterclockwise:0000001000
TIME:13
BUS:
position:11
target:0000001000
STATION:
clockwise:0100001000
counterclockwise:0000001000
TIME:14
BUS:
position:12
target:0000001000
STATION:
clockwise:0100001000
counterclockwise:0000001000
TIME:15
BUS:
position:13
target:0000001000
STATION:
clockwise:0100001000
counterclockwise:0000001000
TIME:16
BUS:
position:14
target:0000001000
STATION:
clockwise:0100001000
counterclockwise:0000001000
TIME:17
BUS:
position:15
target:0000001000
STATION:
clockwise:0100001000
counterclockwise:0000001000
TIME:18
BUS:
position:16
target:0000001000
STATION:
clockwise:0100001000
counterclockwise:0000001000
TIME:19
BUS:
position:17
target:0000001000
STATION:
clockwise:0100001000
counterclockwise:0000001000
TIME:20
BUS:
position:18
target:0000001000
STATION:
clockwise:0100001000
counterclockwise:0000001000
TIME:21
BUS:
position:18
target:0110000000
STATION:
clockwise:0100000000
counterclockwise:0000000000
TIME:22
BUS:
position:19
target:0110000000
STATION:
clockwise:0100000000
counterclockwise:0000000000
TIME:23
BUS:
position:20
target:0110000000
STATION:
clockwise:0100000000
counterclockwise:0000000000
TIME:24
BUS:
position:21
target:0110000000
STATION:
clockwise:0100000000
counterclockwise:0000000000
TIME:25
BUS:
position:22
target:0110000000
STATION:
clockwise:0100000000
counterclockwise:0000000000
TIME:26
BUS:
position:23
target:0110000000
STATION:
clockwise:0100000000
counterclockwise:0000000000
TIME:27
BUS:
position:24
target:0110000000
STATION:
clockwise:0100000000
counterclockwise:0000000000
TIME:28
BUS:
position:25
target:0110000000
STATION:
clockwise:0100000000
counterclockwise:0000000000
TIME:29
BUS:
position:26
target:0110000000
STATION:
clockwise:0100000000
counterclockwise:0000000000
TIME:30
BUS:
position:27
target:0110000000
STATION:
clockwise:0100000000
counterclockwise:0000000000
TIME:31
BUS:
position:28
target:0110000000
STATION:
clockwise:0100000000
counterclockwise:0000000000
TIME:32
BUS:
position:29
target:0110000000
STATION:
clockwise:0100000000
counterclockwise:0000000000
TIME:33
BUS:
position:0
target:0110000000
STATION:
clockwise:0100000000
counterclockwise:0000000000
TIME:34
BUS:
position:1
target:0110000000
STATION:
clockwise:0100000000
counterclockwise:0000000000
TIME:35
BUS:
position:2
target:0110000000
STATION:
clockwise:0100000000
counterclockwise:0000000000
TIME:36
BUS:
position:3
target:0110000000
STATION:
clockwise:0100000000
counterclockwise:0000000000
TIME:37
BUS:
position:3
target:1010000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:38
BUS:
position:4
target:1010000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:39
BUS:
position:5
target:1010000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:40
BUS:
position:6
target:1010000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:41
BUS:
position:6
target:1000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:42
BUS:
position:5
target:1000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:43
BUS:
position:4
target:1000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:44
BUS:
position:3
target:1000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:45
BUS:
position:2
target:1000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:46
BUS:
position:1
target:1000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:47
BUS:
position:0
target:1000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:48
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
end

View File

@@ -1,4 +0,0 @@
# first come first serve
STRATEGY = FCFS
TOTAL_STATION = 10
DISTANCE = 2

View File

@@ -1,30 +0,0 @@
clock
clockwise 2
clock
clockwise 4
clock
clock
clockwise 6
clock
target 8
clock
clock
clock
target 10
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
end

View File

@@ -1,176 +0,0 @@
TIME:0
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:1
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:2
BUS:
position:1
target:0000000000
STATION:
clockwise:0100000000
counterclockwise:0000000000
TIME:3
BUS:
position:2
target:0000000000
STATION:
clockwise:0101000000
counterclockwise:0000000000
TIME:4
BUS:
position:2
target:0000000000
STATION:
clockwise:0001000000
counterclockwise:0000000000
TIME:5
BUS:
position:3
target:0000000000
STATION:
clockwise:0001010000
counterclockwise:0000000000
TIME:6
BUS:
position:4
target:0000000100
STATION:
clockwise:0001010000
counterclockwise:0000000000
TIME:7
BUS:
position:5
target:0000000100
STATION:
clockwise:0001010000
counterclockwise:0000000000
TIME:8
BUS:
position:6
target:0000000100
STATION:
clockwise:0001010000
counterclockwise:0000000000
TIME:9
BUS:
position:6
target:0000000101
STATION:
clockwise:0000010000
counterclockwise:0000000000
TIME:10
BUS:
position:7
target:0000000101
STATION:
clockwise:0000010000
counterclockwise:0000000000
TIME:11
BUS:
position:8
target:0000000101
STATION:
clockwise:0000010000
counterclockwise:0000000000
TIME:12
BUS:
position:9
target:0000000101
STATION:
clockwise:0000010000
counterclockwise:0000000000
TIME:13
BUS:
position:10
target:0000000101
STATION:
clockwise:0000010000
counterclockwise:0000000000
TIME:14
BUS:
position:10
target:0000000101
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:15
BUS:
position:11
target:0000000101
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:16
BUS:
position:12
target:0000000101
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:17
BUS:
position:13
target:0000000101
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:18
BUS:
position:14
target:0000000101
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:19
BUS:
position:14
target:0000000001
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:20
BUS:
position:15
target:0000000001
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:21
BUS:
position:16
target:0000000001
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:22
BUS:
position:17
target:0000000001
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:23
BUS:
position:18
target:0000000001
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:24
BUS:
position:18
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
end

View File

@@ -1,4 +0,0 @@
# first come first serve
STRATEGY = FCFS
TOTAL_STATION = 10
DISTANCE = 2

View File

@@ -1,30 +0,0 @@
clock
clockwise 2
clock
target 10
clock
clock
clock
clockwise 3
clock
clock
target 9
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
end

View File

@@ -1,183 +0,0 @@
TIME:0
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:1
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:2
BUS:
position:1
target:0000000000
STATION:
clockwise:0100000000
counterclockwise:0000000000
TIME:3
BUS:
position:2
target:0000000001
STATION:
clockwise:0100000000
counterclockwise:0000000000
TIME:4
BUS:
position:2
target:0000000001
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:5
BUS:
position:1
target:0000000001
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:6
BUS:
position:0
target:0000000001
STATION:
clockwise:0010000000
counterclockwise:0000000000
TIME:7
BUS:
position:19
target:0000000001
STATION:
clockwise:0010000000
counterclockwise:0000000000
TIME:8
BUS:
position:18
target:0000000011
STATION:
clockwise:0010000000
counterclockwise:0000000000
TIME:9
BUS:
position:18
target:0000000010
STATION:
clockwise:0010000000
counterclockwise:0000000000
TIME:10
BUS:
position:19
target:0000000010
STATION:
clockwise:0010000000
counterclockwise:0000000000
TIME:11
BUS:
position:0
target:0000000010
STATION:
clockwise:0010000000
counterclockwise:0000000000
TIME:12
BUS:
position:1
target:0000000010
STATION:
clockwise:0010000000
counterclockwise:0000000000
TIME:13
BUS:
position:2
target:0000000010
STATION:
clockwise:0010000000
counterclockwise:0000000000
TIME:14
BUS:
position:3
target:0000000010
STATION:
clockwise:0010000000
counterclockwise:0000000000
TIME:15
BUS:
position:4
target:0000000010
STATION:
clockwise:0010000000
counterclockwise:0000000000
TIME:16
BUS:
position:4
target:0000000010
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:17
BUS:
position:3
target:0000000010
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:18
BUS:
position:2
target:0000000010
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:19
BUS:
position:1
target:0000000010
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:20
BUS:
position:0
target:0000000010
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:21
BUS:
position:19
target:0000000010
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:22
BUS:
position:18
target:0000000010
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:23
BUS:
position:17
target:0000000010
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:24
BUS:
position:16
target:0000000010
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:25
BUS:
position:16
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
end

View File

@@ -1,4 +0,0 @@
DISTANCE = 4
STRATEGY = SCAN
TOTAL_STATION = 6
# scan serve

View File

@@ -1,34 +0,0 @@
clock
clockwise 2
clock
clock
counterclockwise 6
clock
clock
clock
clock
clock
clock
clock
clock
target 1
clock
clock
clock
clock
clock
clock
counterclockwise 5
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
end

View File

@@ -1,211 +0,0 @@
TIME:0
BUS:
position:0
target:000000
STATION:
clockwise:000000
counterclockwise:000000
TIME:1
BUS:
position:0
target:000000
STATION:
clockwise:000000
counterclockwise:000000
TIME:2
BUS:
position:1
target:000000
STATION:
clockwise:010000
counterclockwise:000000
TIME:3
BUS:
position:2
target:000000
STATION:
clockwise:010000
counterclockwise:000000
TIME:4
BUS:
position:3
target:000000
STATION:
clockwise:010000
counterclockwise:000001
TIME:5
BUS:
position:4
target:000000
STATION:
clockwise:010000
counterclockwise:000001
TIME:6
BUS:
position:4
target:000000
STATION:
clockwise:000000
counterclockwise:000001
TIME:7
BUS:
position:3
target:000000
STATION:
clockwise:000000
counterclockwise:000001
TIME:8
BUS:
position:2
target:000000
STATION:
clockwise:000000
counterclockwise:000001
TIME:9
BUS:
position:1
target:000000
STATION:
clockwise:000000
counterclockwise:000001
TIME:10
BUS:
position:0
target:000000
STATION:
clockwise:000000
counterclockwise:000001
TIME:11
BUS:
position:23
target:000000
STATION:
clockwise:000000
counterclockwise:000001
TIME:12
BUS:
position:22
target:100000
STATION:
clockwise:000000
counterclockwise:000001
TIME:13
BUS:
position:21
target:100000
STATION:
clockwise:000000
counterclockwise:000001
TIME:14
BUS:
position:20
target:100000
STATION:
clockwise:000000
counterclockwise:000001
TIME:15
BUS:
position:20
target:100000
STATION:
clockwise:000000
counterclockwise:000000
TIME:16
BUS:
position:21
target:100000
STATION:
clockwise:000000
counterclockwise:000000
TIME:17
BUS:
position:22
target:100000
STATION:
clockwise:000000
counterclockwise:000000
TIME:18
BUS:
position:23
target:100000
STATION:
clockwise:000000
counterclockwise:000010
TIME:19
BUS:
position:0
target:100000
STATION:
clockwise:000000
counterclockwise:000010
TIME:20
BUS:
position:0
target:000000
STATION:
clockwise:000000
counterclockwise:000010
TIME:21
BUS:
position:23
target:000000
STATION:
clockwise:000000
counterclockwise:000010
TIME:22
BUS:
position:22
target:000000
STATION:
clockwise:000000
counterclockwise:000010
TIME:23
BUS:
position:21
target:000000
STATION:
clockwise:000000
counterclockwise:000010
TIME:24
BUS:
position:20
target:000000
STATION:
clockwise:000000
counterclockwise:000010
TIME:25
BUS:
position:19
target:000000
STATION:
clockwise:000000
counterclockwise:000010
TIME:26
BUS:
position:18
target:000000
STATION:
clockwise:000000
counterclockwise:000010
TIME:27
BUS:
position:17
target:000000
STATION:
clockwise:000000
counterclockwise:000010
TIME:28
BUS:
position:16
target:000000
STATION:
clockwise:000000
counterclockwise:000010
TIME:29
BUS:
position:16
target:000000
STATION:
clockwise:000000
counterclockwise:000000
end

View File

@@ -1,4 +0,0 @@
DISTANCE = 4
STRATEGY = SCAN
TOTAL_STATION = 6
# scan serve

View File

@@ -1,26 +0,0 @@
clock
clockwise 2
counterclockwise 3
clock
clock
clock
clock
clock
clock
target 4
clock
clock
clock
clock
clock
clock
clockwise 5
clock
clock
clock
clock
clock
clock
clock
clock
end

View File

@@ -1,155 +0,0 @@
TIME:0
BUS:
position:0
target:000000
STATION:
clockwise:000000
counterclockwise:000000
TIME:1
BUS:
position:0
target:000000
STATION:
clockwise:000000
counterclockwise:000000
TIME:2
BUS:
position:1
target:000000
STATION:
clockwise:010000
counterclockwise:001000
TIME:3
BUS:
position:2
target:000000
STATION:
clockwise:010000
counterclockwise:001000
TIME:4
BUS:
position:3
target:000000
STATION:
clockwise:010000
counterclockwise:001000
TIME:5
BUS:
position:4
target:000000
STATION:
clockwise:010000
counterclockwise:001000
TIME:6
BUS:
position:4
target:000000
STATION:
clockwise:000000
counterclockwise:001000
TIME:7
BUS:
position:5
target:000000
STATION:
clockwise:000000
counterclockwise:001000
TIME:8
BUS:
position:6
target:000100
STATION:
clockwise:000000
counterclockwise:001000
TIME:9
BUS:
position:7
target:000100
STATION:
clockwise:000000
counterclockwise:001000
TIME:10
BUS:
position:8
target:000100
STATION:
clockwise:000000
counterclockwise:001000
TIME:11
BUS:
position:8
target:000100
STATION:
clockwise:000000
counterclockwise:000000
TIME:12
BUS:
position:9
target:000100
STATION:
clockwise:000000
counterclockwise:000000
TIME:13
BUS:
position:10
target:000100
STATION:
clockwise:000000
counterclockwise:000000
TIME:14
BUS:
position:11
target:000100
STATION:
clockwise:000010
counterclockwise:000000
TIME:15
BUS:
position:12
target:000100
STATION:
clockwise:000010
counterclockwise:000000
TIME:16
BUS:
position:12
target:000000
STATION:
clockwise:000010
counterclockwise:000000
TIME:17
BUS:
position:13
target:000000
STATION:
clockwise:000010
counterclockwise:000000
TIME:18
BUS:
position:14
target:000000
STATION:
clockwise:000010
counterclockwise:000000
TIME:19
BUS:
position:15
target:000000
STATION:
clockwise:000010
counterclockwise:000000
TIME:20
BUS:
position:16
target:000000
STATION:
clockwise:000010
counterclockwise:000000
TIME:21
BUS:
position:16
target:000000
STATION:
clockwise:000000
counterclockwise:000000
end

View File

@@ -1,4 +0,0 @@
TOTAL_STATION = 5
DISTANCE = 3
# shortest seek time first
STRATEGY = SSTF

View File

@@ -1,47 +0,0 @@
clock
clockwise 4
clockwise 2
counterclockwise 4
clock
clockwise 2
clock
clock
counterclockwise 1
clock
clock
clockwise 3
clock
clock
clock
clock
clock
clock
clock
target 5
clock
target 3
clock
clock
clock
clock
clock
clock
clock
clock
target 4
target 1
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
clock
end

View File

@@ -1,260 +0,0 @@
TIME:0
BUS:
position:0
target:00000
STATION:
clockwise:00000
counterclockwise:00000
TIME:1
BUS:
position:0
target:00000
STATION:
clockwise:00000
counterclockwise:00000
TIME:2
BUS:
position:1
target:00000
STATION:
clockwise:01010
counterclockwise:00010
TIME:3
BUS:
position:2
target:00000
STATION:
clockwise:01010
counterclockwise:00010
TIME:4
BUS:
position:3
target:00000
STATION:
clockwise:01010
counterclockwise:00010
TIME:5
BUS:
position:3
target:00000
STATION:
clockwise:00010
counterclockwise:10010
TIME:6
BUS:
position:2
target:00000
STATION:
clockwise:00010
counterclockwise:10010
TIME:7
BUS:
position:1
target:00000
STATION:
clockwise:00110
counterclockwise:10010
TIME:8
BUS:
position:0
target:00000
STATION:
clockwise:00110
counterclockwise:10010
TIME:9
BUS:
position:0
target:00000
STATION:
clockwise:00110
counterclockwise:00010
TIME:10
BUS:
position:1
target:00000
STATION:
clockwise:00110
counterclockwise:00010
TIME:11
BUS:
position:2
target:00000
STATION:
clockwise:00110
counterclockwise:00010
TIME:12
BUS:
position:3
target:00000
STATION:
clockwise:00110
counterclockwise:00010
TIME:13
BUS:
position:4
target:00000
STATION:
clockwise:00110
counterclockwise:00010
TIME:14
BUS:
position:5
target:00001
STATION:
clockwise:00110
counterclockwise:00010
TIME:15
BUS:
position:6
target:00101
STATION:
clockwise:00110
counterclockwise:00010
TIME:16
BUS:
position:6
target:00001
STATION:
clockwise:00010
counterclockwise:00010
TIME:17
BUS:
position:7
target:00001
STATION:
clockwise:00010
counterclockwise:00010
TIME:18
BUS:
position:8
target:00001
STATION:
clockwise:00010
counterclockwise:00010
TIME:19
BUS:
position:9
target:00001
STATION:
clockwise:00010
counterclockwise:00010
TIME:20
BUS:
position:9
target:00001
STATION:
clockwise:00000
counterclockwise:00000
TIME:21
BUS:
position:10
target:00001
STATION:
clockwise:00000
counterclockwise:00000
TIME:22
BUS:
position:11
target:00001
STATION:
clockwise:00000
counterclockwise:00000
TIME:23
BUS:
position:12
target:10011
STATION:
clockwise:00000
counterclockwise:00000
TIME:24
BUS:
position:12
target:10010
STATION:
clockwise:00000
counterclockwise:00000
TIME:25
BUS:
position:13
target:10010
STATION:
clockwise:00000
counterclockwise:00000
TIME:26
BUS:
position:14
target:10010
STATION:
clockwise:00000
counterclockwise:00000
TIME:27
BUS:
position:0
target:10010
STATION:
clockwise:00000
counterclockwise:00000
TIME:28
BUS:
position:0
target:00010
STATION:
clockwise:00000
counterclockwise:00000
TIME:29
BUS:
position:14
target:00010
STATION:
clockwise:00000
counterclockwise:00000
TIME:30
BUS:
position:13
target:00010
STATION:
clockwise:00000
counterclockwise:00000
TIME:31
BUS:
position:12
target:00010
STATION:
clockwise:00000
counterclockwise:00000
TIME:32
BUS:
position:11
target:00010
STATION:
clockwise:00000
counterclockwise:00000
TIME:33
BUS:
position:10
target:00010
STATION:
clockwise:00000
counterclockwise:00000
TIME:34
BUS:
position:9
target:00010
STATION:
clockwise:00000
counterclockwise:00000
TIME:35
BUS:
position:9
target:00000
STATION:
clockwise:00000
counterclockwise:00000
TIME:36
BUS:
position:9
target:00000
STATION:
clockwise:00000
counterclockwise:00000
end

View File

@@ -1,4 +0,0 @@
TOTAL_STATION = 5
DISTANCE = 3
# shortest seek time first
STRATEGY = SSTF

View File

@@ -1,42 +0,0 @@
clock
clockwise 2
counterclockwise 4
clock
clock
clock
clock
clock
counterclockwise 3
clock
clock
clock
clock
target 5
clock
clock
clock
clock
clock
clock
counterclockwise 4
clock
clock
clock
clock
clock
target 1
clockwise 3
clock
clock
clock
clock
target 2
clock
clock
clock
clock
clock
clock
clock
clock
end

View File

@@ -1,239 +0,0 @@
TIME:0
BUS:
position:0
target:00000
STATION:
clockwise:00000
counterclockwise:00000
TIME:1
BUS:
position:0
target:00000
STATION:
clockwise:00000
counterclockwise:00000
TIME:2
BUS:
position:1
target:00000
STATION:
clockwise:01000
counterclockwise:00010
TIME:3
BUS:
position:2
target:00000
STATION:
clockwise:01000
counterclockwise:00010
TIME:4
BUS:
position:3
target:00000
STATION:
clockwise:01000
counterclockwise:00010
TIME:5
BUS:
position:3
target:00000
STATION:
clockwise:00000
counterclockwise:00010
TIME:6
BUS:
position:4
target:00000
STATION:
clockwise:00000
counterclockwise:00010
TIME:7
BUS:
position:5
target:00000
STATION:
clockwise:00000
counterclockwise:00110
TIME:8
BUS:
position:6
target:00000
STATION:
clockwise:00000
counterclockwise:00110
TIME:9
BUS:
position:7
target:00000
STATION:
clockwise:00000
counterclockwise:00110
TIME:10
BUS:
position:8
target:00000
STATION:
clockwise:00000
counterclockwise:00110
TIME:11
BUS:
position:9
target:00001
STATION:
clockwise:00000
counterclockwise:00110
TIME:12
BUS:
position:9
target:00001
STATION:
clockwise:00000
counterclockwise:00100
TIME:13
BUS:
position:10
target:00001
STATION:
clockwise:00000
counterclockwise:00100
TIME:14
BUS:
position:11
target:00001
STATION:
clockwise:00000
counterclockwise:00100
TIME:15
BUS:
position:12
target:00001
STATION:
clockwise:00000
counterclockwise:00100
TIME:16
BUS:
position:12
target:00000
STATION:
clockwise:00000
counterclockwise:00100
TIME:17
BUS:
position:11
target:00000
STATION:
clockwise:00000
counterclockwise:00110
TIME:18
BUS:
position:10
target:00000
STATION:
clockwise:00000
counterclockwise:00110
TIME:19
BUS:
position:9
target:00000
STATION:
clockwise:00000
counterclockwise:00110
TIME:20
BUS:
position:9
target:00000
STATION:
clockwise:00000
counterclockwise:00100
TIME:21
BUS:
position:8
target:00000
STATION:
clockwise:00000
counterclockwise:00100
TIME:22
BUS:
position:7
target:10000
STATION:
clockwise:00100
counterclockwise:00100
TIME:23
BUS:
position:6
target:10000
STATION:
clockwise:00100
counterclockwise:00100
TIME:24
BUS:
position:6
target:10000
STATION:
clockwise:00000
counterclockwise:00000
TIME:25
BUS:
position:5
target:10000
STATION:
clockwise:00000
counterclockwise:00000
TIME:26
BUS:
position:4
target:11000
STATION:
clockwise:00000
counterclockwise:00000
TIME:27
BUS:
position:3
target:11000
STATION:
clockwise:00000
counterclockwise:00000
TIME:28
BUS:
position:3
target:10000
STATION:
clockwise:00000
counterclockwise:00000
TIME:29
BUS:
position:2
target:10000
STATION:
clockwise:00000
counterclockwise:00000
TIME:30
BUS:
position:1
target:10000
STATION:
clockwise:00000
counterclockwise:00000
TIME:31
BUS:
position:0
target:10000
STATION:
clockwise:00000
counterclockwise:00000
TIME:32
BUS:
position:0
target:00000
STATION:
clockwise:00000
counterclockwise:00000
TIME:33
BUS:
position:0
target:00000
STATION:
clockwise:00000
counterclockwise:00000
end

View File

@@ -1,3 +0,0 @@
TOTAL_STATION = 10
STRATEGY = SSTF
#end

View File

@@ -1,16 +0,0 @@
clock
clockwise 3
clockwise 10
clock
clock
clock
clock
clock
clockwise 2
clock
clock
clock
clock
clock
clock
end

View File

@@ -1,92 +0,0 @@
TIME:0
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:1
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:2
BUS:
position:19
target:0000000000
STATION:
clockwise:0010000001
counterclockwise:0000000000
TIME:3
BUS:
position:18
target:0000000000
STATION:
clockwise:0010000001
counterclockwise:0000000000
TIME:4
BUS:
position:18
target:0000000000
STATION:
clockwise:0010000000
counterclockwise:0000000000
TIME:5
BUS:
position:19
target:0000000000
STATION:
clockwise:0010000000
counterclockwise:0000000000
TIME:6
BUS:
position:0
target:0000000000
STATION:
clockwise:0010000000
counterclockwise:0000000000
TIME:7
BUS:
position:1
target:0000000000
STATION:
clockwise:0110000000
counterclockwise:0000000000
TIME:8
BUS:
position:2
target:0000000000
STATION:
clockwise:0110000000
counterclockwise:0000000000
TIME:9
BUS:
position:2
target:0000000000
STATION:
clockwise:0010000000
counterclockwise:0000000000
TIME:10
BUS:
position:3
target:0000000000
STATION:
clockwise:0010000000
counterclockwise:0000000000
TIME:11
BUS:
position:4
target:0000000000
STATION:
clockwise:0010000000
counterclockwise:0000000000
TIME:12
BUS:
position:4
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
end

View File

@@ -1,3 +0,0 @@
TOTAL_STATION = 10
STRATEGY = SSTF
#end

View File

@@ -1,12 +0,0 @@
clock
clockwise 3
clock
clock
clockwise 2
clock
clock
clock
clock
clock
clock
end

View File

@@ -1,71 +0,0 @@
TIME:0
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:1
BUS:
position:0
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
TIME:2
BUS:
position:1
target:0000000000
STATION:
clockwise:0010000000
counterclockwise:0000000000
TIME:3
BUS:
position:2
target:0000000000
STATION:
clockwise:0010000000
counterclockwise:0000000000
TIME:4
BUS:
position:3
target:0000000000
STATION:
clockwise:0110000000
counterclockwise:0000000000
TIME:5
BUS:
position:4
target:0000000000
STATION:
clockwise:0110000000
counterclockwise:0000000000
TIME:6
BUS:
position:4
target:0000000000
STATION:
clockwise:0100000000
counterclockwise:0000000000
TIME:7
BUS:
position:3
target:0000000000
STATION:
clockwise:0100000000
counterclockwise:0000000000
TIME:8
BUS:
position:2
target:0000000000
STATION:
clockwise:0100000000
counterclockwise:0000000000
TIME:9
BUS:
position:2
target:0000000000
STATION:
clockwise:0000000000
counterclockwise:0000000000
end

View File

@@ -1,37 +0,0 @@
import os
path = "SSTF/"
dict_path = path + "dict.dic"
in_path = path + "{}.in"
out_path = path + "{}.out"
dict_file = open(dict_path, "r", encoding="utf8")
dict_str = dict_file.read()
dict_file.close()
for i in range(1, 11):
dir_path = "{}/".format(i + 7)
input_path = dir_path + "input.txt"
output_path = dir_path + "output.txt"
dict_path = dir_path + "dict.dic"
os.mkdir("{}".format(i + 7))
in_file = open(in_path.format(i), "r", encoding="utf8")
out_file = open(out_path.format(i), "r", encoding="utf8")
input_file = open(input_path, "w", encoding="utf8")
output_file = open(output_path, "w", encoding="utf8")
dict_file = open(dict_path, "w", encoding="utf8")
input_file.write(in_file.read())
output_file.write(out_file.read())
dict_file.write(dict_str)
in_file.close()
out_file.close()
input_file.close()
output_file.close()
dict_file.close()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -1,159 +0,0 @@
# 代码规范
### 命名规则
#### 变量命名规则
**所有**的局部变量都使用小写的下划线命名法。
```C
int bus_position;
char* output_string
```
在变量命名时应注意尽可能简洁清晰,但在不能为了简洁而导致变量意义的不明。
错误示范:
```C
// DO NOT DO THIS:
lv_indev_drv_t indev_drv;
```
正确示范:
```C
lv_input_device_driver_t mouse_input;
```
> 本例子来自LVGL库。
>
> lv表示这个类型来自LVGL库input_device表示这个一个输入设备driver表示这是一个驱动后缀t表示这是一个类型。
#### 常量命名规则
采用`#define`定义的常量采用全大写下划线命名法
```C
#define MAX_STR_LENGTH 1000
```
#### 函数命名规则
**所有**函数采用驼峰命名法。
```C
int StrLength(char* str);
```
### 代码风格
#### 缩进
统一使用`tab`,四个空格的缩进。
```C
#include <stdio.h>
int main()
{
printf("缩进是四格。\n");
return 0;
}
```
> 这点一般不需要注意现在流行的IDE都是四格缩进。
#### 大括号
所有的大括号都需要提行书写。
```C
if()
{
}
for()
{
}
int main()
{
}
```
同时注意在代码中所有的代码块都需要用大括号包裹,即使是一行的情形。
```c
// DO NOT DO THIS
if(1)
printf("...");
// DO THIS
if(1)
{
printf("...");
}
```
### 注释
采用`Doxygen`风格的注释
> 在`VSCode`中安装`Doxygen Documentation Generator`这个扩展。
>
> ![](1.png)
>
> 方便使用下列的功能。
在函数,变量的**上一行**输入`/**`后回车来创建模板。
```C
/**
* @brief 在stdin打印一个字符串
*
* @param str 指向需要打印的字符串指针
*/
void print(char* str)
{
printf("%s", str);
}
```
```C
#include "example.h"
int main()
{
/**
* @brief 需要输出的字符串
*
*/
char* string = "Good morning!\n";
print(string);
return 0;
}
```
`@brief`的后面输入函数的作用简述,在`@param`的输入每个参数的意义, 在`@return`的后面输入返回值的意义。
`VSCode`中将指针悬停在函数上时就可以查看这个注释。
![](2.png)
其他的注释都应该放在需要注释行的上一行。
> 在`Doxygen`规范中,所有的注释都是注释下一行的代码。
在文件开头的注释**不做要求**,我感觉应该没有什么用。
> 这里推荐一个`VSCode`插件`GitLens`,可以方便的查看提交信息,~~便于在发现问题时锤人~~。
>
> ![](4.png)
### 杂项
- 函数中的局部变量不必在函数的头部统一命名,但是建议比较重要的变量在头部先声明,并且使用注释注明变量的作用
- 循环的变量一般情况下都在`for`语句中声明,不在循环以外的地方使用。但如果较为特殊的地方使用到,请使用注释表明。并且循环变量使用`i`,`j`,`k`
- `switch`语句中必须要有`default`的部分。
- 每行代码不超过80个字符。

View File

@@ -1,54 +0,0 @@
# 开发指北
> 遇到任何问题都可以问。
## 任务一
> 布置时间2022-4-29
### 终端(命令行)界面入门
#### 背景
我们在开发过程中需要用到的大部分工具都是以命令行交互为主,比如`cmake`, `gcc`,`git`;而且我们编译出来的应用也是在命令行界面中运行,所以掌握一些基本的命令是必要的。
#### 目标
掌握命令行界面的基础知识。
### Git入门
#### 背景
`git`是版本管理和团队合作的利器,掌握`git`的基本使用也是必要的。
#### 目标
克隆本次的大作业的项目仓库,并且进行**至少一次**提交。
> 可以在`main.c`文件中调用`printf`函数输出一些内容作为提交的内容。
### 模块入门
#### 背景
多模块编译是一个比较困难的部分,但是也是我们开发中十分有用的技能。
#### 目标
在项目中新建一个模块,包括头文件和源文件,在模块中设计实现一个简单的函数,并在`main.c`中调用。
### 概要设计
#### 背景
大作业有点难,不能只让我一个人抠脑壳,你们也得一起想。
#### 目标
设计完成函数原型,数据结构,全局常量。

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -1,274 +0,0 @@
# 概要设计
## main函数流程
![](main模块流程图.png)
## 轨道模块
> 轨道模块是比较基础的模块,许多模块都建立在这个模块的基础上
模块的主体是一个表示每个轨道节点的结构体。
### 创建结构体
```C
/**
* 创建轨道列表
* @param length 站点之间的距离
* @param node_num 站点的个数
* @return 指向首站的指针
*/
rail_node_t * CreateRails(int length, int node_num);
```
这个函数的难点应该是创建一个双向的循环链表。
### 寻找指定的站点
```C
/**
* 查找指定编号的站点指针
* @param rails 轨道的头节点地址
* @param id 需要查找的站点编号
* @return 需要查找站点指针
*/
rail_node_t *FindNode(rail_node_t rails, int id);
```
比较重要的工具函数,给定编号寻找对应的站点站点指针,不过没啥难度。
## 公交车模块
> 公交车模块就是比较复杂的模块了。
模块的主体是一个表示公交车的结构体。
### 运行公交车
```C
/**
* 每个时刻使公交车前进
* @param rails 轨道链表
* @param direction 公交车前进的方向
* @param bus 公交车
* @return 公交车是否到达站点
*/
int RunBus(rail_node_t* rails, bus_t bus, int direction);
```
这个函数不难,就是根据指定的方向让公交车前进,同时判断公交车是否到站。
## 请求模块
请求模块的核心是一个表示请求的结构体。
### 创建请求
```C
/**
* 创建请求
* @param query 请求链表队列
* @param type 请求的类型
* @param node 请求产生/指向的站点
*/
void CreateQuery(bus_query_t query, int type, rail_node_t node);
```
还是一个简单的链表创建函数,主要的关键点在于说明的第五点第四条:
> 如果在某个请求没有完成时再有相同的请求(请求类型和站点全部相同)发生,则该请求被抛弃
也就是在创建的时候要判断是否已存在相同的请求。
### 删除请求
> 删除请求其实就是处理请求的同义词
这个函数没啥意思,就是删除一个链表节点。
## 控制器模块
> 全程序最复杂的模块
### 时间计算
一个`int`类型的全局变量储存全局的时间。
```C
/**
* 时间增加
*/
void AddTime();
```
一个可有可无的函数,负责将时间加一。
> 可能后期删除,作用不明显。
### 策略简述
策略的相关函数会在公交车到站的时候调用。
策略一般包括两个函数,方向控制函数和请求处理函数。
### 先来先服务策略(FCFS)
> first come first serve
>
> 对于先来先服务策略车一次停站只完成一个请求即使在这个站点上即有乘车请求车内也有到该站的请求也只能按策略完成已经调度的那个请求。但是完成当前请求后如果发现时间序列上后续的一个或多个连续请求都恰好在同一站点即连续的同站点请求位置相同但请求类型不同则可以立即完成这些连续的同站点请求也就是说特殊情况下一次停车的1秒内可完成多个请求。
#### 方向
```C
/**
* 在先来先服务策略下应该前进的方向
* @param bus 公交车
* @param queries 请求队列链表
* @return 前进的方向
*/
int FCFSDirection(bus_t bus, bus_query_t queries);
```
直接给出最先的一个请求就可以了。
将给定的请求赋给全局变量。
#### 请求
```C
/**
* 在先来先服务策略下给出处理的请求
* @param bus 公交车
* @param queries 请求队列链表
* @return 需要处理的请求
*/
bus_query_t FCFSQuery(bus_t bus, bus_query_t queries);
```
按照指定的策略给出现在可以处理的请求。
在这里是当前所在站点和第一个请求指向站点相同是即可处理,而且连续处理。
### 最短寻找时间优先(SSTF)
> 对于最短寻找时间优先策略一次服务的目标请求一旦确定即使中途产生更优的请求也不可以更改。但如果新的请求恰好可以顺便服务同方向的站台请求或车内请求可以为新的请求停站。具体为程序计算离当前车的位置最近的请求如果没有请求则原地不动否则按最近的路线顺、逆时针去接。如果车途中遇到与车目前同方向的上车或下车请求可以停下一秒解决反方向的上车请求不停车。车服务完目标后反复此过程直到end。特别地当车到达目标站点时可以停一次车(1秒钟)完成该站点已接收的所有类型请求(区别于顺便站停靠)。
#### 方向
```C
/**
* 在最短寻找时间策略下应该前进的方向
* @param bus 公交车
* @param queries 请求队列链表
* @return 前进的方向
*/
int SSTFDirection(bus_t bus, bus_query_t queries);
```
这个函数比较难,求出最短前进的方向即可。
将处理的请求赋给全局变量。
#### 请求
```C
/**
* 在最短寻找时间策略给出处理的请求
* @param bus 公交车
* @param queries 请求队列链表
* @return 需要处理的请求
*/
bus_query_t SSTFQuery(bus_t bus, bus_query_t queries);
```
给出当前需要处理的请求。注意有些请求时可以处理的,有些请求时不能顺便处理的。
### 顺便服务策略(SCAN)
#### 方向
```C
/**
* 顺便服务的前进方向
* @param bus 公交车
* @param queries 请求队列链表
* @return 前进的方向
*/
int SCANDirection(bus_t bus, bus_query_t queries);
```
也是判断最短的前进方向,但是
## 输入输出模块
> 输入输出模块是比较基础的模块,主要作用就是调用其他模块实现的功能。
### 配置文件读取
```C
/**
* 读取配置文件,创建轨道链表,同时读取需要使用的策略
* @return 指向轨道链表的指针
*/
rail_node_t* ReadConfigFile();
```
这个函数需要完成三个任务:
- 解析配置文件。(重点)
- 调用函数创建轨道列表。
- 读取指定的策略。
### 打印当前状态
```C
/**
* 打印当前的状态
* @param rails 轨道链表
* @return 返回需输出的字符串
*/
char* PrintState();
```
输出的格式如下:
```
TIME:秒数
BUS:
position:0
target: 0000000000
STATION:
clockwise: 0000000000
counterclockwise: 0000000000
```
这个函数的实现应该不难,遍历几个链表就结束了。
> 返回一个字符串是为了便于测试,直接`printf`出来不好测试,也不符合解耦的设计策略。
### 读取输入
```C
/**
* 读取标准输入流中的输入
* @param inputString 输入的字符串
* @return 当前读取的状态
*/
int ReadInput(char* inputString);
```
这个函数的实现比较困难,在于读取对应的输入并调用相关的函数。
输出的`int`值是一系列定义的宏:
```C
#define IO_CLOCK 0 // 读取时钟指令
#define IO_READING 1 // 读取请求指令
#define IO_END 2 // 读取结束指令
```
便于main函数确定下一步的行为。

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 216 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 364 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Some files were not shown because too many files have changed in this diff Show More