锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

地理百科程序

时间:2022-12-18 12:30:00 弧形通风器连接器l925b冷接子光纤快速连接器2290连接器二氧化碳变送器的构造笼光纤连接器

五一期间,我们的地理老师让我们做一个地理作业,我想起了我的编程可以做一个,现在分享,代码!制作起来不容易,请表扬一下

#include  #include  #include  #include  #include  #include  #include  #include  #define SS system("cls") using namespace std; int zt, bj, xhx; void SetFont(int size = 30) {  CONSOLE_FONT_INFOEX cfi;  cfi.cbSize = sizeof cfi;  cfi.nFont = 0;  cfi.dwFontSize.X = 0;  cfi.dwFontSize.Y = size;  //设置字体大小  cfi.FontFamily = FF_DONTCARE;  cfi.FontWeight = FW_NORMAL; ///字体厚度 FW_BOLD  SetCurrentConsoleFontEx(GetStdHandle(STD_OUTPUT_HANDLE), FALSE, &cfi);  //获取当前字体  //HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);  //CONSOLE_FONT_INFO consoleCurrentFont;  //GetCurrentConsoleFont(handle, FALSE, &consoleCurrentFont); } #define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0) HWND hwnd=GetForegroundWindow(); void full_screen() {        HWND hwnd = GetForegroundWindow();     int cx = GetSystemMetrics(SM_CXSCREEN);            /* 屏幕宽度 像素 */     int cy = GetSystemMetrics(SM_CYSCREEN);            /* 屏幕高度 像素 */   LONG l_WinStyle = GetWindowLong(hwnd,GWL_STYLE);   /* 获取窗口信息 */     /* 设置窗口信息 最大化 取消标题栏和边框 */     SetWindowLong(hwnd,GWL_STYLE,(l_WinStyle | WS_POPUP | WS_MAXIMIZE) & ~WS_CAPTION & ~WS_THICKFRAME & ~WS_BORDER);      SetWindowPos(hwnd, HWND_TOP, 0, 0, cx, cy, 0); } void ys() {  if(zt==1)  {   cout<<"\033[30m";  }  else if(zt==2)  {   cout<<"\033[31m";  }  else if(zt==3)  {   cout<<"\033[32m";  }  else if(zt==4)  {   cout<<"\033[33m";  }  else if(zt==5)  {   cout<<"\033[34m";  }  else if(zt==6)  {   cout<<"\033[35m";  }  else if(zt==7)  {   cout<<"\033[36m";  }  else if(zt==8)  {   cout<<"\033[37m";  }  if(bj==1)  {   cout<<"\033[40m";  }  else if(bj==2)  {   cout<<"\033[41m";  }  else if(bj==3)  {   cout<<"\033[42m";  }  else if(bj==4)  {   cout<<"\033[43m";  }  else if(bj==5)  {   cout<<"\033[44m";  }  else if(bj==6)  {   cout<<"\033[45m";  }  else if(bj==7)  {   cout<<"\033[46m";  }  else if(bj==8)  {   cout<<"\033[47m";  }  if(xhx==1)  {   cout<<"\033[6m";  } } void dark1(const string line) {     for(int i=0;i> a;
	if (a == 1)
	{
		c(R"(俗话说,“万事俱备,只欠东风”。没有东南风,便没有孙刘联军赤壁之战的辉煌胜利。《三国志·周瑜传》曰:
“(黄)盖放诸船,同时发火。时风盛猛,悉延烧岸上营落。顷之,烟炎张天,人马烧溺死者甚众,军遂败退,还保南郡。” 
曹操兵败乌林,直接原因无疑是遭到火攻。但西北风盛行的冬季,何来如此猛烈之东南风?实在令人费解。
“羽扇纶巾谈笑间,樯橹灰飞烟灭”,如此重大的事件,竟然没有一个合适的解释理由,总归是令人遗憾的。
于是《三国志平话》便有了“诸葛祭风”之说:
“有天地,三人而会祭风:第一个轩辕皇帝,拜风侯为师,使风降了蚩尤。又闻舜帝拜皋陶为师,使风困三苗。亮引收图文,至日助东南风一阵。”“诸葛披着黄衣,披头跳足,左手提剑,叩牙(典型的道教方式)作法,其风大发。”
时至今日,尽人皆知诸葛亮借东风之说为虚妄,便开始寻求科学之解释。
首先被人看上的便是古代小说中的“冬至一阳生”之说。
田树仁云:“十一月后半月,瑜、备大破曹军于赤壁。“注曰:“据战前已‘今方盛寒’;战时又‘东南风急’,推断当为十月后半月,盖冬至后才有可能偶刮东南风(冬至一阳生)!” 
羽白《赤壁之战》:
“经过周瑜、诸葛亮等人的研究,估计在冬至前后可能有东南风出现……公元208年十一月的一个夜晚,黄盖带领十只冲锋战船,向曹操水寨急速驶去。”
最有代表性的,要数《中国历代战争史》:
“是年十一月十三日甲子,晨起江上雾开,晴空风暖,时值前一日冬至,六管灰动,一阳方升,午后酷热,傍晚始有微风自南吹向北岸。午夜时风稍急,黄盖率其所备之战舰,又豫走舸,各系大船后,举帆乘风,引次俱前……盖乃放各舰舸同时发火,时火烈风猛,顷刻间烟焰张天.......
“冬至一阳生”之说,其来已久。《史记》卷二五《律书》云:
“广莫风居北方。广莫者,言阳气在下,阴莫阳广大也,故曰广莫。东至于虚。虚者,能实能虚,言阳气冬则宛(蕴)藏于虚.日冬至则一阴下藏,一阳上舒,故曰虚。
东汉高诱注云:“冬至之日,昼漏水上刻四十五,夜水上刻五十五,故曰日短至。阴气在上,微阳动升,故曰争也。诸蛰伏当生者皆动摇也。
可惜的是,根据“冬至一阳生,来复之时,安得无东南风”立论的诸说受到历法的挑战。
清徐绍桢《后汉书朔闰表》:“建安十三年戊子,十一月癸丑朔,冬至辛巳在廿九日。“查《中华两千年历书》编写组编写的《中华两千年历书》(公元1-2060)等历书,农历十一月廿九乃该月的最后一天(晦日),公历为208年12月24日。
因此“冬至一阳生”的“来复之时”应该出现在农历该年十二月,上述将“冬至一阳生”出现东南风的时间定为十一月的说法缺乏根据。
其次,建安十三年有闰十二月。
按陈寿《三国志》、袁宏《后汉纪》皆曰赤壁之战发生于该年十二月。东汉建安十三年,十二月闰,“十二月壬午朔,闰月壬子朔,大寒辛亥在十二月晦日,雨水壬午在正月朔日”。据《中华两千年历书》等历书,该年农历十二月、闰十二月的公历对应时间分别是:208年12月25日-209年1月23日,209年1月24日-2月21日。闰十二月十五丙寅立春,即209年2月7日。
季冬,“数将几终,岁将更始”;孟春,“立春”,“天气下降,地气上腾,天地和同,草木繁动。王布农事”。湖北省鄂州的初春为2月1日-3月7日,湖南省长沙市的初春为2月1日-3月11日,可以看出,建安十三年(公元208年)的闰十二月,已经进入赤壁之战发生地区的初春季节,东南风的出现毫不奇怪。
再次,东南风向与湖陆风有关。
但是,火攻有内发、外发两种。内发与风向关系较少,只要有风,且干燥时节便可;外发,则与风向关系很大,因为必须在上风放火。
从赤壁战前双方隔江对峙的情况看,曹军在西北岸,孙刘联军在东南岸,周瑜没法派人绕到曹军背后去放火;即使火起,也无法逆风顶火发起进攻。所以,对东南风的依赖,成为此战役成败的关键因素。
根据当时的气象预报水平,要准确预报今后数日内起风的日期、时辰、风向、风力的具体数据,恐怕是不大现实的。某些论者将后代人开始掌握的气象预报技术,赋予诸葛亮或周瑜,离客观事实不免相距过远。
既然大的气候背景上的东南风没有办法确切掌握其规律,就不能令三军将士日日夜夜整装待发,等候不知何日何时才会出现的东南风;否则,几天几夜下来,部队还不?到足够强劲的东南风出现时,战斗力已经大打折扣。
当年黄盖向周瑜建议道“今寇众我寡,难与持久。然观操军[方连]船舰,首尾相接,可烧而走也”,一副胸有成竹的样子,对东南风问题似乎没有丝毫之忧虑。作为战役决策者,必须对发起战役会战的各种条件做到心中有数,有一定的把握,才能制订具体方案。
尤其是在敌众我寡的情况下,不能碰运气,将赌注押在若有若无、不知何时出现的“东南风”上。周瑜并非轻率从事之人,他决定采用火攻方式向曹军发动关键性的总攻,必然基于他对赤壁、乌林一带地形、气象等相关因素的掌握。从这个角度考虑问题,与当地地形有密切关系的湖陆风,可能是火攻时“东南风”的重要因素。
由于水域和陆地之间热力性质的差异,造成了水陆之间的温度梯度,进而造成了水间气压梯度的存在:白天水域上形成高压,陆地上形成低压,夜则相反,因而白天气流从水域吹向陆地,分别称为海风、湖风或江风;夜间气流从陆地吹向水域,统称陆风。
洞庭湖、鄱阳湖存在湖陆风,长江上有江陆风,长江口上海市、瓯江口温州市等东南滨海城市均有海陆风的存在。
综上所述,周瑜决策火攻乌林时,所依托的“东南风”,既非诸葛亮装神弄鬼“借”来的,也非苦苦等来的。作为总攻决策依靠因素的,最大可能是湖泊地区长年流行、经常会出现的地域性湖陆风。周瑜数次进入江汉地区作战,熟悉这一带的天时地利。
周瑜麾下的甘宁,在荆州江夏太守黄祖手下供职数年。更不必说刘备、刘琦麾下熟悉该地情况的人才。而且,两军隔江对峙亦有一段日子,风向东南的湖陆风,应该已经遇到过。
从《三国志》“时风盛猛”与《江表传》“东南风急”两语看,似乎当时的风力还不小,很有可能是遇到了与陆风(东南风)方向一致的系统风(大气象环境出现的风,非局部地域性风)的支持。
湖陆风的规律是由弱到强,开始小,逐渐增大,因而说“湖陆风盛行的日子是在本地气压场发生大的转变之前”,越接近转变前夕,风力达到极盛阶段;“当一大的天气系统到来时,湖陆风即行消失”。
冬天时的东南风,即东南暖湿气流,往往出现在一次寒潮从盛到衰之后,正是在以寒冷为标征的大的天气系统出现衰减时,地域性的湖陆风开始出现,并逐渐增强,直到暖湿为标征的大天气系统出现前夕达到极盛。“火攻乌林”,盖发生在这样的天气背景之下。)");
		c("按任意键继续……");
      	getch();
	}
	else if (a == 2)
	{
		c("每年3月21日前后(北半球春分日),太阳光直射在赤道上,南、北半球得到的太阳光热大致相等。\n每年6月22日前后(北半球夏至日),太阳光直射北回归线,这时北半球得到的太阳光多。\n每年9月23日前后(北半球秋分日),太阳光又直射赤道,南、北半球得到的太阳光热大致相等。\n每年12月22日前后(北半球冬至日),太阳光直射南回归线,这时南半球得到的太阳光多。\n在北半球,一般把3、4、5月划为春季,把6、7、8月划为夏季,把9、10、11月划为秋季,把12、1、2月划为冬季。\n地球每公转一周,便出现一次春、夏、秋、冬的更替。南、北半球的四季正好相反。\n");
		c("按任意键继续……");
      	getch();
	}
	else if (a == 3)
	{
		c(R"(据西班牙《国家报》网站8月28日报道,科学研究指出,在39亿年前,地球遭受了陨石和彗星的猛烈“轰炸”,它们带来了水和有机物。又过了4亿年,生命在这些条件下出现。为了适应行星系统的形成理论,有人提出,是碳质球粒陨石等陨石给地球带来了水,它们来自太阳系的外部边界,太阳的热量不足以让那里的水蒸发。而现在,发表在《科学》杂志上的一篇论文指出,另一种小行星可能是生命必需的水的来源。
报道称,在遥远的彗星和陨石给地球充满水的假说中,需要巨型行星和那些天体之间的复杂引力作用过程,才能将它们从遥远的轨道带到这里。宇宙化学家洛蕾特·皮亚尼率领的一个由法国国家科学研究中心团队和洛林大学组成的团队,试图证明另一种可能性能够解释地球上水的来源。
西班牙国家研究委员会首席研究员何塞普·玛丽亚·特里戈说:“今天,我们知道包括地球在内的类地行星并不是突然形成的,而是由成百上千个天体聚合而成的。形成地球的天体是在距太阳较近的位置上形成的,其中80%至90%是顽火辉石球粒陨石或普通陨石。”
起初,由于地球在靠近太阳的距离上形成,因此人们认为,建造地球的那些“砖块”中没有足够的水。但是,皮亚尼和同事们的分析表明,这些最早期的岩石中含有足够多的氢,以至于足以带给地球相当于当今海洋水量三倍的水。为了有力证明这一点,研究人员准确地测量了13块顽火辉石球粒陨石中的氢和氘(可视为另一版本的氢)的含量。除了分析氢含量是否足够以外,他们还发现,这些顽火辉石球粒陨石中的氢和氮同位素的含量与地幔中的含量相近。
皮亚尼指出,这项研究并不能排除后来有彗星等其他来源为地球增加了更多的水,但至少表明在地球形成时,顽火辉石球粒陨石对地球的水资源形成做出了重要贡献。)");
		c("按任意键继续……");
      	getch();
	}
	else if (a == 4)
	{
		c("下雨后沿斜坡流动的暂时性面状流水(片流),对山坡冲刷剥蚀的作用(洗刷作用)。下雨后沿沟谷及河道流动的暂时性线状流水,称之为洪流。洪流对沟谷的强烈冲刷的作用常形成冲沟。在冲沟发育过程中,岩沟底下切到潜水面以下,勾股水流得到地下水不断补给,则由暂时性的流水转变为经常性的流水,冲沟就演变为河谷。当洪流逐渐深切沟底达地下水面,此时由于得到地下水源源不断的补充,从而发展为河流。\n河流的形成演变一方面受流水自身运动规律的控制,另一方面受地质构造影响,导致河流的面貌复杂多样。");
		c("按任意键继续……");
      	getch();
	}
	else if (a == 5)
	{
		c("山的形成原因有三大类:1、由地壳构造运动所形成的山称为构造山。2、原为高原或构造山,后来受到流水、风力等外力长期侵蚀分割而形成的山地,叫做侵蚀山。3、由某些物质在地表堆积而成的山叫堆积山。");
		c("按任意键继续……");
      	getch();
	}
	else if (a == 6)
	{
		c("死海水中含有很多矿物质,水分不断蒸发,矿物质沉淀下来,经年累月而成为今天最咸的咸水湖。死海的形成,是由于流入死海的河水,不断蒸发、矿物质大量下沉的自然条件造成的。那么,死海为什么会造成这种情况呢?原因主要有两条。其一,死海一带气温很高,夏季平均可达34C,最高达51C,冬季也有14—17C。气温越高,蒸发量就越大。其二,这里干燥少雨,年均降雨量只有50毫米,而蒸发量是140毫米左右。晴天多,日照强,雨水少,补充的水量,微乎其微,死海变得越来越“稠”——入不敷出,沉淀在湖底的矿物质越来越多,咸度越来越大。于是,经年累月,便形成了世界上最咸的咸水湖——死海。"); 
		c("按任意键继续……");
      	getch();
	}
	else if (a == 7)
	{
		c("如果日界线左边是3月6日,那么右边就是3月5日了,哥哥在日界线的左边出生,弟弟在右边,虽然哥哥先出生,但日期是弟弟早!!!");
		c("按任意键继续……");
      	getch();
	}
	else
	{
		c("???");
		sleep(1);
		return;
	}
}
void wdcg()
{
	c("欢迎来到地理问答闯关!!!回答给出的问题,将会增加连对次数。错一道将会从头再来,请谨慎回答哦。最后会根据连队次数给出段位,开始你的挑战吧。(系统只有一个正确答案,请根据格式回答,不要打句号)"); 
	c("按任意键继续……");
	getch(); 
	int x = 0, ld = 0, sy = 62; 
	string w[100] = {"0", "我国位置最北、纬度最高的省级行政区是?", "我国面积最大的省级行政区是?", "我国面积最大的平原是?", "我国最大的盆地是?", "我国地势最低的盆地是?", "我国最高最大的高原是?", "我国最长、最大、流域面积最广的河流是?", "我国含沙量最大的河流是?", "我国最长的内流河是?", "我国面积最大的湖泊是?", "地球绕地轴自转,转一周是(填时间)?", "地图的三要素是?(用“、”分隔,按首字母顺序填写)", "在等高线地形图上,等高线稠密,说明坡度?", "在分层设色地形图上,绿色常表示什么地形?", "世界上面积最大的洲是?", "世界上面积最小的洲是?", "世界上面积最大的洋是?", "我国濒临哪个大洋?", "亚非两洲的分界线是?", "南北美洲的分界线是?", "亚欧分界海峡是?", "全球的岩石圈可分为几大板块?(填写一个汉字数字)", "板块和板块交界处多?(两个地理现象)", "一天当中气温最高出现在几点?(24小时制,只需填写阿拉伯数字)", "一天当中气温最低出现在?", "一般来说,低纬度气温比高纬度气温?", "同纬度地带,夏季陆地气温比海洋气温?", "同纬度地带,冬季陆地气温比海洋气温?", "青藏高原之所以比同纬度其它地区寒冷,主要是受什么的影响?", "我国海南岛终年如夏,而黑龙江省北部却冬季漫长,最主要的影响因素是?", "世界的三大宗教是?(用顿号分隔)", "世界上使用人数最多的语言是?", "使用范围最广的语言是?", "世界上面积最大的国家是?", "人口最多的国家是?", "世界上跨纬度最广的大洲是?", "跨经度最广的大洲是?", "日本是一个多(什么现象)的岛国?", "世界上人口第二大国是?", "印度主要的粮食作物是?", "印度主要的经济作物是?", "俄罗斯的首都是?", " 世界上发达国家最集中的地区是?", "“黑种人的故乡”是指?", "澳大利亚被称为什么博物馆?(把什么博物馆全写上)", "澳大利亚被称为骑在什么上的国家?(把骑在什么上全写上)", "澳大利亚被称为坐在什么上的国家?(把坐在什么上全写上)", "世界上最大的平原是?", "世界上最大的高原是?", "世界上最高的高原是?", "巴西北部有一条世界上最大的河流是?", "地球上面积最大的热带雨林 ,被叫做?", "美国首都?", "日本首都?", "澳大利亚首都?", "巴西首都?", "印度首都?", "英国首都?", "法国首都?", "德国首都?", "我国陆地面积多少平方千米?(以xx万的形式写)", "我国共多少个邻国?"};
	string d[100] = {"0", "黑龙江省", "新疆维吾尔自治区", "东北平原", "塔里木盆地", "吐鲁番盆地", "青藏高原", "长江", "黄河", "塔里木河", "青海湖", "一天", "比例尺、方向、图例", "陡", "平原", "亚洲", "大洋洲", "太平洋", "太平洋", "苏伊士运河", "巴拿马运河", "土耳其海峡", "六", "火山地震", "14", "日出前后", "高", "高", "低", "地形", "纬度", "基督教、 伊斯兰教、佛教", "汉语", "英语", "俄罗斯", "中国", "亚洲", "南极洲", "火山地震", "印度", "小麦和水稻", "棉花和黄麻", "莫斯科", "欧洲西部", "撒哈拉以南的非洲", "世界活化石博物馆", "骑在羊背上", "坐在矿车上", "亚马逊平原", "巴西高原", "青藏高原", "亚马逊河", "地球之肺", "华盛顿", "东京", "堪培拉", "巴西利亚", "新德里", "伦敦", "巴黎", "柏林", "960万", "20"};
	int b[100];
	string s;
	b[0] = -1;
	for (int i = 0; i <= 62; i++)
	{
		b[i + 1] = i;
	}
	srand(time(0));
	while(ld <= 62)
	{
		SS;
		x = rand() % sy;
		for (int i = 0; i <= 62; i++)
		{
			if (b[i] == x)
			{
				cout << w[i] << endl << "目前连对次数:" << ld <> s;
				if(s == d[i])
				{
					cout << "正确!!!";
					sleep(1);
					ld++;
					sy--;
					if (ld == 62)
					{
						SS;
						c("恭喜你获得“地理之皇”称号,你已经完成了所有题目,已经没有什么问题可以难倒你了,欢迎添加作者微信对此作品发表意见:jerrylin2008");
						c("按任意键继续……");
						getch();
						return; 
					}
					b[i] = -1;
					for (int j = i; j <= 62; j++)
					{
						b[j]++;
					}
				}
				else
				{
					cout << "错误" << endl << "正确答案" << d[i] <0 && ld <= 10)
					{
						c("恭喜你获得“地理青铜”称号,你还需要多练练"); 
					} 
					else if(ld > 10 && ld <=20)
					{
						c("恭喜你获得“地理白银”称号,你已经小有实力,但还需勤加钻研");
					}
					else if(ld > 20 && ld <=30)
					{
						c("恭喜你获得“地理黄金”称号,你对地理已经有更多的认识,但还要更加努力才能更上一层楼");
					}
					else if(ld > 30 && ld <=40)
					{
						c("恭喜你获得“地理白金”称号,你已经有了不错的实力,继续努力吧");
					}
					else if(ld > 40 && ld <=50)
					{
						c("恭喜你获得“地理钻石”称号,你的实力已经比较强大,但还是不能懈怠哦");
					}
					else if(ld > 50 && ld <=60)
					{
						c("恭喜你获得“地理大神”称号,你已经十分强大,距离王者也只差一点距离了");
					}
					else if(ld > 60 && ld <62)
					{
						c("恭喜你获得“地理王者”称号,你几乎已经炉火纯青,但还有一点小瑕疵阻挡了你的成皇之路");
					}
					else
					{
						
					}
					c("按任意键继续……");
					getch();
					return; 
				} 
			}
		}
	}
}
int j=1;
void p(const string a)
{
    size_t len = a.size();
    for(int i = 0; i < a.size(); i++)
    {
        cout << a[i];
        usleep(10000);
    }
}

void jdb(char a)
{
	if(a=='o')
	{
		p("恭喜一号玩家胜利!!!\n");
		sleep(1);
	}
	else
	{
		p("恭喜二号玩家胜利!!!\n");
		sleep(1);
	}
} 
void print(char a,char b,char c,char d,char e,char f,char j,char h,char i)
{
    cout << "+---+---+---+" << endl;
	cout << "│ " << a << " │ " << b << " │ " << c << " │" << endl;
	cout << "+---+---+---+" << endl;
	cout << "│ " << d << " │ " << e << " │ " << f << " │" << endl;
	cout << "+---+---+---+" << endl;
	cout << "│ " << j << " │ " << h << " │ " << i << " │" << endl;
	cout << "+---+---+---+" << endl;
}
void sj()
{
	char c[9] = {'1', '2', '3', '4', '5', '6', '7', '8', '9'};
	SS;
	print(c[0],c[1],c[2],c[3],c[4],c[5],c[6],c[7],c[8]);
	for (int i = 1; i <= 9; i++)
	{
    	if (i % 2 == 1)
    	{
    	    cout << "请1号玩家输入下棋位置:";
    	    int n;
    	    cin >> n;
    	    if (c[n - 1] == 'o'||c[n - 1] == 'x')
    	    {
    	        p("落子错误\n");
    	        sleep(1);
    	        break;    
    	    }
            c[n - 1] = 'o';
    	}
    	else
    	{
    	    cout << "请2号玩家输入下棋位置:";
    	    int n;
    	    cin >> n;
    	    if (c[n - 1] == 'o'||c[n - 1] == 'x')
    	    {
    	        p("落子错误\n");
    	        sleep(1);
    	        break;    
    	    }
    	    c[n - 1] = 'x';
    	}
    	
	    SS;
	    print(c[0],c[1],c[2],c[3],c[4],c[5],c[6],c[7],c[8]);
        if (c[0]==c[4]&&c[4]==c[6]&&c[6]!=' ')
        {
        	jdb(c[0]);
            break;
        }
        if (c[2]==c[4]&&c[4]==c[8]&&c[8]!=' ')
        {
        	jdb(c[2]);
            break;
        }
        if (c[0]==c[2]&&c[2]==c[4]&&c[4]!=' ')
        {
        	jdb(c[0]);
            break;
        }
        if (c[4]==c[6]&&c[6]==c[8]&&c[8]!=' ')
        {
        	jdb(c[4]);
            break;
        }
        if (c[1]==c[5]&&c[5]==c[7]&&c[7]!=' ')
        {
        	jdb(c[1]);
            break;
        }
        if (c[1]==c[3]&&c[3]==c[7]&&c[7]!=' ')
        {
        	jdb(c[1]);
            break;
        }
        if (c[3]==c[5]&&c[5]==c[7]&&c[7]!=' ')
        {
        	jdb(c[3]);
            break;
        }
        if (c[1]==c[3]&&c[3]==c[5]&&c[5]!=' ')
        {
        	jdb(c[1]);
            break;
        }
        if(i==9)
        {
        	p("势均力敌\n");
        	sleep(1);
		}
	}
 } 
void pt()
{
	char c[9] = {'1', '2', '3', '4', '5', '6', '7', '8', '9'};
	SS;
	print(c[0],c[1],c[2],c[3],c[4],c[5],c[6],c[7],c[8]);
	for (int i = 1; i <= 9; i++)
	{
    	if (i % 2 == 1)
    	{
    	    cout << "请1号玩家输入下棋位置:";
    	    int n;
    	    cin >> n;
    	    if (c[n - 1] == 'o'||c[n - 1] == 'x')
    	    {
    	        cout << "落子错误" << endl;
    	        sleep(2);
    	        break;    
    	    }
            c[n - 1] = 'o';
    	}
    	else
    	{
    	    cout << "请2号玩家输入下棋位置:";
    	    int n;
    	    cin >> n;
    	    if (c[n - 1] == 'o'||c[n - 1] == 'x')
    	    {
    	        cout << "落子错误" << endl;
    	        sleep(2);
    	        break;    
    	    }
    	    c[n - 1] = 'x';
    	}
    	
	    SS;
	    print(c[0],c[1],c[2],c[3],c[4],c[5],c[6],c[7],c[8]);
        if (c[0] == c[1] && c[1] == c[2] && c[2] != ' ')
        {
        	jdb(c[0]);
            break;
        }
        if (c[3] == c[4] && c[4] == c[5] && c[5] != ' ')
        {
        	jdb(c[3]);
            break;
        }
        if (c[6] == c[7] && c[7] == c[8] && c[8] != ' ')
        {
        	jdb(c[6]);
            break;
        }
        if (c[0] == c[3] && c[3] == c[6] && c[6] != ' ')
        {
        	jdb(c[0]);
            break;
        }
        if (c[1] == c[4] && c[4] == c[7] && c[7] != ' ')
        {
        	jdb(c[1]);
            break;
        }
        if (c[2] == c[5] && c[5] == c[8] && c[8] != ' ')
        {
        	jdb(c[2]);
            break;
        }
        if (c[0] == c[4] && c[4] == c[8] && c[8] != ' ')
        {
        	jdb(c[0]);
            break;
        }
        if (c[2] == c[4] && c[4] == c[6] && c[2] != ' ')
        {
        	jdb(c[2]);
            break;
        }
        if(i==9)
        {
        	p("势均力敌\n");
        	sleep(1);
		}
	}
} 
void jzq()
{
	SS;
	p("井字棋玩法:两个人一起玩,普通模式不用说,三角模式就是把棋子摆成三角形(O是一号玩家的棋子,X是二号玩家的棋子\n");
	c("按任意键继续……");
	getch(); 
    while(1)
    {
        int b=0;
        if(j!=1)
        {
        	SS;
            p("你还要玩吗?\n");
            p("1.要(输入1)2.不要(输入2)\n");
            p("温馨提示:不要太贪玩\n");
            cin>>b;
        }
        if(b==1||j==1)
        {
            j++;
            p("你要玩哪种模式的井字棋呢?\n"); 
            p("1.普通模式(输入1)2.三角模式(输入2)\n");
            int a;
            cin>>a;
            if(a==1)
            {
                pt();
            }
            else if(a==2)
            {
                sj();
            }
            else
            {
                p("你到底玩不玩啊!!!\n");
                sleep(1);
            }
        }
        else if(b==2)
        {
            p("GOODBYE!下次再来\n");
            sleep(1);
            break;
        }
        else
        {
            p("你到底玩不玩啊!!!\n");
            sleep(1);
            break;
        }
    } 
    j = 1; 
}
void tkd2()
{
	SS;
	bool q;
	char map[10][10] = 
	{
	    {'O',' ',' ',' ',' ',' ',' ',' ','%','z'},
	    {'%',' ','%','z',' ','%','z',' ','%','z'},
	    {'z',' ','%','z',' ','%','z',' ','%','z'},
	    {' ',' ','%','z',' ','%','z',' ','%','z'},
	    {'%',' ','%','z',' ','%','z',' ','%','z'},
	    {'z',' ','%','z',' ','%','z',' ','%','z'},
	    {' ',' ','%','z',' ','%','z',' ','%','z'},
	    {'%',' ','%','z',' ','%','z',' ','%','z'},
	    {'z',' ','%','z',' ','%','z',' ','%','z'},
	    {' ',' ','%','z',' ','%','z',' ','%','z'}
	};
    for (int i = 0; i <= 9; i++)
    {
        for (int j = 0; j <= 9; j++)
        {
            cout << map[i][j];
        }
        cout<> ch; 
        if(ch == 'w' || ch == 'W')
	    {
	        if (map[x-1][y] == ' ')
	        {
	            map[x][y] = ' '; 
	            map[x - 1][y] = 'O';     
	        }
	        if (map[x - 1][y] == '%')
	        {
	            if (map[x - 2][y] == ' ' || map[x - 2][y] == 'z')
	            {
	                map[x - 2][y] = '%'; 
	                map[x - 1][y] = 'O'; 
	                map[x][y] = ' '; 
	            }
	        }            
	    }
	    if (ch == 's' || ch == 'S')
	    {
	        if (map[x + 1][y] == ' ')
	        {
	            map[x][y] = ' '; 
	            map[x + 1][y] = 'O';      
	        }
	        if (map[x + 1][y] == '%')  
	        {
	            if (map[x + 2][y] == ' ' || map[x + 2][y] == 'z')  
	            {
	                map[x + 2][y] = '%';
	                map[x + 1][y] = 'O';
	                map[x][y] = ' ';
	            }
	        }
	    }   
	    if(ch == 'a' || ch == 'A')
	    {
	        if (map[x][y - 1] == ' ')
	        {
	            map[x][y] = ' '; 
	            map[x][y - 1] = 'O';
	        }
	        if (map[x][y - 1] == '%')
	        {
	            if ( map[x][y - 2] == ' ' || map[x][y - 2] == 'z')
	            {
	                map[x][y - 2] = '%'; 
	                map[x][y - 1] = 'O'; 
	                map[x][y] = ' '; 
	            }
	        }         
	    }
	    if (ch == 'd' || ch == 'D')
	    {
	        if (map[x][y  + 1] == ' ')
	        {
	            map[x][y] = ' '; 
	            map[x][y + 1] = 'O';     
	        }
	        if (map[x][y + 1] == '%') 
	        {
	            if (map[x][y + 2] == ' ' || map[x][y + 2] == 'z') 
	            {
	                map[x][y + 2] = '%';
	                map[x][y + 1] = 'O';
	                map[x][y] = ' ';
	            }
	        }
	    }        
	    if (ch=='q')
		{
			tkd2();
		} 
        SS;
        for (int i = 0; i <= 9; i ++)         
        {           
            for (int j = 0; j <= 9; j++)            
            {
                cout << map[i][j];
            }            
            cout << endl;  
        }
        for (int i = 0; i <= 9; i ++)         
        {           
            for (int j = 0; j <= 9; j++)            
            {
                if(map[i][j]=='z')
                {
                	q=1;
				}
            }            
        }
        if (q==0)
        {
            p("恭喜你把箱子推回了原位,坑不坑?你竟然通过了最难关卡,太牛了!\n");
            sleep(1);
            break;
        }
    }
}
void tkd()
{
	
	char map[5][5] = 
	{
	    {'O',' ','#','#','#'},
	    {'#',' ',' ',' ','#'},
	    {'#',' ','%',' ',' '},
	    {'#',' ',' ','#','#'},
	    {'#','#','#','#','z'}
	};
    for (int i = 0; i <= 4; i++)
    {
        for (int j = 0; j <= 4; j++)
        {
            cout << map[i][j];
        }
        cout<> ch; 
        if(ch == 'w' || ch == 'W')
	    {
	        if (map[x-1][y] == ' ')
	        {
	            map[x][y] = ' '; 
	            map[x - 1][y] = 'O';     
	        }
	        if (map[x - 1][y] == '%')
	        {
	            if (map[x - 2][y] == ' ' || map[x - 2][y] == 'z')
	            {
	                map[x - 2][y] = '%'; 
	                map[x - 1][y] = 'O'; 
	                map[x][y] = ' '; 
	            }
	        }            
	    }
	    if (ch == 's' || ch == 'S')
	    {
	        if (map[x + 1][y] == ' ')
	        {
	            map[x][y] = ' '; 
	            map[x + 1][y] = 'O';      
	        }
	        if (map[x + 1][y] == '%')  
	        {
	            if (map[x + 2][y] == ' ' || map[x + 2][y] == 'z')  
	            {
	                map[x + 2][y] = '%';
	                map[x + 1][y] = 'O';
	                map[x][y] = ' ';
	            }
	        }
	    }   
	    if(ch == 'a' || ch == 'A')
	    {
	        if (map[x][y - 1] == ' ')
	        {
	            map[x][y] = ' '; 
	            map[x][y - 1] = 'O';      
	        }
	        if (map[x][y - 1] == '%')
	        {
	            if ( map[x][y - 2] == ' ' || map[x][y - 2] == 'z')
	            {
	                map[x][y - 2] = '%'; 
	                map[x][y - 1] = 'O'; 
	                map[x][y] = ' '; 
	            }
	        }         
	    }
	    if (ch == 'd' || ch == 'D')
	    {
	        if (map[x][y  + 1] == ' ')
	        {
	            map[x][y] = ' '; 
	            map[x][y + 1] = 'O';     
	        }
	        if (map[x][y + 1] == '%') 
	        {
	            if (map[x][y + 2] == ' ' || map[x][y + 2] == 'z') 
	            {
	                map[x][y + 2] = '%';
	                map[x][y + 1] = 'O';
	                map[x][y] = ' ';
	            }
	        }
	    }        
	    if (ch=='q')
		{
			tkd();
			break;
		} 
        SS;
        for (int i = 0; i <= 4; i ++)         
        {           
            for (int j = 0; j <= 4; j++)            
            {
                cout << map[i][j];
            }            
            cout << endl;  
        } 
        if (map[3][1]=='%')
        {
            tkd2();
            break;
        }
    }
}
void tdifficult()
{
	SS;
	char map[10][10] = 
	{
	    {'O',' ','#','#','#','#','#',' ',' ','z'},
	    {'#',' ',' ',' ',' ',' ',' ',' ','#','#'},
	    {'#',' ','#',' ','#',' ','#',' ',' ','#'},
	    {'#',' ',' ',' ',' ',' ','#',' ','#','#'},
	    {'#','#',' ','#','#',' ',' ','%',' ','#'},
	    {'#',' ','%',' ',' ',' ','#','#',' ','#'},
	    {'#',' ',' ',' ','#',' ','#',' ',' ','#'},
	    {'#',' ','#',' ','#','%','#','#',' ','#'},
	    {'#','#','#',' ','#',' ','#',' ',' ','#'},
	    {'z',' ',' ',' ',' ',' ',' ',' ',' ','z'}
	};
    for (int i = 0; i <= 9; i++)
    {
        for (int j = 0; j <= 9; j++)
        {
            cout << map[i][j];
        }
        cout<> ch; 
        if(ch == 'w' || ch == 'W')
	    {
	        if (map[x-1][y] == ' ')
	        {
	            map[x][y] = ' '; 
	            map[x - 1][y] = 'O';     
	        }
	        if (map[x - 1][y] == '%')
	        {
	            if (map[x - 2][y] == ' ' || map[x - 2][y] == 'z')
	            {
	                map[x - 2][y] = '%'; 
	                map[x - 1][y] = 'O'; 
	                map[x][y] = ' '; 
	            }
	        }            
	    }
	    if (ch == 's' || ch == 'S')
	    {
	        if (map[x + 1][y] == ' ')
	        {
	            map[x][y] = ' '; 
	            map[x + 1][y] = 'O';      
	        }
	        if (map[x + 1][y] == '%')  
	        {
	            if (map[x + 2][y] == ' ' || map[x + 2][y] == 'z')  
	            {
	                map[x + 2][y] = '%';
	                map[x + 1][y] = 'O';
	                map[x][y] = ' ';
	            }
	        }
	    }   
	    if(ch == 'a' || ch == 'A')
	    {
	        if (map[x][y - 1] == ' ')
	        {
	            map[x][y] = ' '; 
	            map[x][y - 1] = 'O';
	        }
	        if (map[x][y - 1] == '%')
	        {
	            if ( map[x][y - 2] == ' ' || map[x][y - 2] == 'z')
	            {
	                map[x][y - 2] = '%'; 
	                map[x][y - 1] = 'O'; 
	                map[x][y] = ' '; 
	            }
	        }         
	    }
	    if (ch == 'd' || ch == 'D')
	    {
	        if (map[x][y  + 1] == ' ')
	        {
	            map[x][y] = ' '; 
	            map[x][y + 1] = 'O';     
	        }
	        if (map[x][y + 1] == '%') 
	        {
	            if (map[x][y + 2] == ' ' || map[x][y + 2] == 'z') 
	            {
	                map[x][y + 2] = '%';
	                map[x][y + 1] = 'O';
	         
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章