C#版龟兔赛跑

问题描述

usingSystem;usingSystem.Collections.Generic;namespaceConsole_Test{classProgram{staticvoidMain(){//请裁判Judgmentment=Judgment.Instance;//告诉裁判这次要跑多远ment.TrackLength=1000;//玄武参赛ment.Join(newTortoise());//玉兔参赛ment.Join(newRabbit());//开始ment.Start();Console.ReadKey();}}///<summary>///欢迎伟大的裁判///</summary>publicclassJudgment{///<summary>///为了防止裁判太多造成不必要的混乱///也为了节省赛事的经费///本大赛只请一名裁判///</summary>privateJudgment(){}///<summary>///哈哈,就一个裁判啊///</summary>privatestaticJudgmentinstance=newJudgment();///<summary>///哥就是那个闪亮的唯一的伟大裁判///</summary>publicstaticJudgmentInstance{get{returninstance;}}privateintlength=-1;///<summary>///赛道长度,你不说,我怎么会知道会跑到神马时候啊///</summary>publicintTrackLength{get{returnlength;}set{if(length<0){length=value;}}}///<summary>///哥是裁判///神马选手哥看不见啊///全洗干净脚底板等我///哈哈///</summary>privateList<IRunner>runners=newList<IRunner>();///<summary>///来报名参赛哈///</summary>///<paramname="runner"></param>publicvoidJoin(IRunnerrunner){if(runners.Contains(runner)){Console.WriteLine("报过名了,就不要再报了");return;}runners.Add(runner);}///<summary>///开不开始///哥一句话///</summary>publicvoidStart(){if(TrackLength<0){Console.WriteLine("大家都不知道要跑多远,再等等!");return;}if(runners.Count<2){Console.WriteLine("神马,就你一个人,不用比了,勇气可嘉啊,奖杯给你了!");return;}Console.WriteLine("裁判:好了,欢迎大家参加本届神宠速度大比拼,此次参赛的选手有");foreach(IRunnerrunnerinrunners){Console.Write("【");Console.Write(runner.Name);Console.Write("】,");}Console.WriteLine("希望大家赛出成绩,赛出特色,比赛开始。。。");Console.WriteLine("3");Console.WriteLine("2");Console.WriteLine("1");Console.WriteLine("Start!");Console.WriteLine();newSystem.Threading.Thread(delegate(){boolisNotEnd=true;while(isNotEnd){foreach(IRunnerrunnerinrunners){runner.Run();if(runner.Score>=TrackLength){isNotEnd=false;Console.WriteLine("裁判:选手【{0}】成功夺冠!",runner.Name);break;}Console.WriteLine("裁判:选手【{0}】已经跑了{1}米,距终点还有{2}米",runner.Name,runner.Score,TrackLength-runner.Score);}System.Threading.Thread.Sleep(1000);}}).Start();}}///<summary>///没有我,谁也别想跑步///</summary>publicinterfaceIRunner{stringName{get;}///<summary>///我的正常速度///</summary>intSpeed{get;}///<summary>///爆发的速度///</summary>intSuperSpeed{get;}///<summary>///我的成绩///</summary>intScore{get;}///<summary>///跑一个给你看看///</summary>voidRun();}///<summary>///姐不是路过打酱油滴///姐不是芙蓉,玉凤///姐是Runner///姐是能跑的人的祖先///鸿星尔克ToBeNO.1///</summary>publicabstractclassRunner:IRunner{///<summary>///谁没有点小问题,只不过问题是随机的///</summary>protectedstaticRandomrandom=newRandom();publicstringName{get;protectedset;}publicintSpeed{get;protectedset;}publicintSuperSpeed{get;protectedset;}publicintScore{get;protectedset;}publicabstractvoidRun();}///<summary>///四大神兽之北宫玄武///前来助阵的有///白虎,朱雀,青龙///</summary>publicclassTortoise:Runner{publicTortoise(){Name="玄武";Speed=25;//不要惊奇,爷是神兽啊,跑得快不是爷的错SuperSpeed=30;}publicoverridevoidRun(){//哥有1/2的概率爆发啊,嘿嘿if(random.Next(1,3)<2){Console.WriteLine("{0}:看来扶老人过马路还是不错的啊,人品大爆发了!",Name);Score+=SuperSpeed;}else{Console.WriteLine("{0}:佛曰,缓者远行!嘿嘿!",Name);Score+=Speed;}}}///<summary>///顶级萌宠之月宫玉兔///前来助阵的有///嫦娥,吴刚,八戒(你来搞毛啊)///</summary>publicclassRabbit:Runner{privateboolisSleeped=false;publicRabbit(){Name="玉兔";Speed=40;SuperSpeed=45;}publicoverridevoidRun(){//如果发现自己睡过了,就有1/3的概率爆发if(isSleeped){if(random.Next(1,4)<2){Console.WriteLine("{0}:看我风一般的速度,yoyoyoyoyoyoyoyooooo!",Name);Score+=SuperSpeed;return;}}if(random.Next(1,3)<2){isSleeped=true;Console.WriteLine("{0}:昨晚偷了一夜的菜,睡一会,撑不住了",Name);}else{Console.WriteLine("{0}:比个赛么,何必那么认真呢?做兔子呢,最重要的开心!",Name);Score+=Speed;}}}}

解决方案

解决方案二:

解决方案三:
不懂
解决方案四:
楼主应该学习一下发贴如何插入代码。
解决方案五:
http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/28.gif

时间: 2024-09-09 04:17:19

C#版龟兔赛跑的相关文章

如何解决win7旗舰版系统下IE收藏夹无法展开的问题

近期朋友在电脑的操作过程中遇到这样一个问题,计算机中的收藏夹突然无法正常展开了,遇到这样的问题令人十分的懊恼.经过多番的研究及测试之后,总算找到了解决计算机中收藏夹无法展开问题的方法.下面就一起来分享看看如何解决win7旗舰版系统计算机中收藏夹无法展开问题吧! 操作方法: 1.使用快捷键win键+r键打开运行窗口,在运行窗口中输入"regedit"回车确认,打开注册表编辑器. 打开注册表编辑器 2.在打开的注册表编辑器中,依次展开到HKEY_CLASSES_ROOTlnkfile. 展

360浏览器手机版设置默认浏览器的方法

  相信在电脑端使用360浏览器的用户不在少数,而在安卓手机端,使用360手机浏览器的用户大有所在,不过有些用户手机中的浏览器会有多个,而当我们在打开网址时,如何才能默认使用360浏览器打开网页呢?下面看小编为您带来的360浏览器手机版设置为默认浏览器的方法. 操作方法 1.首先,下载安软市场新版的360手机浏览器,安装打开以后,点击目录左边[设置]: 2.直接就可以看到底栏[设置为默认浏览器],点击以后选择[立即体验]: 3.选择成功以后,我们打开朋友分享的网页链接使用360手机浏览器打开,同

php单文件版在线代码编辑器

 这篇文章主要介绍了php单文件版在线代码编辑器,个人感觉相当不错,分享给大家,需要的朋友可以参考下     密码加密方式: * md5(自设密码+$ace) //$ace为cdn镜像地址 使用方法: * 1.确认 $pwd 变量值为 false, 上传本文件到PHP空间并访问 * 2.第一次访问提示设置密码,设置密码并牢记 * 3.使用第一次设置的密码登录后,默认编辑的是本php文件, * 4.本文件是编辑器核心文件,请不要随意修改 * 5.保存编辑的文件请用 Ctrl + S 按键组合,等待

win7 64位旗舰版地址栏中网址删除方法

  我们在使用计算机进行一些网址输入和访问的时候,历史记录无疑就不知布局记录在浏览器的地址栏中了,这在一定程度上也给我们的个人信息造成了巨大的影响,因此我们就需要简单的找到如何删除地址栏中的网址的办法,至于如何删除地址栏中的网址就需要我们好好的探究一番了,下面我们在win7 64位旗舰版使用过程中做一个简单的示范操作. 1.在win7中打开ie浏览器中的"Internet选项". 2.接着我们找到页面上的"内容"标签并且执行"自动完成"操作. 3

加入HTML5支持 Excel网页版详细内容曝光

Web版Excel截图 Web版Excel依然充满Metro元素 这个是Web版PowerPiont 电脑教程 Web版Excel支持HTML5 从图中可以看出,网页版的Excel和桌面版本极其相似.微软表示,网页版Excel整个界面十分清爽,根据设备不同可以自动调整,用户能够在不同的设备上都体验到一样的Excel.

360浏览器极速版常见问题解答

360浏览器极速版和Chrome浏览器有什么区别? 360浏览器极速版基于Chromium开源浏览器.虽然和Chrome浏览器来自同样的开源代码,但实质并不完全相同.以下是360浏览器极速版与Chrome浏览器相比的主要特点: 无缝双核 360浏览器极速版加入了IE标签功能,并在此基础上做了大量工作,实现了双核引擎间的无缝切换,是第一款完美支持标准和兼容性的高速双核浏览器.用户既可以享受到Chromium浏览器风一样的速度. HTML5/CSS3的标准化支持,又可以无缝兼容只有IE浏览器才能正常

WPS抢鲜版英文系统呈乱码怎么办

  抢鲜版是测试版性质的.需要稳定工作的话不建议升级了. WPS (Word Processing System),中文意为文字编辑系统,是金山软件公司的一种办公软件.最初出现于1989年,在微软Windows系统出现以前,DOS系统盛行的年代,WPS曾是中国最流行的文字处理软件,现在WPS最新正式版为WPS2012,另外WPS 2009专业版也已面世. WPS集编辑与打印为一体,具有丰富的全屏幕编辑功能,而且还提供了各种控制输出格式及打印功能,使打印出的文稿即美观又规范,基本上能满足各界文字工

win7旗舰版IE出现故障该怎么解决

  IE故障是每一位雨林木风win7旗舰版系统用户都会碰到的问题,不论是XP还是Win7和Win8系统,都不可避免会碰到.各种IE故障都会有相应的解决方法,比如说IE无法打开任何窗口,单击任何链接时无响应.若遇到这种IE故障,要怎么来解决它呢?如果你嫌麻烦,可能会选择重装IE浏览器,虽然这可能可以解决问题,但是可能你装完后依旧发现打不开窗口.其实有更好的方法可以解决它,随小编一起来看看怎么回事吧! 一.点击win7 旗舰版桌面开始按钮,在弹出来的菜单中选择运行程序,然后在打开的运行程序中输入CM

win7旗舰版电脑浏览器中的字体变小了怎么办

  每当咱们需要搜索网页,搜索信息的时候,都需要开启咱们win7旗舰版64位系统下载中的浏览器,一般来说,咱们win7旗舰版系统中网页的字体.字号.颜色这些都是系统默认设置的,也是比较适中的字体,但是最近却有不少用户遇到了网页字体过小的情况.据该用户咨询说,他采用传统的Ctrl+鼠标滚轮的方式无法令网页字体变大,但是切换到Chrome浏览器中,网页的字体却是正常,唯独在IE浏览器里字体变小,那么遇到这样的情况,咱们要如何处理呢?下面,小编就详细的来介绍一下吧! 1.首先,咱们打开win7旗舰版电