




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 济宁市2024-2025学年九年级上学期语文期中测试试卷
- 集安市2024-2025学年七年级上学期语文月考模拟试卷
- 高速概论基本知识培训课件
- 电表用电安全知识培训课件
- ps操作考试及答案
- mvr考试试题及答案
- 电缆培训知识课件
- G合同工程完工验收鉴定书
- 北京护理编制考试题库及答案
- 高炉安全知识培训课件
- 图形动画毕业设计
- 2025年建筑工程-安全员C证-安全员(C证·上海)历年参考题库典型考点含答案解析
- 光伏项目施工组织设计方案
- 2025政府采购评审专家入库题库与答案
- 2025至2030医学混合成像系统行业产业运行态势及投资规划深度研究报告
- 仪表安全知识培训课件
- 2025年三级老年人能力评估师考试题库(附答案)
- 2025年内蒙古交通集团考试笔试试题(含答案)
- 工程设计图纸技术交底
- 低压安全隐患排查
- 学堂在线 高技术与现代局部战争 章节测试答案
评论
0/150
提交评论