Robocode Tutorial.docx
- 文档编号:29849455
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:65
- 大小:234.36KB
Robocode Tutorial.docx
《Robocode Tutorial.docx》由会员分享,可在线阅读,更多相关《Robocode Tutorial.docx(65页珍藏版)》请在冰豆网上搜索。
RobocodeTutorial
Robocode,Java,andTrigonometryTutorial
JacobCole
TableofContents:
1.QuickStart
a.WhatisRobocode?
b.GettingRobocode
i.DownloadingandUsingRobocode
ii.Installation
iii.RunningRobocode
iv.HowRobotsWork
v.Battling
vi.Editing/CreatingRobots
vii.ViewingDocumentation
c.AdviceforBeginners
d.ChallengeforBeginners
e.DownloadingRobots
2.IntrotoJava
a.KeyInformation
b.Comments
c.Variables
i.VariableDeclaration
ii.VariableTypes
iii.PrintingOutputtoScreen/BasicMath
iv.VariableScope
d.Methods
i.DefinitionandBasicSyntax
ii.MethodArguments
iii.ThereturnStatement
iv.MethodOverloading
e.Conventions
3.AnatomyofRobotSourceCode
a.PackageandImport
b.RobotNameandType
c.GlobalVariableDeclarations
d.Therun()Method
i.StartupCode
ii.MainLoop
e.EventListeners
4.MoreJavaProgramming
a.ifStatements
i.DefinitionandSyntax
ii.NestedifStatements
iii.elseifStatements
iv.ConditionsandBooleanOperators
v.TheTernaryOperator
b.UsingBuilt-InMethods
i.CallingstaticMethods
ii.Callingnon-staticMethods
iii.TypeCastingandConversionMethods
1.Definition
2.StringtoNumberConversions
3.StringtocharConversions
4.PrimitiveTypetoStringConversions
5.ConvertingbetweenPrimitiveTypes
c.JavaMath
i.OperatorsandRules
ii.ModularArithmetic
iii.Shortcuts
d.Loops
i.Definition
ii.WhileLoops
iii.Do-WhileLoops
iv.ForLoops
e.Arrays
i.DefinitionandSyntax
f.BreakandContinueStatements
5.AppendixA:
HeadingsversusBearings
a.Definition
b.AbsoluteBearings
i.HowtoTurnTowardsaTargetPoint
1.WritingtheAbsoluteBearingMethod
2.Usingatan2
6.AppendixB:
TrigonometryTutorial
a.UnitCircle
b.TrigonometricRatios
c.UseoftheUnitCircle
d.InverseTrigonometricFunctions
i.Definition
ii.TheSignProblem
e.Radians
i.DefinitionandExplanation
ii.RadianstoDegrees
f.PolarCoordinates
g.SolvingObliqueTriangles
i.IntroToSolvingObliqueTriangles
ii.LawofSines
iii.LawofCosines
7.AppendixC:
ASampleRobot
8.AppendixD:
HistoricalRobots
9.AppendixE:
RobocodePhysicsandMechanics
a.RobocodeTimeandSpace
b.RobotStructure
c.MovementPhysics
d.Energy
e.Collisions
10.QuickReferenceSheets:
a.Robocode/JavaQuickReferenceSheet
b.UsefulMethodsQuickReferenceSheet
c.TrigonometryQuickReferenceSheet
Note:
Toviewthistutorialbest,youshouldhidethespelling/grammar“errors”inthisdocument.
Windows:
gotoTools>Options,clickontheSpelling&GrammartabandchecktheHidespellingerrorsinthisdocumentandHidegrammarerrorsinthisdocumentcheckboxes.
Macintosh:
gotoWord>Preferences,clickonSpellingandGrammar,andthenchecktheHidespellingerrorsinthisdocumentandHidegrammarerrorsinthisdocumentcheckboxes.
QuickStart
WhatisRobocode?
Robocodeisavirtualtankbattlinggame,inwhichyouwritetheAIforthetanksandsendthemouttofight.Whenyoumakeagoodrobot,youcansubmitittotheEternalRumbleat,inwhichyoubattleagainstpeoplefromaroundtheworld.EverythingisinJava.Robocodehasitsownspeciallibraries.
GettingandUsingRobocode
DownloadingRobocode
Gotoandclickon(onthetopbar)thedownloadlink.
Installation
Double-clickonthesetupfile(willbe.jar)andfollowtheinstructions.
NoteforWindows:
YoushouldprobablyinstallrobocodeinProgramFiles,eventhoughit defaultsto theCdrive(justreplaceC:
\robocodewithC:
\ProgramFiles\robocodewhenitasksyouduringtheinstallation).Ifthereisaproblem,seetheBeginners’FAQ.Don’taddrobocodetoyour Startmenuwhenitasks,itsometimesmessesup.
RunningRobocode
Windows:
double-clickonrobocode.bat
Macintosh:
double-clickonrobocode.jar
HowRobotsWork
SeeAppendixE:
RobocodePhysicsandMechanics(IMPORTANT!
)
Battling
Tostartanewbattle,gototheBattlemenu>Newandthendouble-clickonrobotsorselectthemandclickaddrobot.
Toseetheradarbeamsoftherobotsduringabattle,gotoOptions>PreferencesandthenchecktheViewScanArcbox.
Editing/CreatingRobots
Togototheroboteditor,gototheRobotmenu>Editor.Tomakeanewrobot,gotoFile>New>Robotandfollowtheinstructions.
ViewingDocumentation
Toseethedocumentationforrobocode,gotothehelpmenuandclickonRobocodeAPI.OnceintheAPI,clickonRobotorAdvancedRobotinleftsidebarandscrolldown.Thosearetheonlythingsthatareimportantfornewrobocoders.
Note:
APImeansApplicationProgrammingInterface.Itisbasicallythedocumentationofaprogram.Inrobocode,theAPIshowsallthespecialmethods,sectionsofcodethatcanberunonacommand(seebelow),thatyouneedtoprogramyourrobot(likeahead(distance))tomoveyourrobotforward).
AdviceforBeginners
Havefun.Don'tgiveuptooquickly.Robocodetakesdeterminationandpersistence.Don'tdespairatthelengthofthetutorial,youdon’thavetoreaditallatonce.JustreaduptoAnatomyofRobotSourceCodetogetstarted.Also,checkoutthesamplerobotincludedinthistutorial.
Also,readtheBeginners’FAQ,theotherFAQ,andtheGamePhysicspage.Notethatarobot’sgunspinswithitsbody,anditsradarspinswithitsgun.
ChallengeforBeginners
Tostartout,experimentandtrytomakearobotthatactslikethesamplewallsbot.Firstlearnhowtomaketherobotgoforward,andthenworkonturningonHitWall.HINT:
theeasywaytomakeawallsbotinvolvesthegetBearing()method(explainedinHeadingsversusBearings).
PlacestoGoandThingstoSee
GotoforEVERYTHINGROBOCODE.Itteachestargeting,moving,strategies,andmuchmore.RobocodeisBIG(thousandsofpeople).
GotoforabeginnerFAQ
GotoforanotherFAQ
Gotoforthephysicsofrobocode.
GotoforinfoonJava(theAPI).
GotofortheMathclassAPI(scrolldowntomethodsummary).
GotofortheStringclassAPI(scrolldowntomethodsummary).
Gotoforanin-depthJavatutorial.
Gototodownloadotherpeople’srobots.
Gototosearchforotherpeople’sbotstodownload.
DownloadingRobots
Youcandownloadandtryotherpeople’srobots(andiftheyareopensource,usetheirsourcecode).Simplysavetherobots’.jarfilesintherobotsdirectoryintherobocodefolder(thisiswhereveryouinstalledrobocode).Ifrobocodeisalreadyopen,hitF5inthenewbattledialogboxafteryoudownloadedtherobot.Watchthembattleforinspiration. Toseethesourcecodeofopensourcerobots,gototheroboteditor,andclickonFile>Extractdownloadedrobotforediting,thenselecttherobot.SeetheHistoricalRobotssectionforadviceonwhichbotstoget.
IntrotoJava
KeyInformation
ThereareafewbasicthingsthatyoumustunderstandaboutJavabeforeyoustartbuildingownagerobots.
Syntaxisthepunctuationofaprogram,theformatthatthecompiler(thethingythatturnsthestuffyoutypeintostuffthecomputercanread)canunderstand.InJava,sourcecode(thestuffthatyoutype)isstoredin.javafiles,andcompiledprogramsarestoredin.classfiles.InJava,amaincomponentofthesyntaxisthesemicolon(;).Semicolonsareneededaftereverycompletestatement.
Comments
InJava,thereare3typesofcomments.Commentsarethingsyouaddtocodetoexplainwhatitdoes.Commentsdonotaffectyourprograminanyway.
//comment(1line)
/*
multiplelines
ofcomment
*/
/**
multiplelinesofcomment(doublestarjustmeansspecialcommentthatcanbeusedfordocumentation)
*/
Iwillmostlyusethe//stylecomments.WhenIputstuffinitalicsitmeanstoinputanameforthevalueinreallife(e.g.ifyourinitialswere“bc,”inreallifecodeyouwouldsubstitutebcforyourInitials).
Variables
VariableDeclaration
InJava,youdeclarevariableslikethis:
variableTypevariableName;
Forexample
intmyInteger;
StringmyString;
charmyChar;
VariabletypesandnamesarecAsEsEnSiTiVe,justaseverythingisinJava.Note:
variablenamesmuststartwithlettersorunderscores.AlsonotethatvariablescannothavenamesthatareJavakeywords.Ifyouarehavingstrangecompileerrors,trychangingthenamesvariablesthatseemsuspicious.
VariableTypes
Primitive(“basic”)Variabletypes(commonones):
int–holdsfrom-2,147,483,648(sameas-231)to2,147,483,647(sameas231-1)
long–holdsintegersfrom-9,223,372,036,854,775,808(sameas-263)to9,223,372,036,854,775,807(sameas263-1)
float–holdsnumberswithdecimalpointsupto3.40282346638528859811704183484521038Note:
meansmultiply
double–holdsnumberswithdecimalpointsupto1.79769313486231570814527423731710308Note:
meansmultiply
char–holdssinglecharacters.Youmustusesinglequotes(myChar='?
';)
boolean–holdstrueorfalse
OneNon-PrimitiveVariableType:
String–holdstext.Youmustusedoublequotesforthetext(myString="Hi";).ToaddtotheendofaString(calledconcatenation),usethe+sign:
myString=myString+"5";TheStringwouldnowsay"hi5"Note:
thecapitalizationofthewordStringmatters.
Again,thepropercapitalizationofvariabletypes(andeverythinginJava)isvital.
Tosetavaluetoavariable,usetheassignmentoperator,theequalssign
myInteger=5;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Robocode Tutorial