Book Image

Learn Red ? Fundamentals of Red

By : Ivo Balbaert
Book Image

Learn Red ? Fundamentals of Red

By: Ivo Balbaert

Overview of this book

A key problem of software development today is software bloat, where huge toolchains and development environments are needed in software coding and deployment. Red significantly reduces this bloat by offering a minimalist but complete toolchain. This is the first introductory book about it, and it will get you up and running with Red as quickly as possible. This book shows you how to write effective functions, reduce code redundancies, and improve code reuse. It will be helpful for new programmers who are starting out with Red to explore its wide and ever-growing package ecosystem and also for experienced developers who want to add Red to their skill set. The book presents the fundamentals of programming in Red and in-depth informative examples using a step-by-step approach. You will be taken through concepts and examples such as doing simple metaprogramming, functions, collections, GUI applications, and more. By the end of the book, you will be fully equipped to start your own projects in Red.
Table of Contents (13 chapters)
11
Assessments

A number-guessing game

Now we have all the building blocks needed for our game.

From the previous chapter, we already know how to pick a random number between 1 and 99, and how to seed this so that each time, the program gives another secret-number:

;-- see Chapter04/guess-number.red:
random/seed
now/time
secret-number: random 99

Getting input from the user is done with ask; we saw a code snippet for this in the Stopping a program section. The user is allowed to guess a certain number of times, say, 10 times, and this number is stored in max-number-of-guesses. So all the code with its input and further logic must be executed in a loop with that particular number of iterations:

loop max-number-of-guesses [ code ]

We also keep track of the number-of-guesses. Of course, our program has to give a clear message at each step.

What are the logical steps each loop iteration has to go through...