ubyte in for loops
bearophile
bearophileHUGS at lycos.com
Tue Aug 10 16:50:11 PDT 2010
A different version of your code with some improvements:
import std.stdio, std.cstream, std.random;
void main() {
uint chosen = uniform(1, 21);
writeln("This is a guessing game");
writeln("I have chosen a number between 1 and 20" ~
" which you must guess");
int guess = 0;
foreach_reverse (i; 1 .. 4) {
writefln("You have %s tr%s left.", i, i == 1 ? "y" : "ies");
write("enter a guess: "); // prompt for a guess
scanf("%d", &guess); // Read a guess
// check if guess correct
if (guess == chosen) {
writefln("\nYou guessed it!");
return;
}
// Check for an invalid guess
if (guess < 1 || guess > 20) // you can add brackets here if you want
writeln("I said between 1 and 20.");
else
writefln("Sorry. %s is wrong.", guess);
}
writefln("You have had three tries and failed. The number was %s", chosen);
din.getc(); // useless?
}
Bye,
bearophile
More information about the Digitalmars-d-bugs
mailing list