Programming Kid Games with Microsoft Small BasicDemo Chapter 5.docx
- 文档编号:6388207
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:42
- 大小:955.46KB
Programming Kid Games with Microsoft Small BasicDemo Chapter 5.docx
《Programming Kid Games with Microsoft Small BasicDemo Chapter 5.docx》由会员分享,可在线阅读,更多相关《Programming Kid Games with Microsoft Small BasicDemo Chapter 5.docx(42页珍藏版)》请在冰豆网上搜索。
ProgrammingKidGameswithMicrosoftSmallBasicDemoChapter5
ProgrammingKidGamesWith
SmallBasic
5.SafecrackerProgram
ReviewandPreview
∙We’vecompletedourreviewoftheSmallBasicdevelopmentenvironment,andtheobjectsandlanguageusedtoprogramusingSmallBasic.Wecanfinallystartbuildingsomekidgames.Foreachprogrambuilt,weprovidestep-by-stepinstructionsindesigningthegamegraphicwindowsanddetailedexplanationsofthecodebehindtheprograms.
∙ThefirstprogramwebuildisaSafecrackerthatasksyoutoguessasecretcombinationofnumbersusingcluesfromthecomputer.
SafecrackerProgramPreview
∙Inthischapter,wewillbuildaSafecrackergame.Abanksafeislockedandcanonlybeopenedifyouenterthepropercombination.Thecombinationcanbe2to4non-repeatingdigits(digitsrangefrom1to9).Aftereachguess,youaretoldhowmanydigitsarecorrectandhowmanyareinthecorrectlocation.Basedonthisinformation,youmakeanotherguess.Youcontinueguessinguntilyougetthecorrectcombinationorstopthegame.
∙ThefinishedprogramissavedasSafecrackerintheKidGamesSB\KidGamesSBPrograms\Safecrackerfolder.StartSmallBasicandopenthefinishedprogram.Runtheprogram(clicktheRuntoolbarbuttonorpress
∙
ClickChangeOptionstochangeoptions.Atextwindowwillappear:
Theonlyoptionyoucanchangeisthenumberofdigitsinthecombination.Iselected3,thenpressedEnter.Thegraphicswindowreappearswiththegamestillinthe‘stopped’state:
Noticethetitlebarareanowreflects3digitsinthecombinationandthatnumberofdigitsisshowninthebanksafe.
∙ClickStartGametostartplaying.TwoofthebuttonsdisappearandaResultsareaappearsontherightofthewindow.Wecallthisthe‘playing’state:
Inthisstate,youmakeaguessatthethreedigitcombinationusingthenumberkeysonthekeyboard.Aftereachguess,theresultsofyourguessaredisplayedintheResultsarea.YoukeepguessinguntilcorrectoruntilyouclickStopGame.
∙
Enteraguess;Ientered123:
Asaguessisentered,noticeseveralthings.Onceakeyispressed,thecorrespondingdigitappearsintheproperlocation.Oncethreebuttonsarepressed(numberscannotrepeat),theresultsareshown.Youareshownyourguessandtwonumbersseparatedbyacolon(:
).Thenumbertotheleftofthecolontellsyouhowmanydigitsinyourguesswerecorrectandthenumberontherighttellsyouhowmanywereinthecorrectposition.Ifincorrect,youwillhearan‘uh-oh’sound.Obviously,myguesswasnotverygood!
∙
WhenItry456,Isee:
Muchbetter.Now,Iknowthatthecombinationhaseithera4anda5,a4anda6,ora5anda6.Ialsoknownoneofthedigitsareintheirproperposition.
∙
WhatifItry745(Iassumedthe4and5shouldstayandshiftedthemover)
Sinceonly1digitisnowcorrect,Iknowthe6isdefinitelyinthecombination.Ithinkyou’restartingtoseehowthegameworks.
∙
Icontinuedplayinguntilfinally,afterentering648:
Thecorrectcombinationwasentered!
Alittlecelebratorysoundisheardandamessageisshown.Thegamereturnstoitsstoppedstatetoallowanothergame,changeoptionsortoexittheprogram.
∙Continueplayingthegametounderstanditsoperation.ClickExitwhenyou’redonetostopthegame.Lookoverthecodeintheeditorifyoulike.
∙
Youwillnowbuildthisprograminstages.AsyoubuildSmallBasicprograms,wealwaysrecommendtakingaslow,step-by-stepprocess.Itminimizesprogrammingerrorsandhelpsbuildyourconfidenceasthingscometogetherinacompleteprogram.Thisistheapproachwewilltakeonallprogramsinthesenotes.
∙Weaddresswindowdesign.Thisinvolvesdecidingjustwhatweneedtodisplayinthegraphicswindowtoplaythegame.And,weaddresscodedesign.Wediscusshowtoformthesecretcombination,howtogatheruserinputandhowtocheckanenteredcombination.
GameWindowDesign
∙Sincethisisourfirstprogram,let’slookbrieflyattheideaofgamewindowdesign.ThisisafirststepinbuildingaSmallBasicgameprogram(oranyprogram)whereyoudecidewhatyouwanttodisplaytotheuserinthegraphicswindow.Inthiswindowdesignphase,youneedtoknowwhatinputsyouneedfromtheuserandhowyouwanttoshowthemoutputs.
∙Makeinitialsketchesofwhereyouwantcertaingameelementstoappear.Alwayshaveanareatoprovidemessagestotheuser–messageslikehowtostart/stopthegameandmessagesonhowtheyareprogressinginthegame.Usebuttoncontrolstoperformspecifictasks(start,stop,changeoptions)inyourprogram.Inyourdesign,sinceyouareusingthegraphicswindow,makesureyouincorporategraphicselementsofcolorsandshapes.Makethewindowpleasanttolookatandeasytounderstand.Finalizeyoursketchongraphpapertohelpwithpositioningpartsofthefinallayout.Makenotesfordimensionsandlocationsofdifferentcomponents.
∙TranslateyoursketchtoactualSmallBasiccodetodrawthewindowelements.WithSmallBasic,youcanmakequickchangesandseetheresultsofthesechangesimmediately.Thewindowdesignprocessisiterative–meaningyouwillalwaysbetweakingcertainitemsuntilyouaresatisfiedwithyourwindowdesign.Forthegamesinthesenotes,wepresentourideasforwindows.Feelfreetomodifytheminanywayyouchoose.
SafecrackerWindowDesign
∙HereisthesketchforthewindowlayoutoftheSafecrackergame:
Wedrawasafeontheleftsideofthewindowusinglinesandrectangles.Thecombinationdigitswillbedisplayedinborderedrectangles.Alittle‘moneybag’graphicisadded.Therightsideofthewindowisablankareawherewewillprovideinformationtotheuserattheappropriatetimes.Threebuttoncontrolswillbeused:
onetostartandstopthegame,onetochangeoptionsandonetoexittheprogram.
∙WenowbeginwritingcodefortheSafecrackergameprogram.Wewillwritethecodeinseveralsteps.Asafirststep,wewillwritethecodethatdrawsthegamewindowandestablishesthe‘stopped’state.Wewritecodetosetgameoptionsinatextwindow.Then,welookathowtogoto‘playing’statefollowingclickingoftheStartGamebutton.Duringthecodedevelopmentprocess,recognizeyoumaymodifyaparticularprocedureseveraltimesbeforearrivingatthefinishedproduct.
∙
Beforestarting,makesureyouhaveestablishedafolderonyourcomputerforbuildingSmallBasicprograms.Alwayssaveyourprogramsinthisfolder.Donotsavetheminthefolderusedinthesenotes(KidGamesSB\KidGamesSBPrograms).Leavethisfolderintactsoyoucanalwaysreferencethefinishedprograms,ifneeded.
∙StartanewprograminSmallBasic.Oncestarted,wesuggestyouimmediatelysavetheprogramwithanameyouchoose.Thissetsupthefolderandfilestructureneededforyourprogram.
WindowDesign–DrawSafe
∙WeseeinthesketchthatthesafeusedintheSafecrackergameismadeupofrectangles,lines,aheading(BANK)andalittlemoneybaggraphic.IntheKidGamesSB\KidGamesSBPrograms\Safecrackerfolderisafilemoney.jpg.Thisisthegraphicwewilldisplay.Itisloadedbytheprogram.Copythisfiletoyourprogram’sfolder.
∙Now,addthiscodetotheeditor.
'Safecracker
InitializeProgram()
SubInitializeProgram
'graphicswindow
GraphicsWindow.Width=650
GraphicsWindow.Height=400
'Drawbanksafe
GraphicsWindow.BrushColor="Blue"
GraphicsWindow.FillRectangle(0,0,310,400)
GraphicsWindow.BrushColor="LightGray"
GraphicsWindow.FillRectangle(25,25,260,350)
GraphicsWindow.BrushColor="Gray"
GraphicsWindow.FillRectangle(50,50,210,300)
GraphicsWindow.PenWidth=2
GraphicsWindow.PenColor="Black"
GraphicsWindow.DrawRectangle(25,25,260,350)
GraphicsWindow.DrawRectangle(50,50,210,300)
GraphicsWindow.DrawLine(25,25,50,50)
GraphicsWindow.DrawLine(285,25,260,50)
GraphicsWindow.DrawLine(285,375,260,350)
GraphicsWindow.DrawLine(25,375,50,350)
GraphicsWindow.BrushColor="Yellow"
GraphicsWindow.FontBold="false"
GraphicsWindow.FontSize=48
GraphicsWindow.DrawText(95,50,"BANK")
MoneyImage=ImageList.LoadImage(Program.Directory+"\money.jpg")
GraphicsWindow.DrawImage(MoneyImage,80,200)
EndSub
Thiscodeisjustatranslationofourwindowsketchintoactualcode.ThefirstlineofcodecallsasubroutineInitializeProgramwherewewillputallcodeneededtosetuptheprogramforuse.Allremainingcodeheregoesinthatsubroutine.Noticethegraphicsfile(money.jpg)isloadedfromtheProgram.Directoryfolder–thisisyourprogram’sfolder.That’swhyweaskedyoutocopythefiletothisparticularfolder.Noticethelineloadingthefileisdisplayedontwolinesinthesenotesduetomarginrestrictions.Makesurethisistypedononelineinthecodeeditor.Lookforsimilaroccurrencesthroughoutthenotesforthiscourse.
∙SaveandRun(clickRuninthetoolbar)theprogram.Thesafewillappear:
Ifthemoneybagdoesnotshowup,double-checkyoucopiedthefileintothesamefolderholdingyourprogramcode.
WindowDesign–DisplayCombinationDigits
∙Thecombinationenteredbytheuserwillbedisplayedinborderedrectanglesonthesafe.Todrawtheserectangles,weneedtoknowhowmanydigitswillbeentered.ThevariableNumberDigitswillbeusedforthispurpose–wegiveitadefault(beginningvalue)of2.Thiscanbechangedbytheu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Programming Kid Games with Microsoft Small Basic Demo Chapter
链接地址:https://www.bdocx.com/doc/6388207.html