fontsize = 20
Font
= _LOADFONT("courbd.ttf", fontsize
, "monospace")
Resizer
Lessons num
fontsize = fontsize + 2
temp
= _LOADFONT("courbd.ttf", fontsize
, "monospace") Font = temp
fontsize = fontsize - 2
temp
= _LOADFONT("courbd.ttf", fontsize
, "monospace") Font = temp
IF num
< 123 THEN num
= num
+ 1
WordWrap "Hello World."
WordWrap "This is Steve's Tuturial on Tic-Tac-Toe!"
WordWrap "Press <RIGHT ARROW> to move forward in the lessons."
WordWrap "How many places can one start at in Tic-Tac-Toe? Let's look at the board below to find out!"
DrawBoard ""
WordWrap "First, there's the top-right corner, which makes one spot, and we'll count as we go from there."
WordWrap "Current count = 1"
DrawBoard "X"
WordWrap "First, there's the top-right corner, which makes one spot, and we'll count as we go from there."
WordWrap "Current count = 2"
DrawBoard ".X"
WordWrap "First, there's the top-right corner, which makes one spot, and we'll count as we go from there."
WordWrap "Current count = 3"
DrawBoard "..X"
WordWrap "First, there's the top-right corner, which makes one spot, and we'll count as we go from there."
WordWrap "Current count = 4"
DrawBoard "...X"
WordWrap "First, there's the top-right corner, which makes one spot, and we'll count as we go from there."
WordWrap "Current count = 5"
DrawBoard "....X"
WordWrap "First, there's the top-right corner, which makes one spot, and we'll count as we go from there."
WordWrap "Current count = 6"
DrawBoard ".....X"
WordWrap "First, there's the top-right corner, which makes one spot, and we'll count as we go from there."
WordWrap "Current count = 7"
DrawBoard "......X"
WordWrap "First, there's the top-right corner, which makes one spot, and we'll count as we go from there."
WordWrap "Current count = 8"
DrawBoard ".......X"
WordWrap "First, there's the top-right corner, which makes one spot, and we'll count as we go from there."
WordWrap "Current count = 9"
DrawBoard "........X"
WordWrap "There's only 9 spots on a Tic-Tac-Toe board, so our first move has to be in one of those nine spaces!"
WordWrap "BUT..."
WordWrap "Tic-Tac-Toe is a game of SYMMETRY. There's really only THREE positions to consider in the game."
WordWrap "The outer corners."
DrawBoard "X.X...X.X"
WordWrap "The middle edges."
DrawBoard ".X.X.X.X."
WordWrap "And the center of it all -- the center!"
DrawBoard "....X...."
WordWrap "So, to start this tuturial out, let's start with X in one of the OUTER CORNERS."
DrawBoard "X"
WordWrap "Now, O has 8 different places they can move. Let's look at all those possible moves, and I'll show you what X's next move should be."
WordWrap "First, O goes right beside X... X then goes to their opposite free corner."
DrawBoard "XO....X.."
WordWrap "This is a losing position for O, as here would be the next 2 moves played out:"
WordWrap "O blocks the win, X takes the middle..."
DrawBoard "XO.OX.X.."
WordWrap "So what if O would have went to the far corner instead?"
WordWrap "X then goes to their diagional free corner."
DrawBoard "X.O.....X"
WordWrap "O is now forced to block in the center, and X then blocks O."
WordWrap "Guess who just lost?"
DrawBoard "X.O.O.X.X"
WordWrap "So, let's just continue on around the edges from there. What happens when O is placed in the right middle edge? Remember what I said about SYMMETRY before?"
WordWrap "Doesn't this set up look just like what we saw previously with O in the top middle?"
DrawBoard "X....OX.."
WordWrap "Yep. Same predictible results. O loses."
DrawBoard "X..OXOX.."
WordWrap "And if O were to move down to the next open position, it's another outer corner."
WordWrap "X, once again, just takes the opposite corner for the win."
DrawBoard "X.....X.O"
WordWrap "Next space on the rotation would be the bottom middle... Which is just like the other two middles we've seen so far..."
WordWrap "Can you see why O loses here?"
DrawBoard "X.X....O."
WordWrap "And around we go, with another corner, which plays like the other corners for O.."
DrawBoard "X.X...O.."
WordWrap "And the last move around the edge is right below X, in the left middle... Which results in... The same as before!"
DrawBoard "X.XO....."
WordWrap "So, as we've seen, if X starts on an outer edge, if the next move by O is on an outside tile, then X wins!"
WordWrap "The whole game is decided by the first move!"
WordWrap "O's *ONLY* possible move is into the middle, which will force a draw unless someone is honestly just REALLY stupid!"
DrawBoard "X...O...."
WordWrap "So in conclusion here: IF X starts with any OUTSIDE CORNER, the *ONLY* place O can go -- without losing -- is to the center."
WordWrap "*ALL* other moves lets X manulate the board for a guaranteed win."
DrawBoard "X...O...."
WordWrap "And, since the game is SYMMETRICAL, as we've seen so far, the *EXACT* same pattern plays out if X starts in *ANY* of the OUTER CORNERS."
WordWrap "IF X takes an OUTER CORNER, the *ONLY* move O can make is to take the center, or lose."
WordWrap "Which then leads to the question: What if X takes the center on their first move?"
DrawBoard "....X...."
WordWrap "O basically only has two choices here: OUTER EDGE or MIDDLE EDGE. Let's look at them both, starting with O taking a MIDDLE EDGE..."
WordWrap "O takes a middle, X takes an outer beside it."
DrawBoard ".OX.X...."
WordWrap "O has to block, and now X can take the other corner. Guess who just won?"
DrawBoard ".OX.X.O.X"
WordWrap "So if X takes the center, and O takes a middle, then X wins! First move determines the game once again."
WordWrap "IF O doesn't want to lose, all they can do is take an OUTER CORNER when X takes the center."
DrawBoard "O...X...."
WordWrap "So that means the only possible place left to talk about is if X starts in a MIDDLE EDGE position."
DrawBoard ".X......."
WordWrap "And honestly, there's not to much to say about this position, except *DON'T*."
WordWrap "There's *NO* move that O can make which guarantees X a win if they start off with an OUTER MIDDLE tile."
WordWrap "Unless someone just plays terribly on purpose, these games will end in a draw."
WordWrap "ONLY start there if you're playing with an elementry grade child."
WordWrap "So, to basically sum up:"
WordWrap "Tic-Tac-Toe is basically a game that is won in the first move."
WordWrap "X's two possible moves are OUTER EDGE and CENTER."
WordWrap "O's counters are CENTER and OUTER EDGE."
WordWrap "Remember those two things, and you have become almost unbeatable at Tic-Tac-Toe. (Unless just pure exhaustion or disinterest causes you to make a mismove after that...)"
WordWrap "AND THAT'S ALL THERE IS TO TIC-TAC-TOE!"
WordWrap "X's two possible starting moves are OUTER EDGE and CENTER."
WordWrap "O's counters are CENTER and OUTER EDGE."
boardfont
= _LOADFONT("courbd.ttf", 196, "monospace") temp$
= MID$(text$
, i
+ 1, 1)
BreakPoint = ",./- ;:!" 'I consider all these to be valid breakpoints. If you want something else, change them.
firstlinewidth = w - x + 1
'first find the natural length of the line
lineend = i - 1
t$
= RTRIM$(LEFT$(text
, lineend
)) 'at most, our line can't be any longer than what fits the screen.
text$
= CHR$(34) + "(pause), " + text$
+ CHR$(34) PRINT #1, "Add-Type -AssemblyName System.Speech; " PRINT #1, "$voice = New-Object System.Speech.Synthesis.SpeechSynthesizer; " PRINT #1, "$voice.SelectVoice(" + CHR$(34) + "Microsoft Zira Desktop" + CHR$(34) + "); " PRINT #1, "$voice.Speak(" + text$
+ "); "
ViewScreen = temp