Loops
Loops are used when you want to repeat a block of code multiple times. There are
two types of loops in XS: while loops and for loops.
1. while loops
The while loop is used to execute a block of code while a condition is
met. The condition is checked at the beginning of each iteration of the loop.
Syntax of a while loop
| while (condition)
{
// code to execute while condition is true
}
|
1.1. Example
Example of a while loop
| Age3AI.xs |
|---|
| void main(void)
{
// Set the seed of the random number generator.
aiRandSetSeed(-1);
// Keep generating random numbers until we get one that is less than 2
int numAttempts = 0;
while(aiRandInt(10) >= 2)
{
numAttempts++;
aiEcho("The generated number is greater than or equal to 2 (attempt #" + numAttempts + "). Trying again...");
}
aiEcho("" + numAttempts + " random numbers were generated before we got one that was less than 2.");
}
|
2. for loops
The for loop is primarily used to execute a block of code a certain
number of times. For that, it uses a counter variable that is incremented or
decremented at the end of each iteration of the loop.
Syntax of a for loop
| for (initialization; condition; increment)
{
// code to execute while condition is true
}
|
2.1. Initialization
This is where you initialize the counter variable. It is only executed once,
before the first iteration of the loop.
2.2. Condition
This is where you specify the condition that must be met for the loop to
proceed. It is checked at the beginning of each iteration of the loop. Once the
condition is no longer met, the loop stops.
2.3. Increment
This is where you specify how the counter variable should be incremented or
decremented at the end of each iteration of the loop.
2.4. Example
Example of a for loop
| Age3AI.xs |
|---|
| void main(void)
{
// Set the seed of the random number generator.
aiRandSetSeed(-1);
// Generate 10 random numbers and print them to the console
for (int i = 0; i < 10; i++)
{
aiEcho("Random number #" + (i + 1) + ": " + aiRandInt(10));
}
}
|
3. break statement
The break statement is used to exit a loop even if the condition is
still met.
Example of a break statement
| Age3AI.xs |
|---|
| void main(void)
{
// Set the seed of the random number generator.
aiRandSetSeed(-1);
// Keep generating random numbers until we get one that is less than 2
int numAttempts = 0;
while(true)
{
numAttempts++;
int randNum = aiRandInt(10);
aiEcho("The generated number is " + randNum + " (attempt #" + numAttempts + ").");
if (randNum < 2)
{
break;
}
}
aiEcho("" + numAttempts + " random numbers were generated before we got one that was less than 2.");
}
|
4. continue statement
The continue statement is used to skip the rest of the code in the
current iteration of the loop and proceed to the next iteration.
Example of a continue statement
| Age3AI.xs |
|---|
| void main(void)
{
// Set the seed of the random number generator.
aiRandSetSeed(-1);
// Generate 10 random numbers and print them to the console
for (int i = 0; i < 10; i++)
{
int randNum = aiRandInt(10);
if (randNum < 2)
{
aiEcho("Skipping random number #" + (i + 1) + " because it is less than 2.");
continue;
}
aiEcho("Random number #" + (i + 1) + ": " + randNum);
}
}
|