fb_controls
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
fb_controls [2022/12/03 23:20] – praetor | fb_controls [2022/12/04 01:26] – praetor | ||
---|---|---|---|
Line 2: | Line 2: | ||
Control structures are statements that modify the running state of your program - that is, they turn your program into a **state machine** and allows it to perform logical decisions. Your program can be in a different state depending on various conditions. For instance, **if** you're hungry **then** you are empty, but if you eat, you are full. **Or** if you're **not** hungry or empty, then you are something else that is not defined. Notice how the state can change depending on the conditions that are set. We call these **conditionals** and they impart intelligent logic into our programs. | Control structures are statements that modify the running state of your program - that is, they turn your program into a **state machine** and allows it to perform logical decisions. Your program can be in a different state depending on various conditions. For instance, **if** you're hungry **then** you are empty, but if you eat, you are full. **Or** if you're **not** hungry or empty, then you are something else that is not defined. Notice how the state can change depending on the conditions that are set. We call these **conditionals** and they impart intelligent logic into our programs. | ||
- | In FreeBASIC, as well as other programming languages, there are two types of control structures. | + | In FreeBASIC, as well as other programming languages, there are three types of control structures. |
* Decision Making Structures - makes a series of decisions using **if, | * Decision Making Structures - makes a series of decisions using **if, | ||
Line 62: | Line 62: | ||
<code freebasic> | <code freebasic> | ||
- | input " | + | input " |
</ | </ | ||
//input// is a new keyword that asks the user for input and stores it in a variable, myName in this case. | //input// is a new keyword that asks the user for input and stores it in a variable, myName in this case. | ||
Line 70: | Line 70: | ||
print "Ave Praetor!" | print "Ave Praetor!" | ||
</ | </ | ||
- | **if** myName is " | + | **if** myName is " |
<code freebasic> | <code freebasic> | ||
Line 85: | Line 85: | ||
</ | </ | ||
- | But what if you want it to match it exactly? This requires **regular | + | But what if you want it to match it exactly? This requires **regular |
+ | |||
+ | What if you have many things you wish to test? Well you can do that with the **elseif** statement, like so: | ||
+ | |||
+ | <code freebasic> | ||
+ | if Ucase(myName) = " | ||
+ | print "Ave Praetor!" | ||
+ | elseif Ucase(myName = " | ||
+ | print "Howdy SMJ!" | ||
+ | else | ||
+ | print "I don't know you" | ||
+ | end if | ||
+ | </ | ||
+ | |||
+ | You can have as many **elseif** statements as you wish, and while you don't necessarily need an **else** statement, it is considered good form to have one to catch any unknowns a user may have. You'll see why when we discuss functions and subroutines. | ||
+ | |||
+ | We can also use bitwise operators like **AND**, or **OR** to test multiple things as well. Like such. | ||
+ | |||
+ | <code freebasic> | ||
+ | if Ucase(myname) = " | ||
+ | print "I know you!" | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | **OR** states that if myName is either PRAETOR or SMJ, then the condition is true. |
fb_controls.txt · Last modified: 2022/12/04 01:27 by praetor