User Tools

Site Tools


hpl2:tutorials:forloop

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
hpl2:tutorials:forloop [2011/07/29 20:34]
xiphirx
— (current)
Line 1: Line 1:
-====== "​For"​ Loops ====== 
- 
- 
-"​For"​ loops are use to repeat something multiple times with a variable, or creates a loop. It is almost the same as the "​While"​ loop. 
- 
- 
-A "​For"​ loop has 3 parts to it, the counting variable and initial value, the loop condition, and the change in the variable'​s value. There are many different ways you can create "​for"​ loops. Each parameter is seperated by a semicolon ( ; ). Here are some examples: 
- 
- 
-<code cpp>void OnStart() ​ 
- 
-        for(int i = 0; i <4; i++) 
-                     ​AddTimer("​T"​+i,​ 1.5 * i, "​TimerFunction"​); ​   
-} 
-</​code>​ 
- 
- 
-Lets take this apart. "void OnStart()"​ is the location it is in, which happens when the level starts up. "​for(int i = 0; i < 4; i++)" runs the loop body (in this case, the loop body adds a timer that will trigger "​TimerFunction"​) 4 times before the loop breaks, because integer "​i"​ has to be less than 4, as stated in the loop condition. 
- 
- 
-If you didn't use the "​for"​ loop, it would look like this: 
- 
- 
-<code cpp>void OnStart() ​ 
- 
- AddTimer("​T0",​ 1.5, "​TimerFunction"​);  ​ 
- AddTimer("​T1",​ 3, "​TimerFunction"​); ​ 
- AddTimer("​T2",​ 4.5, "​TimerFunction"​); ​ 
- AddTimer("​T3",​ 6, "​TimerFunction"​); ​ 
-} 
-</​code>​ 
- 
- 
-All the code above would do exactly the same thing for each other. You can think of the "​for"​ loop as a shortcut. When you use the "​for"​ loop in your script, don't be afraid to use it. You could always go back here and check out how to do it again. When using the "​for"​ loop, you can change whatever value a parameter has when it's in the "​for"​ loop. Use braces ({ }) when the loop's body exceeds one line. Also another tip is that you can use whatever variable you want for the "​for"​ loop, so long that it doesn'​t interfere with an existing variable that could do stuff that you don't want to happen. Here is and example for how a "​for"​ loop could vary: 
- 
- 
-<code cpp>void OnStart() ​ 
- 
- for (int x = 0; x <= 4; x += 2)  
- {  ​ 
- AddEntityCollideCallback("​Player",​ "​ScriptArea_"​+x,​ true, 1);  
- 
-} 
-</​code>​ 
- 
- 
-I also want to say that in the scripts I provided don't include the functions that could be created based on what I have in there, like a timer function and entity collide functions. 
- 
- 
-== This wiki entry has been made by Kyle S. If you have any comments or need help with this, send me a private message on the Frictional Games Forum. (My name on there is Kyle) == 
- 
- 
-**- Edited by Xiphirx. Fixed errors in code and in text.** 
  
hpl2/tutorials/forloop.1311971646.txt.gz ยท Last modified: 2011/07/29 20:34 by xiphirx