已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
班級 奈米一乙學號 49914019姓名 陳聖倫老師 謝慶存 小老鼠走迷宮 程式介面 選擇迷宮開始老鼠出口 程式碼 PublicClassForm1DimPicBox 50 50 AsPictureBoxDimSqWidth FWidth FHeight MazeX MazeY k Totalm Totaln x y dx dy AI Steps 50 50 AsIntegerDimMap 50 50 AsIntegerDimStepTotalAsIntegerDimRandMapValAsSingleDimnewgamesAsBooleanDimtitleAsStringDimcross 50 50 AsIntegerDimInMazeAsIO StreamReaderDimImPortF InStringAsStringDimMapRow StartPx StartPy EndPx EndPy TotalStepAsInteger PrivateSubForm1 Load ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesMyBase Loadtitle 老鼠走迷宮 Me Text titleMe ShowPath Enabled FalseMe Stopmouse Enabled FalseMe Stopmouse Enabled FalseEditMaze CheckOnClick TrueToolStatus Text 閒置中 newgames TrueMazeX 50MazeY 50SqWidth 15FWidth SqWidth MazeX 3 FHeight SqWidth MazeY 4 40Me Width FWidthMe Height FHeightForiAsInteger 1To50ForjAsInteger 1To50Callinitial i j NextNextInMaze IO File OpenText MazeMap txt CallMapGen Me Text titleEndSub Subinitial ByValiAsInteger ByValjAsInteger DimmypicAsNewPictureBoxMe Controls Add mypic PicBox i j mypicEndSubPrivateSubAddEvents ByValCtrlParentAsControl DimpicAsControlForEachpicInCtrlParent ControlsIfTypeOfpicIsPictureBoxThenAddHandlerpic MouseClick AddressOfMapEditEndIfNextEndSub PrivateSubMapEdit ByValsenderAsObject ByValeAsSystem Windows Forms MouseEventArgs IfNewMap Enabled TrueThenExitSubEndIfToolStatus Text 迷宮編輯中 WithDirectCast sender PictureBox Ife Button Windows Forms MouseButtons LeftThenIf Tag 1Then BackColor Color White Tag 0Else BackColor Color Black Tag 1EndIfEndIfIfe Button Windows Forms MouseButtons RightThenIf Tag 0Or Tag 1Or Tag 3Then BackColor Color Chocolate Tag 2ElseIf Tag 2Then BackColor Color LawnGreen Tag 3EndIfEndIfEndWithEndSub Subnewgameset ByValiAsInteger ByValjAsInteger DimPx PyAsIntegerMe ShowPath Enabled TrueIfi MazeXOrj MazeYThenPx MazeX SqWidthPy MazeY SqWidth 15Map i j 1ElsePx i SqWidthPy j SqWidth 15EndIfWithPicBox i j SetBounds Px Py SqWidth SqWidth BackColor Color White Tag 0Ifi 1Orj 1Ori MazeXOrj MazeYThen BackColor Color Black Tag 1EndIfIfi StartPxAndj StartPyThen BackColor Color Chocolate Tag 2EndIfIfi EndPxAndj EndPyThen BackColor Color LawnGreen Tag 3EndIfEndWithEndSub Subretag Ifnewgames FalseThenPicBox x y BackColor Color WhiteElsePicBox StartPx StartPy BackColor Color ChocolatePicBox EndPx EndPy BackColor Color LawnGreenEndIfnewgames FalseDimi jAsIntegerFori 0ToMazeXForj 0ToMazeYSteps i j 100000Ifi 0Andj 0ThenWithPicBox i j If Tag 0Then BackColor Color WhiteSteps i j 1cross i j 0ElseIf Tag 3ThenSteps i j 0 BackColor Color LawnGreenElseIf Tag 2ThenSteps i j 100000 BackColor Color ChocolateElse BackColor Color BlackSteps i j 100000EndIfEndWithEndIfNextjNextiEndSub PrivateSubShowPath Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesShowPath Clickx StartPxy StartPyTotalStep 0AI 1Callretag PicBox EndPx EndPy BackColor Color LawnGreenMe Stopmouse Enabled TrueShowPath Enabled FalseSteps x y 10000Timer1 Interval 100Timer1 Enabled TrueEndSub PrivateSubTimer1 Tick ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesTimer1 TickDimMinStepAsInteger 10000Me Text title 步數 CStr TotalStep ToolStatus Text CStr x CStr y Randomize k 0IfSteps x 1 y 2Thencross x y cross x y 1EndIfIfcross x y 1ThenSteps x y Steps x y 1cross x y 0EndIf IfSteps x 1 y MinStepThenMinStep Steps x 1 y k k 1EndIfIfSteps x y 1 MinStepThenMinStep Steps x y 1 k k 1EndIfIfSteps x 1 y MinStepThenMinStep Steps x 1 y k k 1EndIfIfSteps x y 1 MinStepThenMinStep Steps x y 1 k k 1EndIfIf PicBox x 1 y Tag 0OrPicBox x 1 y Tag 3 AndSteps x 1 y MinStepAndSteps x 1 y 8Thendx 1dy 0ElseIf PicBox x y 1 Tag 0OrPicBox x y 1 Tag 3 AndSteps x y 1 MinStepAndSteps x y 1 8Thendx 0dy 1ElseIf PicBox x 1 y Tag 0OrPicBox x 1 y Tag 3 AndSteps x 1 y MinStepAndSteps x 1 y 8Thendx 1dy 0ElseIf PicBox x y 1 Tag 0OrPicBox x y 1 Tag 3 AndSteps x y 1 MinStepAndSteps x y 1 8Thendx 0dy 1Else Callfittness EndIfx x dxy y dyIfx EndPxAndy EndPyThenTotalStep TotalStep 1Me Text title 總算找到了 步數 CStr TotalStep PicBox x y BackColor Color ChocolatePicBox x dx y dy BackColor Color WhiteShowPath Enabled TrueTimer1 Enabled FalseStopmouse Enabled FalseExitSubEndIfIfPicBox x y Tag 0ThenPicBox x y BackColor Color ChocolatePicBox x dx y dy BackColor Color WhiteTotalStep TotalStep 1Elsex x dxy y dyEndIfSteps x y Steps x y 1IfSteps x y 20ThenCallretag EndSub Subfittness DimRn Sums Fitness 4 AsSingleRandomize Rn Rnd Sums Steps x 1 y Steps x y 1 Steps x 1 y Steps x y 1 Fitness 1 Sums Steps x 1 y Sums 3 Fitness 2 Sums Steps x y 1 Sums 3 Fitness 3 Sums Steps x 1 y Sums 3 Fitness 4 Sums Steps x y 1 Sums 3 ForiAsInteger 2To4Fitness i Fitness i 1 Fitness i NextIfRn Fitness 1 Thendx 1dy 0ElseIfRn Fitness 2 Thendx 0dy 1ElseIfRn Fitness 3 Thendx 1dy 0Elsedx 0dy 1EndIfEndSub PrivateSubGameOver Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesGameOver ClickEndEndSubPrivateSubStopmouse Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesStopmouse ClickPicBox x y BackColor Color WhitePicBox StartPx StartPy BackColor Color ChocolateTimer1 Enabled FalseShowPath Enabled TrueStopmouse Enabled FalseCallretag EndSubPrivateSubX25 Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesX25 ClickMazeX 25MazeY 25StartPx 1StartPy 2EndPx MazeXEndPy MazeY 1Me Text titleSqWidth 15FWidth SqWidth MazeX 3 FHeight SqWidth MazeY 4 40Me Width FWidthMe Height FHeightForiAsInteger 1To50ForjAsInteger 1To50Callnewgameset i j NextNextMe Refresh EndSub PrivateSubX50 Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesX50 ClickMe Text titleMazeX 50MazeY 50StartPx 1StartPy 2EndPx MazeXEndPy MazeY 1SqWidth 10FWidth SqWidth MazeX 3 FHeight SqWidth MazeY 4 40Me Width FWidthMe Height FHeightForiAsInteger 1ToMazeXForjAsInteger 1ToMazeYCallnewgameset i j NextNextMe Refresh EndSub PrivateSubmenual Click ByValsenderAsSystem Object ByValeAsSystem EventArgs Handlesmenual ClickMe Text titleaskx MazeX Val InputBox 迷宮橫向格數 請輸入 25 IfMazeX 50ThenMsgBox 不得大於 GoToaskxEndIfIfMazeX50ThenMsgBox 不得大於 GoToaskyEndIfIfMazeY 5ThenMsgBox 不得小於 GoToaskyEndIfIfMazeY 25ThenSqWidth 15ElseSqWidth 10EndIfStartPx 1StartPy 2EndPx MazeXEndPy MazeY 1FWidth SqWidth MazeX 3 FHeight SqWidth MazeY 4 40Me Width FWidthMe Height FHeightForiAsInteger 1To50ForjAsInteger 1To50Callnewgameset i j NextNextMe Refresh EndSub PrivateSubImportMaze Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesImportMaze ClickMe Text titleOnErrorResumeNextOpenFileDialog1 FileName OpenFileDialog1 Filter 迷宮輸入檔 txt txt OpenFileDialog1 ShowDialog ImPortF OpenFileDialog1 FileNameIfImPortF ThenExitSubInMaze IO File OpenText ImPortF CallMapGen InMaze Close EndSub SubMapGen DimLndataAsArrayMapRow 0DoIfInMaze EndOfStreamThenExitDoMapRow MapRow 1InString InMaze ReadLineIfInString Contains ThenLndata Split InString ElseIfInString Contains ThenLndata Split Trim InString ElseLndata InString ToCharArrayEndIfForiAsInteger 0ToUBound Lndata Map i 1 MapRow Val Lndata i NextMazeX UBound Lndata 1LoopMazeY MapRowIfMazeX 50OrMazeY 50ThenMsgBox 超過地圖大小 50 x50 的限制 ExitSubEndIfIfMazeY 25ThenSqWidth 15ElseSqWidth 10EndIfFWidth SqWidth MazeX 3 FHeight SqWidth MazeY 4 40Me Width FWidthMe Height FHeightForiAsInteger 1To50ForjAsInteger 1To50Callnewgameset i j IfMap i j 1ThenWithPicBox i j BackColor Color Black Tag 1EndWithElseIfMap i j 2ThenStartPx iStartPy jWithPicBox i j BackColor Color Chocolate Tag 2EndWithElseIfMap i j 3ThenEndPx iEndPy jWithPicBox i j BackColor Color LawnGreen Tag 3EndWithElseWithPicBox i j BackColor Color White Tag 0EndWithEndIfNextNextCallChkMap Me Refresh EndSub PrivateSubExportMaze Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesExportMaze ClickMe Text titleOnErrorResumeNextDimExMazeAsIO StreamWriterDimExPortF StringLnAsStringSaveFileDialog1 FileName SaveFileDialog1 Filter 迷宮輸出檔 txt txt SaveFileDialog1 ShowDialog ExPortF SaveFileDialog1 FileNameIfExPortF ThenExitSubExMaze NewIO StreamWriter ExPortF ForjAsInteger 1ToMazeYStringLn ForiAsInteger 1ToMazeXStringLn StringLn CStr PicBox i j Tag NextExMaze WriteLine StringLn TrimEnd NextExMaze Close EndSub PrivateSubEditMaze Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesEditMaze ClickMe Text titleNewMap Enabled NotNewMap EnabledImportMaze Enabled NotImportMaze EnabledExportMaze Enabled NotExportMaze EnabledShowPath Enabled NotShowPath EnabledCallAddEvents Me newgames TrueCallretag IfNewMap Enabled TrueThenCallChkMap ToolStatus Text 閒置中 ElseToolStatus Text 迷宮編輯中 EndIfEndSub SubChkMap Dimmazein mazeoutAsIntegerForiAsInteger 1ToMazeXForjAsInteger 1ToMazeYIfPicBox i j Tag 2ThenStartPx iStartPy jmazein mazein 1EndIfIfPicBox i j Tag 3ThenEndPx iEndPy jmazeout mazeout 1EndIfNextNextPicBox StartPx StartPy BackColor Color ChocolatePicBox EndPx EndPy BackColor Color LawnGreenIfmazein 1Ormazeout 1ThenMsgBox 有兩個以上的入口或出口 請重新編輯地圖 NewMap Enabled NotNewMap EnabledImportMaze Enabled NotImportMaze EnabledExportMaze Enabled NotExportMaze
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师心理学考试题及答案
- 门脉高压性腹水的鉴别诊疗和治疗
- 基于数据挖掘的乌镇交通出行研究报告
- 安徽机电面试常见面试技巧与策略
- (完整版)数学初一分班试卷经典解析
- (完整版)数学北师大六年级下册期末模拟试卷经典套题
- 售后服务经验分享电商平台实践案例
- 司库助理岗位团队协作能力培养方案
- (完整版)苏教六年级下册期末数学真题模拟真题答案
- 客服中心主管沟通技巧与面试准备
- 17中国大唐集团公司发电设备检修管理办法大唐集团制〔2023〕94号
- 氢氟酸安全技术说明书MSDS
- JCI医院评审标准第四版
- 医院洁净区域维保投标方案(技术方案)
- DB51-T 2275-2016 房产测绘成果质量检验技术规程
- 九香虫养殖技术
- DB32T 4194-2022检验检测机构资质认定 检验检测能力表述规范
- 国网南瑞集团考试真题
- 人教版二年级上册数学第六单元测试题
- 测力环校正系数自动计算
- 妇产科技能考核评分表优质资料
评论
0/150
提交评论