File: cbot.txt

package info (click to toggle)
colobot 0.2.2-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 415,536 kB
  • sloc: cpp: 129,246; ansic: 8,872; python: 2,158; sh: 672; awk: 91; xml: 35; makefile: 31
file content (132 lines) | stat: -rw-r--r-- 7,193 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
\b;Programming - the CBOT language
The CBOT language is very close in structure and syntax to C++ and Java. It has been adapted for the specific purposes of COLOBOT, and for an efficient pedagogical approach.
This language is made up of instructions (see below), \l;blocks\u cbot\bloc;, \l;functions\u cbot\function;, \l;classes\u cbot\class;, \l;variables\u cbot\var;, \l;arrays\u cbot\array;, \l;expressions\u cbot\expr; and \l;conditions\u cbot\cond;.

\l;o\u cheats;  \c;\token;Instructions\norm;\n;
In the program editor, an instruction in the CBOT language is always displayed like that: \token;instruction\norm;. If an instruction is not highlighted, this means that it has been misspelled. Instruction names are always written in lower case. 

o  \c;\type;Type\norm;\n;
The \l;type\u cbot\type; of a variable appears like that: \type;type\norm;. 

o  \c;\const;Constants\norm;\n;
Constants like \l;categories\u cbot\category; are displayed like that: \const;constant\norm;. 

\t;Instructions in the CBOT language:
\c;\l;extern\u cbot\extern;     \n;Indicate the main function
\c;\l;if\u cbot\if;         \n;Choice structure
\c;\l;else\u cbot\if;       \n;Alternative choice structure
\c;\l;switch\u cbot\switch;     \n;Multiple choice structure
\c;\l;case\u cbot\switch;       \n;One choice
\c;\l;default\u cbot\switch;    \n;Default choice
\c;\l;for\u cbot\for;        \n;Loop structure
\c;\l;while\u cbot\while;      \n;Control structure
\c;\l;do\u cbot\do;         \n;Control structure
\c;\l;break\u cbot\break;      \n;Exit from a loop
\c;\l;continue\u cbot\continue;   \n;Continues the loop
\c;\l;return\u cbot\return;     \n;Exit from a function
\c;\l;sizeof\u cbot\sizeof;     \n;Size of an array

\t;Specific instructions for bots:
\c;\l;detect\u cbot\detect;     \n;Simple object detection
\c;\l;radar\u cbot\radar;      \n;Advanced object detection
\c;\l;radarall\u cbot\radarall;   \n;Advanced multiple objects detection
\c;\l;search\u cbot\search;     \n;Object detection from a specific point
\c;\l;direction\u cbot\direct;  \n;Calculates a rotation angle
\c;\l;distance\u cbot\dist;   \n;Calculates a distance
\c;\l;distance2d\u cbot\dist2d; \n;Calculates a distance
\c;\l;wait\u cbot\wait;       \n;Waits
\c;\l;move\u cbot\move;       \n;Moves forward or backward
\c;\l;turn\u cbot\turn;       \n;Turns
\c;\l;goto\u cbot\goto;       \n;Goes to a given position
\c;\l;motor\u cbot\motor;      \n;Direct motor control
\c;\l;jet\u cbot\jet;        \n;Direct jet engine control
\c;\l;message\u cbot\message;    \n;Displays a message
\c;\l;retobject\u cbot\retobj;  \n;Returns an object from a function
\c;\l;errmode\u cbot\errmode;    \n;Error treatement control
\c;\l;abstime\u cbot\abstime;    \n;Returns the absolute time
\c;\l;pendown\u cbot\pendown;    \n;Starts drawing
\c;\l;penup\u cbot\penup;      \n;Stops drawing
\c;\l;pencolor\u cbot\pencolor;   \n;Changes the pen color
\c;\l;penwidth\u cbot\penwidth;   \n;Changes the pen width
\c;\l;factory\u cbot\factory;    \n;Starts construction of a bot
\c;\l;research\u cbot\research;   \n;Starts a research
\c;\l;takeoff\u cbot\takeoff;    \n;Launches a spaceship
\c;\l;isbusy\u cbot\isbusy;     \n;Checks if object is busy
\c;\l;canresearch\u cbot\canresearch;\n;Checks if a technology can be researched
\c;\l;researched\u cbot\researched; \n;Checks if a technology is researched
\c;\l;canbuild\u cbot\canbuild;   \n;Checks if a building can be built
\c;\l;buildingenabled\u cbot\buildingenabled; \n;Checks if a building is available during current mission

\t;Instructions about topology:
\c;\l;space\u cbot\space;      \n;Calculates a free space
\c;\l;flatspace\u cbot\flatspace;  \n;Calculates a free, flat space
\c;\l;topo\u cbot\topo;       \n;Returns the altitude of a point
\c;\l;flatground\u cbot\flatgrnd; \n;Returns radius of a flat area

\t;Instructions specific to some bots:
\c;\l;grab\u cbot\grab;       \n;Picks up an object
\c;\l;drop\u cbot\drop;       \n;Puts down an object
\c;\l;sniff\u cbot\sniff;      \n;Sounds the subsoil
\c;\l;thump\u cbot\thump;      \n;Overturns alien insects
\c;\l;recycle\u cbot\recycle;    \n;Recycles a derelict bot
\c;\l;shield\u cbot\shield;     \n;Extends or withdraws the shield
\c;\l;fire\u cbot\fire;       \n;Fires the cannon
\c;\l;aim\u cbot\aim;        \n;Rotates the cannon
\c;\l;build\u cbot\build;      \n;Builds a building
\c;\l;flag\u cbot\flag;       \n;Plants a flag
\c;\l;deflag\u cbot\deflag;     \n;Removes a flag

\t;Specific instructions for exchange posts:
\c;\l;receive\u cbot\receive;    \n;Receives an information
\c;\l;send\u cbot\send;       \n;Sends a new information
\c;\l;testinfo\u cbot\testinfo;   \n;Tests if an information exists
\c;\l;deleteinfo\u cbot\delinfo; \n;Deletes an existing information

\t;Specific instructions for classes:
\c;\l;class\u cbot\class;      \n;Class declararion
\c;\l;public\u cbot\public;     \n;Declares a public class member
\c;\l;private\u cbot\private;    \n;Declares a private class member
\c;\l;protected\u cbot\protected;  \n;Declares a protected class member
\c;\l;static\u cbot\static;     \n;Declares a static class member
\c;\l;synchronized\u cbot\synchro; \n;Prevents simultaneous execution
\c;\l;new\u cbot\new;        \n;Creates a new instance
\c;\l;this\u cbot\this;       \n;Reference to the current instance
\c;\l;extends\u cbot\extends;    \n;Extends a class
\c;\l;super\u cbot\super;      \n;Grants access to the parent class

\t;Specific instructions for strings:
\c;\l;strlen\u cbot\strlen;     \n;Gets string length
\c;\l;strleft\u cbot\strleft;    \n;Extracts left part
\c;\l;strright\u cbot\strright;   \n;Extracts right part
\c;\l;strmid\u cbot\strmid;     \n;Extracts center part
\c;\l;strfind\u cbot\strfind;    \n;Finds a substring.
\c;\l;strval\u cbot\strval;     \n;Converts string to number
\c;\l;strupper\u cbot\strupper;   \n;Converts to upper case
\c;\l;strlower\u cbot\strlower;   \n;Converts to lower case

\t;Specific instructions for files:
\c;\l;open\u cbot\open;       \n;Opens a file
\c;\l;close\u cbot\close;      \n;Closes a file
\c;\l;writeln\u cbot\writeln;    \n;Writes line to a file
\c;\l;readln\u cbot\readln;     \n;Reads line from a file
\c;\l;eof\u cbot\eof;        \n;Tests if end of file
\c;\l;deletefile\u cbot\deletef; \n;Deletes a file

\t;Mathematical functions:
\c;\l;rand\u cbot\rand;       \n;Returns a random value
\c;\l;pow\u cbot\pow;        \n;Returns a power
\c;\l;sqrt\u cbot\sqrt;       \n;Returns a square root
\c;\l;floor\u cbot\floor;      \n;Returns the largest previous integer
\c;\l;ceil\u cbot\ceil;       \n;Returns the smallest following integer
\c;\l;round\u cbot\round;      \n;Returns a rounded number
\c;\l;trunc\u cbot\trunc;      \n;Returns a truncated number
\c;\l;sin\u cbot\sin;        \n;Returns a sine
\c;\l;cos\u cbot\cos;        \n;Returns a cosine
\c;\l;tan\u cbot\tan;        \n;Returns a tangent
\c;\l;asin\u cbot\asin;       \n;Returns an arcus sine
\c;\l;acos\u cbot\acos;       \n;Returns an arcus cosine
\c;\l;atan\u cbot\atan;       \n;Returns an arcus tangent
\c;\l;atan2\u cbot\atan2;      \n;Returns an arcus tangent, has two arguments

\t;See also
\l;Types\u cbot\type; and \l;categories\u cbot\category;.