问题标题: 火车模拟器

2
1
已解决
曹灿阳
曹灿阳
初级天翼
初级天翼

我老家不在合肥,我老家的房子门口,就是火车站。

从小,我就非常喜欢看火车,一直看到大。

今年,我没回老家,火车瘾犯了,为了过瘾,我编了这么一个火车模拟器:

PS:车厢可能会有些失真,会出现闪屏的现象,请谅解。

#include <bits/stdc++.h>
#include <windows.h>
using namespace std;
void color(int corcorcor){
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),corcorcor+240);
}
string train[50][20]={
{
"  ◢■■■■■■  ", 
"◢■■和谐■■    ",
"◥■■■■■■    ",
"■◥■■■■■■■",
"    ●      ●    "
}
,{
"  ■■■■■■◣  ", 
"    ■■和谐■■◣",
"    ■■■■■■◤",
"■■■■■■■◤■",
"    ●      ●    "
},{
"  ◢■■■■■■◣  ",
"  ■■东风四号■■  ",
"  ■■■■■■■■  ",
"■◥■■■■■■◤■",
"    ●        ●    "
},{
"  ◢■■■■■■◣  ",
"◢■■■和谐■■■◣",
"◥■■■■■■■■◤",
"■◥■■■■■■◤■",
"    ●        ●    "
},{
"                ",
"  ■■■■■■  ",
"  ■■■■■■  ",
"■■■■■■■■",
"    ●    ●    "
},{
"  ▄▄▄▄▄▄  ",
"  ■‖■■‖■  ",
"  ■‖■■‖■  ",
"■■■■■■■■",
"    ●    ●    "
},{
"    ■■■■■    ",
"    ■■■■■    ",
"    ■■■■■    ",
"■■■■■■■■■",
"    ●      ●    "
},{
"                  ",
"                  ",
"                  ",
"■■■■■■■■■",
"    ●      ●    "
},{
"  ◢■■■■■■◣  ",
"  ■■■■■■■■  ",
"  ■■■■■■■■  ",
"■■■■■■■■■■",
"    ●        ●    "
},{
"  ◢■■■■■■◣  ",
"  ■■■■■■■■  ",
"  ■■■■■■■■  ",
"■■■■■■■■■■",
"    ●        ●    "
},{
"  ◢■■■■■■◣  ",
"  ■■■■■■■■  ",
"  ■■■■■■■■  ",
"■■■■■■■■■■",
"    ●        ●    "
},{
"  ◢■■■■■■◣  ",
"  ■■■■■■■■  ",
"  ■■■■■■■■  ",
"■■■■■■■■■■",
"    ●◥■■◤●    "
},{
"  ◢■■■■◣  ",
"  ■■■■■■  ",
"  ◥‖■■‖◤  ",
"■■■■■■■■",
"    ●    ●    ",
},{
"  ■■■■■■■    ",
"  ■■■■■■■    ",
"  ■■■■■■■■  ",
"■■■■■■■■■■",
"    ●      ●      "
},{
"    ■■■■■■■  ",
"    ■■■■■■■  ",
"  ■■■■■■■■  ",
"■■■■■■■■■■",
"      ●      ●    "
},{
"  ◢■■■■■■◣  ",
"◢■■■和谐■■■◣",
"◥■■■■■■■■◤",
"■◥■■■■■■◤■",
"    ●        ●    "
},{
"  ◢■■■■◣  ",
"  ■‖■■‖■  ",
"  ■‖■■‖■  ",
"■■■■■■■■",
"    ●    ●    "
},{
"    ■■■■    ",
"  ■■■■■■  ",
"  ■■■■■■  ",
"■■■■■■■■",
"    ●    ●    "
}
};
int col[50][10][15]={
{//第一个 
{15,2,2,2,2,2,2,2,15},
{2,2,2,4,4,2,2,15,15},
{2,2,2,2,2,2,2,15,15},
{0,2,2,2,2,2,2,2,0},
{15,15,8,15,15,15,8,15,15}
}
,{//第二个 
{15,2,2,2,2,2,2,2,15},
{15,15,2,2,4,4,2,2,2},
{15,15,2,2,2,2,2,2,2},
{0,2,2,2,2,2,2,2,0},
{15,15,8,15,15,15,8,15,15}
},{//第三个 
{15,10,10,10,10,10,10,10,10,15},
{15,10,10,2,2,2,2,10,10,15},
{15,10,10,10,10,10,10,10,10,15}, 
{0,10,10,10,10,10,10,10,10,0},
{15,15,8,15,15,15,15,8,15,15}, 
},{//第四个 
{15,1,1,1,1,1,1,1,1,15},
{1,1,1,1,4,4,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1}, 
{0,1,1,1,1,1,1,1,1,0},
{15,15,8,15,15,15,15,8,15,15}, 
},{//第五个 
{15,15,15,15,15,15},
{15,0,0,0,0,0,0,15},
{15,0,0,0,0,0,0,15},
{0,0,0,0,0,0,0,0},
{15,15,8,15,15,8,15,15}
},{//第六个 
{15,0,0,0,0,0,0,15},
{15,0,0,0,0,0,0,15},
{15,0,0,0,0,0,0,15},
{0,0,0,0,0,0,0,0},
{15,15,8,15,15,8,15,15}
},{//第七个 
{15,15,1,1,1,1,1,15,15},
{15,15,1,1,1,1,1,15,15},
{15,15,1,1,1,1,1,15,15},
{0,4,4,4,4,4,4,4,0},
{15,15,8,15,15,15,8,15,15}
},{//第八个 
{15,15,15,15,15,15,15,15,15},
{15,15,15,15,15,15,15,15,15},
{15,15,15,15,15,15,15,15,15},
{0,4,4,4,4,4,4,4,0},
{15,15,8,15,15,15,8,15,15}
},{//第九个 
{15,2,2,2,2,2,2,2,2,15},
{15,2,8,8,2,2,8,8,2,15},
{15,2,2,2,2,2,2,2,2,15},
{0,2,2,2,2,2,2,2,2,0},
{15,15,8,15,15,15,15,8,15,15}
},{//第十个 
{15,12,12,12,12,12,12,12,12,15},
{15,12,8,8,12,12,8,8,12,15},
{15,12,12,12,12,12,12,12,12,15},
{0,12,12,12,12,12,12,12,12,0},
{15,15,8,15,15,15,15,8,15,15}
},{//第十一个 
{15,1,1,1,1,1,1,1,1,15},
{15,1,8,8,1,1,8,8,1,15},
{15,1,1,1,1,1,1,1,1,15},
{0,1,1,1,1,1,1,1,1,0},
{15,15,8,15,15,15,15,8,15,15}
},{//第十二个 
{15,12,12,12,12,12,12,12,12,15},
{15,12,12,12,12,12,12,12,12,15},
{15,12,12,12,12,12,12,12,12,15},
{0,12,12,12,12,12,12,12,12,0},
{15,15,8,12,12,12,12,8,15,15}
},{//第十三个 
{15,6,6,6,6,6,6,15},
{15,6,6,6,6,6,6,15},
{15,6,0,6,6,0,6,15},
{0,0,0,0,0,0,0,0},
{15,15,8,15,15,8,15,15}
},{//第十四个 
{15,3,3,3,3,3,3,3,15,15},
{15,3,3,3,3,3,0,3,15,15},
{15,3,3,3,3,3,3,3,3,15},
{0,3,3,3,3,3,3,3,3,0},
{15,15,8,15,15,15,8,15,15,15}
},{
{15,15,3,3,3,3,3,3,3,15},
{15,15,3,0,3,3,3,3,3,15},
{15,3,3,3,3,3,3,3,3,15},
{0,3,3,3,3,3,3,3,3,0},
{15,15,15,8,15,15,15,8,15,15}
},{
{15,2,2,2,2,2,2,2,2,15},
{2,2,2,2,4,4,2,2,2,2},
{2,2,2,2,2,2,2,2,2,2}, 
{0,2,2,2,2,2,2,2,2,0},
{15,15,8,15,15,15,15,8,15,15}, 
},{
{15,0,0,0,0,0,0,15},
{15,0,0,0,0,0,0,15},
{15,0,0,0,0,0,0,15},
{0,0,0,0,0,0,0,0},
{15,15,8,15,15,8,15,15}
},{
{15,15,1,1,1,1,15,15},
{15,0,0,0,0,0,0,15},
{15,0,0,0,0,0,0,15},
{0,0,0,0,0,0,0,0},
{15,15,8,15,15,8,15,15}
} 
};
int len[30]={9,9,10,10,8,8,9,9,10,10,10,10,8,10,10,10,8,8};
int way,cx[1010],co[10][1000010];
string str[10],tmp[10];
int main(){
	system("cls");
	color(0);
	system("cls");
	color(1);
	cout<<"火";
	Sleep(1000);
	cout<<"车";
	Sleep(1000);
	cout<<"模";
	Sleep(1000);
	cout<<"拟";
	Sleep(1000);
	cout<<"器";
	Sleep(1000);
	color(0);
	cout<<"\n\n曹灿阳原创,请勿抄袭!!!";
	Sleep(2000);
	system("cls");
	while(1){
		memset(cx,0,sizeof(cx));
		memset(co,0,sizeof(co));
		for(int i=0;i<10;i++){
			str[i]="";
			tmp[i]="";
		}
		system("cls");
		color(0);
		printf("请输入火车的方向:(0表示从左往右,非0表示从右往左,Ctrl+C退出)");
		cin>>way;
		if(way!=0)
			way=1;
		for(int i=0;i<18;i++){
			for(int j=0;j<5;j++){
				for(int k=0;k<train[i][j].size();k+=2){
					color(col[i][j][k/2]);
					printf("%c%c",train[i][j][k],train[i][j][k+1]);
				}
				printf("\n");
			}
			color(0);
			printf("第%d号车厢(包括火车头)\n\n",i);
		}
		color(0);
		printf("请输入火车车厢编号(随便多少个都行,从左到右依次为车厢从左到右的顺序),空格隔开,异常值不读,按-1结束输入。\n");
		int idx=1;
		while(1){
			cin>>cx[idx];
			if(cx[idx]==-1)
				break;
			if(cx[idx]>=18||cx[idx]<0){
				continue;
			}
			idx++;
		}
		idx--;
		if(idx==0){
			color(0);
			cout<<"一节车厢也没有,你在输入空气???";
			Sleep(1000);
			continue;
		}
		int l=0;
		for(int i=1;i<=idx;i++){
			for(int k=0;k<len[cx[i]];k++){
				for(int j=0;j<5;j++){
					co[j][l]=col[cx[i]][j][k];	
				}
				l++;
			}
			for(int j=0;j<5;j++){
				str[j]+=train[cx[i]][j];
			}
		}
		l--;
		system("cls");
		color(0);
		system("cls");
		if(way==0){
			cout<<(char)7;
			for(int i=l;i>=0;i--){
				for(int j=0;j<5;j++){
					//str[j].substr(max(i,0)*2,(min(i+38,l)-i+1)*2);
					for(int k=max(i,0)*2;k<=min(i+38,l)*2;k+=2){
						color(co[j][k/2]);
						//cout<<;
						cout<<str[j].substr(k,2);
					}
					printf("\n");
				}
				color(0);
				printf("〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓");
				Sleep(75);
				system("cls");
			}
			string kongge="";
			for(int i=1;i<=38;i++){
				kongge+="  ";
				for(int j=0;j<5;j++){
					cout<<kongge;
					for(int k=0;k<=min((38-i)*2,l*2);k+=2){
						color(co[j][k/2]);
						cout<<str[j].substr(k,2);
					}
					printf("\n");
				}
				color(0);
				printf("〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓");
				Sleep(75);
				system("cls");
			}
			printf("\n\n\n\n\n〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓");
			cout<<(char)7;
			Sleep(1000);
			system("cls");
		}else{
			cout<<(char)7;
			for(int i=38;i>=0;i--){
				for(int j=0;j<5;j++){
					for(int k=1;k<=i;k++)
						cout<<"  ";
					for(int k=0;k<=min(l,38-i)*2;k+=2){
						color(co[j][k/2]);
						cout<<str[j].substr(k,2);
					}
					printf("\n");
				}
				color(0);
				printf("〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓");
				Sleep(75);
				system("cls");
			}
			for(int i=1;i<=l;i++){
				//左:i 右:min(l,i+38) 
				for(int j=0;j<5;j++){
					for(int k=i*2;k<=min(38+i,l)*2;k+=2){
						color(co[j][k/2]);
						cout<<str[j].substr(k,2);
					}
					printf("\n");
				}
				color(0);
				printf("〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓");
				Sleep(75);
				system("cls");
			}
			printf("\n\n\n\n\n〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓");
			cout<<(char)7;
			Sleep(1000);
			system("cls");
		}
	}
	return 0;
}

顺便跟大家分享一件事:我们班有一次春游,路上看到从合肥南站有高铁开过咱们班大巴车上面的铁路桥,我们班坐的车顿时炸了……

曹灿阳在2021-02-20 13:10:57追加了内容

@江见匀 @张帆 @王泽宇 @沙宸安 @侯平仄 @江子周 @蔡乐毅 @周明轩 @王子豪 @陈维锴 @康曦 @陈曦 @王淼 @王子逸 

快领代码!

曹灿阳在2021-02-20 21:07:39追加了内容

ding

曹灿阳在2021-02-28 18:36:18追加了内容

@王子耀 最新的在这!

#include <bits/stdc++.h>
#include <windows.h>
#include<conio.h>
#include<time.h>
using namespace std;
void color(int corcorcor,int corcorcor2){
	corcorcor2*=16;
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),corcorcor+corcorcor2);
}
string train[50][20]={
{
"  ◢■■■■■■  ", 
"◢■■和谐■■    ",
"◥■■■■■■    ",
"■◥■■■■■■■",
"    ●      ●    "
}
,{
"  ■■■■■■◣  ", 
"    ■■和谐■■◣",
"    ■■■■■■◤",
"■■■■■■■◤■",
"    ●      ●    "
},{
"  ◢■■■■■■◣  ",
"  ■■东风四号■■  ",
"  ■■■■■■■■  ",
"■◥■■■■■■◤■",
"    ●        ●    "
},{
"  ◢■■■■■■◣  ",
"◢■■■和谐■■■◣",
"◥■■■■■■■■◤",
"■◥■■■■■■◤■",
"    ●        ●    "
},{
"                ",
"  ■■■■■■  ",
"  ■■■■■■  ",
"■■■■■■■■",
"    ●    ●    "
},{
"  ▄▄▄▄▄▄  ",
"  ■‖■■‖■  ",
"  ■‖■■‖■  ",
"■■■■■■■■",
"    ●    ●    "
},{
"    ■■■■■    ",
"    ■■■■■    ",
"    ■■■■■    ",
"■■■■■■■■■",
"    ●      ●    "
},{
"                  ",
"                  ",
"                  ",
"■■■■■■■■■",
"    ●      ●    "
},{
"  ◢■■■■■■◣  ",
"  ■■■■■■■■  ",
"  ■■■■■■■■  ",
"■■■■■■■■■■",
"    ●        ●    "
},{
"  ◢■■■■■■◣  ",
"  ■■■■■■■■  ",
"  ■■■■■■■■  ",
"■■■■■■■■■■",
"    ●        ●    "
},{
"  ◢■■■■■■◣  ",
"  ■■■■■■■■  ",
"  ■■■■■■■■  ",
"■■■■■■■■■■",
"    ●        ●    "
},{
"  ◢■■■■■■◣  ",
"  ■■■■■■■■  ",
"  ■■■■■■■■  ",
"■■■■■■■■■■",
"    ●◥■■◤●    "
},{
"  ◢■■■■◣  ",
"  ■■■■■■  ",
"  ◥‖■■‖◤  ",
"■■■■■■■■",
"    ●    ●    "
},{
"  ■■■■■■■    ",
"  ■■■■■■■    ",
"  ■■■■■■■■  ",
"■■■■■■■■■■",
"    ●      ●      "
},{
"    ■■■■■■■  ",
"    ■■■■■■■  ",
"  ■■■■■■■■  ",
"■■■■■■■■■■",
"      ●      ●    "
},{
"  ◢■■■■■■◣  ",
"◢■■■和谐■■■◣",
"◥■■■■■■■■◤",
"■◥■■■■■■◤■",
"    ●        ●    "
},{
"  ◢■■■■◣  ",
"  ■‖■■‖■  ",
"  ■‖■■‖■  ",
"■■■■■■■■",
"    ●    ●    "
},{
"    ■■■■    ",
"  ■■■■■■  ",
"  ■■■■■■  ",
"■■■■■■■■",
"    ●    ●    "
},{
"  ◢■■■■◣  ",
"  ■‖■■‖■  ",
"  ■‖■■‖■  ",
"■■■■■■■■",
"    ●    ●    "
},{
"  ▄▄▄▄▄▄  ",
"  ■‖■■‖■  ",
"  ■‖■■‖■  ",
"■■■■■■■■",
"    ●    ●    "
},{
"  ▄▄▄▄▄▄  ",
"  ■‖■■‖■  ",
"  ■‖■■‖■  ",
"■■■■■■■■",
"    ●    ●    "
},{
"  ◢■■■■◣  ",
"  ■‖■■‖■  ",
"  ■‖■■‖■  ",
"■■■■■■■■",
"    ●    ●    "
},{
"                ",
"  ■■■■■■  ",
"  ■■■■■■  ",
"■■■■■■■■",
"    ●    ●    "
},{
"    ■■■■    ",
"  ■■■■■■  ",
"  ■■■■■■  ",
"■■■■■■■■",
"    ●    ●    "
},{
"    ■■■■    ",
"  ■■■■■■  ",
"  ■■■■■■  ",
"■■■■■■■■",
"    ●    ●    "
},{
"                ",
"  ■■■■■■  ",
"  ■■■■■■  ",
"■■■■■■■■",
"    ●    ●    "
},{
"    ■■■■■    ",
"    ■■■■■    ",
"    ■■■■■    ",
"■■■■■■■■■",
"    ●      ●    "
},{
"                  ",
"                  ",
"                  ",
"■■■■■■■■■",
"    ●      ●    "
},{
"  ◢■■■■■■  ■■■■■■◣  ",
"◢■■和谐■■■--■■■和谐■■◣",
"◥■■■■■■■--■■■■■■■◤",
"■◥■■■■■■  ■■■■■■◤■",
"    ●      ●      ●      ●    "
},{
"  ◢■■■■■■  ■■■■■■◣  ",
"◢■■和谐■■■--■■■和谐■■◣",
"◥■■■■■■■--■■■■■■■◤",
"■◥■■■■■■  ■■■■■■◤■",
"    ●      ●      ●      ●    "
},{
"  ◢■■■■■■◣  ",
"  ■快速铁路运输■  ",
"  ■■■■■■■■  ",
"■■■■■■■■■■",
"    ●        ●    "
},{
"  ■■■■■■  ",
"  ■■■■■■  ",
"  ◥■■■■◤  ",
"■■■■■■■■",
"    ●    ●    "
},{
"  ◢■■■■◣  ",
"  ■■■■■■  ",
"  ◥‖■■‖◤  ",
"■■■■■■■■",
"    ●    ●    "
},{
"  ◢■■■■■■◣  ",
"  ■■■■■■■■  ",
"  ■■■■■■■■  ",
"■■■■■■■■■■",
"    ●        ●    "
},{
"    ■■■■■■    ",
"  ‖■■■■■■‖  ",
"  ■■■■■■■■  ",
"■■■■■■■■■■",
"    ●        ●    "
}
};
int col[50][10][20]={
{//第一个 
{15,2,2,2,2,2,2,2,15},
{2,2,2,4,4,2,2,15,15},
{2,2,2,2,2,2,2,15,15},
{0,2,2,2,2,2,2,2,0},
{15,15,8,15,15,15,8,15,15}
}
,{//第二个 
{15,2,2,2,2,2,2,2,15},
{15,15,2,2,4,4,2,2,2},
{15,15,2,2,2,2,2,2,2},
{0,2,2,2,2,2,2,2,0},
{15,15,8,15,15,15,8,15,15}
},{//第三个 
{15,10,10,10,10,10,10,10,10,15},
{15,10,10,2,2,2,2,10,10,15},
{15,10,10,10,10,10,10,10,10,15}, 
{0,10,10,10,10,10,10,10,10,0},
{15,15,8,15,15,15,15,8,15,15}, 
},{//第四个 
{15,1,1,1,1,1,1,1,1,15},
{1,1,1,1,4,4,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1}, 
{0,1,1,1,1,1,1,1,1,0},
{15,15,8,15,15,15,15,8,15,15}, 
},{//第五个 
{15,15,15,15,15,15,15,15},
{15,0,0,0,0,0,0,15},
{15,0,0,0,0,0,0,15},
{0,0,0,0,0,0,0,0},
{15,15,8,15,15,8,15,15}
},{//第六个 
{15,0,0,0,0,0,0,15},
{15,0,0,0,0,0,0,15},
{15,0,0,0,0,0,0,15},
{0,0,0,0,0,0,0,0},
{15,15,8,15,15,8,15,15}
},{//第七个 
{15,15,1,1,1,1,1,15,15},
{15,15,1,1,1,1,1,15,15},
{15,15,1,1,1,1,1,15,15},
{0,4,4,4,4,4,4,4,0},
{15,15,8,15,15,15,8,15,15}
},{//第八个 
{15,15,15,15,15,15,15,15,15},
{15,15,15,15,15,15,15,15,15},
{15,15,15,15,15,15,15,15,15},
{0,4,4,4,4,4,4,4,0},
{15,15,8,15,15,15,8,15,15}
},{//第九个 
{15,2,2,2,2,2,2,2,2,15},
{15,2,8,8,2,2,8,8,2,15},
{15,2,2,2,2,2,2,2,2,15},
{0,2,2,2,2,2,2,2,2,0},
{15,15,8,15,15,15,15,8,15,15}
},{//第十个 
{15,12,12,12,12,12,12,12,12,15},
{15,12,8,8,12,12,8,8,12,15},
{15,12,12,12,12,12,12,12,12,15},
{0,12,12,12,12,12,12,12,12,0},
{15,15,8,15,15,15,15,8,15,15}
},{//第十一个 
{15,1,1,1,1,1,1,1,1,15},
{15,1,8,8,1,1,8,8,1,15},
{15,1,1,1,1,1,1,1,1,15},
{0,1,1,1,1,1,1,1,1,0},
{15,15,8,15,15,15,15,8,15,15}
},{//第十二个 
{15,12,12,12,12,12,12,12,12,15},
{15,12,12,12,12,12,12,12,12,15},
{15,12,12,12,12,12,12,12,12,15},
{0,12,12,12,12,12,12,12,12,0},
{15,15,8,12,12,12,12,8,15,15}
},{//第十三个 
{15,6,6,6,6,6,6,15},
{15,6,6,6,6,6,6,15},
{15,6,0,6,6,0,6,15},
{0,0,0,0,0,0,0,0},
{15,15,8,15,15,8,15,15}
},{//第十四个 
{15,3,3,3,3,3,3,3,15,15},
{15,3,3,3,3,3,0,3,15,15},
{15,3,3,3,3,3,3,3,3,15},
{0,3,3,3,3,3,3,3,3,0},
{15,15,8,15,15,15,8,15,15,15}
},{
{15,15,3,3,3,3,3,3,3,15},
{15,15,3,0,3,3,3,3,3,15},
{15,3,3,3,3,3,3,3,3,15},
{0,3,3,3,3,3,3,3,3,0},
{15,15,15,8,15,15,15,8,15,15}
},{
{15,2,2,2,2,2,2,2,2,15},
{2,2,2,2,4,4,2,2,2,2},
{2,2,2,2,2,2,2,2,2,2}, 
{0,2,2,2,2,2,2,2,2,0},
{15,15,8,15,15,15,15,8,15,15}, 
},{
{15,0,0,0,0,0,0,15},
{15,0,0,0,0,0,0,15},
{15,0,0,0,0,0,0,15},
{0,0,0,0,0,0,0,0},
{15,15,8,15,15,8,15,15}
},{
{15,15,1,1,1,1,15,15},
{15,0,0,0,0,0,0,15},
{15,0,0,0,0,0,0,15},
{0,0,0,0,0,0,0,0},
{15,15,8,15,15,8,15,15}
},{
{15,2,2,2,2,2,2,15},
{15,2,2,2,2,2,2,15},
{15,2,2,2,2,2,2,15},
{0,2,2,2,2,2,2,0},
{15,15,8,15,15,8,15,15}
},{
{15,2,2,2,2,2,2,15},
{15,2,2,2,2,2,2,15},
{15,2,2,2,2,2,2,15},
{0,2,2,2,2,2,2,0},
{15,15,8,15,15,8,15,15}
},{
{15,4,4,4,4,4,4,15},
{15,4,4,4,4,4,4,15},
{15,4,4,4,4,4,4,15},
{0,4,4,4,4,4,4,0},
{15,15,8,15,15,8,15,15}
},{
{15,4,4,4,4,4,4,15},
{15,4,4,4,4,4,4,15},
{15,4,4,4,4,4,4,15},
{0,4,4,4,4,4,4,0},
{15,15,8,15,15,8,15,15}
},{
{15,15,15,15,15,15,15,15},
{15,4,4,4,4,4,4,15},
{15,4,4,4,4,4,4,15},
{0,4,4,4,4,4,4,0},
{15,15,8,15,15,8,15,15}
},{
{15,15,1,1,1,1,15,15},
{15,4,4,4,4,4,4,15},
{15,4,4,4,4,4,4,15},
{0,4,4,4,4,4,4,0},
{15,15,8,15,15,8,15,15}
},{
{15,15,1,1,1,1,15,15},
{15,2,2,2,2,2,2,15},
{15,2,2,2,2,2,2,15},
{0,2,2,2,2,2,2,0},
{15,15,8,15,15,8,15,15}
},{
{15,15,15,15,15,15,15,15},
{15,2,2,2,2,2,2,15},
{15,2,2,2,2,2,2,15},
{0,2,2,2,2,2,2,0},
{15,15,8,15,15,8,15,15}
},{
{15,15,1,1,1,1,1,15,15},
{15,15,1,1,1,1,1,15,15},
{15,15,1,1,1,1,1,15,15},
{0,0,0,0,0,0,0,0,0},
{15,15,8,15,15,15,8,15,15}
},{
{15,15,15,15,15,15,15,15,15},
{15,15,15,15,15,15,15,15,15},
{15,15,15,15,15,15,15,15,15},
{0,0,0,0,0,0,0,0,0},
{15,15,8,15,15,15,8,15,15}
},{
{15,1,1,1,1,1,1,1,15,1,1,1,1,1,1,1,15},
{1,1,1,4,4,1,1,1,0,1,1,1,4,4,1,1,1},
{1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1},
{0,1,1,1,1,1,1,1,15,1,1,1,1,1,1,1,0},
{15,15,8,15,15,15,8,15,15,15,8,15,15,15,8,15,15}
},{
{15,2,2,2,2,2,2,2,15,2,2,2,2,2,2,2,15},
{2,2,2,4,4,2,2,2,0,2,2,2,4,4,2,2,2},
{2,2,2,2,2,2,2,2,0,2,2,2,2,2,2,2,2},
{0,2,2,2,2,2,2,2,15,2,2,2,2,2,2,2,0},
{15,15,8,15,15,15,8,15,15,15,8,15,15,15,8,15,15}
},{
{15,12,12,12,12,12,12,12,12,15},
{15,12,4,4,4,4,4,4,12,15},
{15,12,12,12,12,12,12,12,12,15},
{0,12,12,12,12,12,12,12,12,0},
{15,15,8,15,15,15,15,8,15,15}
},{
{15,8,8,8,8,8,8,15},
{15,8,8,8,8,8,8,15},
{15,8,8,8,8,8,8,15},
{0,0,0,0,0,0,0,0},
{15,15,8,15,15,8,15,15}
},{
{15,8,8,8,8,8,8,15},
{15,8,8,8,8,8,8,15},
{15,8,0,8,8,0,8,15},
{0,0,0,0,0,0,0,0},
{15,15,8,15,15,8,15,15}
},{
{15,6,6,6,6,6,6,6,6,15},
{15,6,6,6,6,6,6,6,6,15},
{15,6,6,6,6,6,6,6,6,15},
{0,6,6,6,6,6,6,6,6,0},
{15,15,8,15,15,15,15,8,15,15}
},{
{15,15,4,4,4,4,4,4,15,15},
{15,0,4,4,4,4,4,4,0,15},
{15,4,4,4,4,4,4,4,4,15},
{0,4,4,4,4,4,4,4,4,0},
{15,15,8,15,15,15,15,8,15,15}
}
};
int len[50]={9,9,10,10,8,8,9,9,10,10,10,10,8,10,10,10,8,8,8,8,8,8,8,8,8,8,9,9,17,17,10,8,8,10,10};
int way,cx[10010],co[10][1000010];
string str[10],tmp[10];
int main(){
	//HideCursor();
	system("cls");
	color(0,15);
	system("cls");
	printf("\n\n\n\t\t\t\t");
	color(4,15);
	cout<<"火";
	Sleep(1000);
	system("cls");
	printf("\n\n\n\t\t\t\t");
	color(1,15);
	cout<<"火";
	color(4,15);
	cout<<"车";
	Sleep(1000);
	system("cls");
	printf("\n\n\n\t\t\t\t");
	color(1,15);
	cout<<"火车";
	color(4,15);
	cout<<"模";
	Sleep(1000);
	system("cls");
	printf("\n\n\n\t\t\t\t");
	color(1,15);
	cout<<"火车模";
	color(4,15);
	cout<<"拟";
	Sleep(1000);
	system("cls");
	printf("\n\n\n\t\t\t\t");
	color(1,15);
	cout<<"火车模拟";
	color(4,15);
	cout<<"器";
	Sleep(1000);
	system("cls");
	color(1,15);
	printf("\n\n\n\t\t\t\t");
	cout<<"火车模拟器";
	Sleep(1000);
	color(0,15);
	cout<<"\n\n\t\t\t";
	printf("曹灿阳原创,请勿抄袭!!!");
	Sleep(2000);
	system("cls");
	while(1){
		memset(cx,0,sizeof(cx));
		memset(co,0,sizeof(co));
		for(int i=0;i<10;i++){
			str[i]="";
			tmp[i]="";
		}
		system("cls");
		color(0,15);
		system("cls");
		color(0,15);
		printf("请输入火车的方向:(0表示从左往右,非0表示从右往左,Ctrl+C退出)");
		cin>>way;
		if(way!=0)
			way=1;
		for(int i=0;i<35;i++){
			for(int j=0;j<5;j++){
				for(int k=0;k<train[i][j].size();k+=2){
					color(col[i][j][k/2],15);
					printf("%c%c",train[i][j][k],train[i][j][k+1]);
				}
				printf("\n");
			}
			color(0,15);
			printf("第%d号车厢(包括火车头)\n\n",i);
		}
		color(0,15);
		printf("请输入火车车厢编号(车厢数不多于10000,多余的部分自动省略,\n从左到右依次为车厢从左到右的顺序),\n空格隔开,异常值不读,按-1结束输入。\n");
		int idx=1;
		while(1){
			cin>>cx[idx];
			if(cx[idx]==-1||idx==10000)
				break;
			if(cx[idx]>=35||cx[idx]<0){
				continue;
			}
			idx++;
		}
		idx--;
		if(idx==0){
			color(0,15);
			cout<<"一节车厢也没有,你在输入空气???";
			Sleep(1000);
			continue;
		}
		int l=0;
		for(int i=1;i<=idx;i++){
			for(int k=0;k<len[cx[i]];k++){
				for(int j=0;j<5;j++){
					co[j][l]=col[cx[i]][j][k];	
				}
				l++;
			}
			for(int j=0;j<5;j++){
				str[j]+=train[cx[i]][j];
			}
		}
		l--;
		system("cls");
		color(0,15);
		system("cls");
		if(way==0){
			cout<<(char)7;
			for(int i=l;i>=0;i--){
				printf("\n\n\n\n\n\n\n\n\n\n");
				for(int j=0;j<5;j++){
					//str[j].substr(max(i,0)*2,(min(i+38,l)-i+1)*2);
					for(int k=max(i,0)*2;k<=min(i+38,l)*2;k+=2){
						color(co[j][k/2],15);
						//cout<<;
						cout<<str[j].substr(k,2);
					}
					printf("\n");
				}
				color(0,15);
				printf("〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓");
				Sleep(75);
				system("cls");
			}
			string kongge="";
			for(int i=1;i<=38;i++){
				printf("\n\n\n\n\n\n\n\n\n\n");
				kongge+="  ";
				for(int j=0;j<5;j++){
					cout<<kongge;
					for(int k=0;k<=min((38-i)*2,l*2);k+=2){
						color(co[j][k/2],15);
						cout<<str[j].substr(k,2);
					}
					printf("\n");
				}
				color(0,15);
				printf("〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓");
				Sleep(75);
				system("cls");
			}
			printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓");
			cout<<(char)7;
			Sleep(1000);
			system("cls");
		}else{
			cout<<(char)7;
			for(int i=38;i>=0;i--){
				printf("\n\n\n\n\n\n\n\n\n\n");
				for(int j=0;j<5;j++){
					for(int k=1;k<=i;k++)
						cout<<"  ";
					for(int k=0;k<=min(l,38-i)*2;k+=2){
						color(co[j][k/2],15);
						cout<<str[j].substr(k,2);
					}
					printf("\n");
				}
				color(0,15);
				printf("〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓");
				Sleep(75);
				system("cls");
			}
			for(int i=1;i<=l;i++){
				printf("\n\n\n\n\n\n\n\n\n\n");
				//左:i 右:min(l,i+38) 
				for(int j=0;j<5;j++){
					for(int k=i*2;k<=min(38+i,l)*2;k+=2){
						color(co[j][k/2],15);
						cout<<str[j].substr(k,2);
					}
					printf("\n");
				}
				color(0,15);
				printf("〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓");
				Sleep(75);
				system("cls");
			}
			printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓");
			cout<<(char)7;
			Sleep(1000);
			system("cls");
			color(0,15);
			system("cls");
		}
	}
	return 0;
}

 


0
1
曹灿阳
曹灿阳
初级天翼
初级天翼

奥利给!!!

曹灿阳在2021-02-21 12:38:23追加了内容

ding

0
李显晨
李显晨
中级启示者
中级启示者

可以可以,很不错,挺好玩的

0
0
陈曦
陈曦
资深天翼
资深天翼

然后呢?按哪个键?

 

PS:我小时侯也喜欢车,不过是玩具车,也有玩具枪(受一个朋友的影响)

陈曦在2021-02-20 13:21:49追加了内容

有趣的🚆👍

0
沙宸安
沙宸安
高级启示者
高级启示者

↑ 输入-1就行了

沙宸安在2021-02-20 13:20:02追加了内容

再按回车,你就可以看到火车在那里咔咔咔QwQ

沙宸安在2021-02-20 13:20:08追加了内容

再按回车,你就可以看到火车在那里咔咔咔QwQ

0
沙宸安
沙宸安
高级启示者
高级启示者

切回正题~

总的来讲,做得很用心,但可玩性不太高,不是特别耐玩。

但我觉得这段代码适合初学者研究。

这应该不是您的开发方向,总之,玩玩乐乐就好啦。

0
ASTPR比赛官方
ASTPR比赛官方
中级守护
中级守护

妙啊,我把每节车厢都连了一遍

建议速度快一点

0
ASTPR比赛官方
ASTPR比赛官方
中级守护
中级守护

妙啊,我把每节车厢都连了一遍

建议速度快一点

0
0
王子豪
王子豪
资深守护
资深守护

蒟蒻回复:

       @我干嘛?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻

0
张帆
张帆
中级天翼
中级天翼

挑战系统,输入两千个15:

错了吧。

0
我要回答