1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/haolaiwugongsi-good_pollution

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
好来污员工表.cpp 11 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
张睿力 Отправлено 13.04.2019 06:38 ee458ab
#include<iostream>
#include<windows.h>
#include <iostream>
#include<fstream>
#include <ctime>
#include <cmath>
#include <stdlib.h>
#include<stdio.h> //时间 //文件
#include <string>
#define random(x)(rand()%x)
using namespace std;
long long www;
int Continue=1;
int difficulty;
char user[10];
void thunder(int Dif,int Row,int Column,char *USer)
{
int r,c,alls[22][22],backstage[22][22]={0};
srand((int)time(0));
for(r=1;r<=Row;r++) // 生成alls(0~1)1是雷
{
for(c=1;c<=Column;c++)
{
if(random(6)<1) {alls[r][c]=1;} else{alls[r][c]=0;};
}
};
for(r=0;r<=Row+1;r++) //生成 backstage(正确答案)
{
for(int c=0;c<=Column+1;c++)
{
if(alls[r][c]==1)
{
backstage[r][c]='*'; //将1变为 * 代表雷
}
else
{
for(int i=r-1;i<=r+1;i++) //将0变为数字 (代表周围雷数)
for(int j=c-1;j<=c+1;j++)
{
if(alls[i][j]!=alls[r][c]&&alls[i][j]==1){backstage[r][c]++;};
}
}; //else 结束
}; // for 结束
}; // for 结束
cout<<"======================*********================================"<<endl;
char surface[22][22]; //生成surface(用户界面)
for(r=0;r<22;r++) //全部为零
for(c=0;c<22;c++)
{
surface[r][c]='0';
}
for(r=1;r<=Row;r++) //中间化 # 形成0包围#的形式 (通过数 #-->(*||数字) 的个数 赢的时候停止循环)
for(c=1;c<=Column;c++)
{
surface[r][c]='#';
}
for(r=1;r<=Row;r++) //输出 surface 界面 便于检查
{
for(c=1;c<=Column;c++) {cout<<" "<<surface[r][c];};
cout<<endl;
};
cout<<"请按格式输入"<<endl
<<"前两个数字为坐标,最后一个数字“1”表示此位置为雷,“0”则表示不是。"<<endl
<<"如:1 3 1 表示一行三列是雷;2 4 0 表示二行四列不是雷"<<endl
<<"提示:当数字周围雷都被扫出时,可再次按要求输入此位置,可得到周围数字。"<<endl;
long i=10000000L; //计算时间开始
clock_t start,finish;
double duration;
start=clock();
while(i--); //计算时间开始
int num=Row*Column; //计算#号个数
while(num!=0) //控制 是否点完所有位置
{
int x,y,judge;
cin>>x>>y>>judge;
if(alls[x][y]!=judge)
{
cout<<"you lose!!!"<<endl;
cout<<"The answer is:"<<endl;
for(r=1;r<=Row;r++) //输了 输出backstage 显示正确答案
{
for(int c=1;c<=Column;c++)
{
cout<<" "<<(char)(backstage[r][c]==42?backstage[r][c]:backstage[r][c]+'0'); //输出backstage
}
cout<<endl;
}
break;
}
else
{
if(alls[x][y]==1) {if(surface[x][y]=='#'){num--;}surface[x][y]='@'; } // 雷 判断正确 显示“@”;数“#”
else
{
if(backstage[x][y]!=0) // 数字 判断正确 显示数字
{
if(surface[x][y]=='#'){num--; surface[x][y]=backstage[x][y]+'0'; } // 数“#”
else
{
int lei_num=0;
for(int i=x-1;i<=x+1;i++) //数 数字周围 雷的个数
for(int j=y-1;j<=y+1;j++)
{
if(surface[i][j]=='@')
lei_num++;
}
if(backstage[x][y]==lei_num) // 看数字周围雷是否全部扫出 提示 显示数字周围
{
for(int i=x-1;i<=x+1;i++)
for(int j=y-1;j<=y+1;j++)
if(surface[i][j]=='#') //数“#”
{
surface[i][j]=backstage[i][j]+'0';
num--;
}
}
}
}
else // 数字为零时 显示零周围的零
{
if(surface[x][y]=='#'){num--;}; //数“#”
surface[x][y]=backstage[x][y]+'0';
for(int i=x-1;i<=x+1;i++) // 显示零周围的数字
for(int j=y-1;j<=y+1;j++)
if(surface[i][j]=='#') // 避免 死循环
{
surface[i][j]=backstage[i][j]+'0';
num--; //数“#”
}
for(int k=0;k<20;k++) //最多20层零 (点出最边上的零)
{
for (int R=1;R<=Row;R++) //检查所有零
for(int C=1;C<=Column;C++) //再次显示零周围的数字
{
if(surface[R][C]=='0')
{
for(int i=R-1;i<=R+1;i++)
for(int j=C-1;j<=C+1;j++)
{
if(surface[i][j]=='#') // 避免 死循环 数“#”
{
surface[i][j]=backstage[i][j]+'0';
num--;
}
}
}
} //匹配for 内
} //匹配 for 外
}//匹配else
}//匹配else
}//匹配els
cout<<endl;
cout<<"======================*********================================"<<endl;
for(r=1;r<=Row;r++) //输出界面(已修改)
{
for(c=1;c<=Column;c++) {cout<<" "<<surface[r][c];};
cout<<endl;
};
} //匹配while
finish=clock(); //计算时间结束
duration=(double)(finish-start)/CLOCKS_PER_SEC; //时间变量
if(num==0) //所有
{
cout<<" You win! Congratulations!! "<<endl;
cout<<" Your time is: "<<duration<<endl;
if(Dif==1) //读取 简单扫雷 的存储文件
{
string Name;
string name[6];
double Time,rang;
double times[6];
int i=0;
ifstream inf("扫雷 简单.txt");
for(i=0;i<5;i++) //文件中信息导入到数组里
{
inf>>Name;inf>>rang>>Time;
name[i]=Name;
times[i]=Time;
}
inf.close();
name[5]=USer; //本轮玩家信息
times[5]=duration;
double t1=0;
string t2;
for(int j=0;j<5;j++) //冒泡排序法
{
for(i=0;i<5-j;i++)
{
if(times[i]>times[i+1])
{
t1=times[i];
times[i]=times[i+1];
times[i+1]=t1;
t2=name[i];
name[i]=name[i+1];
name[i+1]=t2;
}
}
}
ofstream outf("扫雷 简单.txt");
for(i=0;i<5;i++) //将前五名玩家信息存储到文件中
{
cout<<name[i]<<" "<<i+1<<" "<<times[i]<<endl;
outf<<name[i]<<" "<<i+1<<" "<<times[i]<<endl;
}
outf.close();
}
if(Dif==2) //读取 一般扫雷 的存储文件
{
string Name;
string name[6];
double Time,rang;
double times[6];
int i=0;
ifstream inf("扫雷 一般.txt");
for(i=0;i<5;i++) //文件中信息导入到数组里
{
inf>>Name;inf>>rang>>Time;
name[i]=Name;
times[i]=Time;
}
inf.close();
name[5]=USer; //本轮玩家信息
times[5]=duration;
double t1=0;
string t2;
for(int j=0;j<5;j++) //冒泡排序法
{
for(i=0;i<5-j;i++)
{
if(times[i]>times[i+1])
{
t1=times[i];
times[i]=times[i+1];
times[i+1]=t1;
t2=name[i];
name[i]=name[i+1];
name[i+1]=t2;
}
}
}
ofstream outf("扫雷 一般.txt");
for(i=0;i<5;i++) //将前五名玩家信息存储到文件中 并输出
{
cout<<name[i]<<" "<<i+1<<" "<<times[i]<<endl;
outf<<name[i]<<" "<<i+1<<" "<<times[i]<<endl;
}
outf.close();
}
if(Dif==3) //读取 困难扫雷 的存储文件
{
string Name;
string name[6];
double Time,rang;
double times[6];
int i=0;
ifstream inf("扫雷 困难.txt");
for(i=0;i<5;i++) //文件中信息导入到数组里
{
inf>>Name;inf>>rang>>Time;
name[i]=Name;
times[i]=Time;
}
inf.close();
name[5]=USer; //本轮玩家信息
times[5]=duration;
double t1=0;
string t2;
for(int j=0;j<5;j++) //冒泡排序法
{
for(i=0;i<5-j;i++)
{
if(times[i]>times[i+1])
{
t1=times[i];
times[i]=times[i+1];
times[i+1]=t1;
t2=name[i];
name[i]=name[i+1];
name[i+1]=t2;
}
}
}
ofstream outf("扫雷 困难.txt");
for(i=0;i<5;i++) //将前五名玩家信息存储到文件中
{
cout<<name[i]<<" "<<i+1<<" "<<times[i]<<endl;
outf<<name[i]<<" "<<i+1<<" "<<times[i]<<endl;
}
outf.close();
}
}
}
void scale(int dif,char *User) //选择难度
{
int row,column;
if(dif==1) {row=3;column=3;}
if(dif==2) {row=7;column=7;}
if(dif==3) {row=10;column=10;}
cout<<"The scale is: "<<row<<"*"<<column<<endl;
thunder(dif,row,column,User);
};
int main()
{
long long a,b,x,y,z,zhang=100,kai=100,yuan=100,liu=100,zeng=100,c,deng=100,tuo=100,d,wu=100;
for(int j=1;;j++)
{
system("color 97");
cout<<"好来污集团员工系统 控制中心\n\n\n1.好来污信息 2.进入员工系统"<<endl;
cin>>a;
if(a==1){cout<<"成立于2019年1月26日 著名电影公司 著名电影为《吃屎啦》 2019年新大片《元气骑士大电影》\n";}
else if(a==2)
{
cout<<"请输入员工号:";cin>>a;
if(a==20070907){b=1;cout<<"您好,张。\n";}
else if(a==20080117){b=2;cout<<"您好,凯。\n";}
else if(a==110100110001){b=3;cout<<"您好,源\n";}
else if(a==123456){b=4;cout<<"您好,刘\n";}
else if(a==98123) {b=5;cout<<"您好,曾\n";}
else if(a==20080315){b=6;cout<<"您好,邓\n";}
else if(a==200710) {b=7;cout<<"您好,拓\n";}
else if(a==20080511){b=8;cout<<"您好,吴\n";}
else break;
}
else return 0;
for(int i=1;;i++)
{
system("color 3E");
cout<<"\n\n\n\n\n\n\n好来污集团员工系统\n1.办理会员 2.会员充值 3.工作信息 4.会员信息 5.退出系统 \n6.休息一下,玩个游戏!\n\n\n小来提醒您:护眼模式已开启,请注意保护眼睛。";
cin>>d;
if(d==1)
{
system("color 0E");
cout<<"\n\n会员号:";cin>>x;
cout<<"\n\n密码:";cin>>y;
cout<<"\n\n1.确认 0.否认";cin>>z;
if(z==1)cout<<"办理成功";
}
if(d==2)
{
system ("color 17");
cout<<"会员号:";cin>>a;
if(a==20080117)
{
system ("cls");
cout<<"凯 请问充值多少元:";
cin>>c;
kai+=c;
cout<<"充值成功 "<<kai<<"元";
}
else if(a==20070907)
{
cout<<"张 请问充值多少元:";
cin>>c;
zhang+=c;
cout<<"充值成功 "<<zhang<<"元";
}
else if(a==110100110001)
{
cout<<"源 请问充多少元:";
cin>>c;
yuan=yuan+c;
cout<<"充值成功 "<<yuan<<"元";
}
else if(a==123456)
{
cout<<"刘 请问充多少元:";
cin>>c;
liu=liu+c;
cout<<"充值成功 "<<liu<<"元";
}
else if(a==98123)
{
cout<<"曾 请问充多少元:";
cin>>c;
zeng=zeng+c;
cout<<"充值成功 "<<zeng<<"元";
}
else if(a==20080315)
{
cout<<"邓 请问充多少元:";
cin>>c;
deng=deng+c;
cout<<"充值成功 "<<deng<<"元";
}
else if(a==200710)
{
cout<<"拓 请问充多少元:";
cin>>c;
tuo=tuo+c;
cout<<"充值成功 "<<tuo<<"元";
}
else if(a==20080511)
{
cout<<"吴 请问充多少元:";
cin>>c;
wu=wu+c;
cout<<"充值成功 "<<wu<<"元";
}
}
if(d==4)
{
system("color 4F");
if(b==1)
{
cout<<"张 王牌会员 2007年出生 属于员工 会员年龄1\n\n\n\n\n";
}
if(b==2)
{
cout<<"凯 白金会员 2008年出生 属于员工 会员年龄1\n\n\n\n\n";
}
if(b==3)
{
cout<<"源 黄金会员 出生 未知 属于员工 会员年龄1\n\n\n\n\n";
}
if(b==4)
{
cout<<"刘 白金会员 2007年出生 属于员工 会员年龄1\n\n\n\n\n";
}
if(b==5)
{
cout<<"曾 水晶会员 2007年出生 属于员工 会员年龄1\n\n\n\n\n";
}
if(b==6)
{
cout<<"邓 青铜会员 2008年出生 属于员工 会员年龄1\n\n\n\n\n";
}
if(b==7)
{
cout<<"拓 青铜会员 2007年出生 属于员工 会员年龄1\n\n\n\n\n";
}
if(b==8)
{
cout<<"吴 青铜会员 2008年出生 属于员工 会员年龄1\n\n\n\n\n";
}
system("pause");
cout<<"小来提醒您:加油升职吧!!!";Sleep(2000);
}
if(d==3)
{system("color 79");
if(b==1)
{
cout<<"张 会员:王牌 职位:董事长 著作:《吃屎啦》、《迷你狗》《流量地球》\n";
}
if(b==2)
{
cout<<"凯 会员:白金 职位:员工 著作:无\n";
}
if(b==3)
{
cout<<"源 会员:黄金 职位:副组长 著作:《打僵尸游戏》\n";
}
if(b==4)
{
cout<<"刘 会员:白金 职位:副组长 著作:无\n";
}
if(b==5)
{
cout<<"曾 会员:王者 职位:总裁 著作: 《元气骑士:话说BOSS打法》、《MC我的世界:话说末影龙打法》、《绝地求生:年兽大作战》。。。\n";
}
if(b==6)
{
cout<<"邓 会员:白银 职位:组长 著作:一大堆游戏\n";
}
if(b==7)
{
cout<<"拓 会员:青铜 职位:员工 著作:无\n";
}
if(b==8)
{
cout<<"吴 会员:青铜 职位:员工 著作:无\n";
}
system("pause");
}
if(d==5)
{
system("cls");
break;
}
if(d==6)
{
cout<<"好来污专属游戏欢迎您! "<<endl
<<" 请输入用户名! "<<endl;
cin>>user;
while(Continue==1)
{
cout<<"=======================*******************======================="<<endl
<<" 请选择难度! "<<endl
<<" 简单——1 "<<endl
<<" 一般——2 "<<endl
<<" 困难——3 "<<endl;
cin>>difficulty;
scale(difficulty,user);
cout<<"继续游戏——1 结束游戏——0"<<endl;
cin>>Continue;
if(Continue==0){system("cls");cout<<"小来提醒您:提提神,做电影吧!!";Sleep(2000);}
}
}
}
}
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/haolaiwugongsi-good_pollution.git
git@api.gitlife.ru:oschina-mirror/haolaiwugongsi-good_pollution.git
oschina-mirror
haolaiwugongsi-good_pollution
haolaiwugongsi-good_pollution
master