Add files via upload

This commit is contained in:
Ki Rill 2019-12-20 16:04:12 +06:00 committed by GitHub
parent f1d814b891
commit f9fbc01440
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 117 additions and 0 deletions

117
lesson#6.1/main.d Normal file
View File

@ -0,0 +1,117 @@
// Creating Hangman game
// LET'S LEARN: arrays(fixed-length vs dynamic),
// strings(char[] vs string) and immutability,
// reading strings from the user
import std.stdio: writeln, write, readln;
import std.string: strip;
void main() {
/* School event: 10 participants, age and names
int age1 = 0;
int age2 = 0;
...
int age10 = 0;
*/
//------------------------------------
/*
data_type[size] name;
name[index] to access the ith element
name[0 ... < size]
int[10] name; // [0 ... 9]
name[6] = ... // ok, 6 < 10
name[12] = ... // error, 12 > 10
name[10] = ... // error, 10 is not < 10
*/
int[10] age = 0; // all age variables = 0;
char[21] oneName; // one dimensinal array, we assume name is no longer than 21
char[10][21] manyNames; // an array of one dimesional arrays of characters
/*
data_type[size_rows][size_cols] name;
name[0 ... < size_rows][0 ... < size_cols] = ...
*/
string oneName_string; // the same as char[resizeable]
string[10] manyNames_string; // the same as char[10][resizeable]
//------------------------------------
// trying to modify a string element
/* string fruit = "apple";
fruit[0] = 'A'; // error
fruit = "orange"; // fine
string[] shoppingList = [ "potato", "apples", "milk", "etc..." ];
*/
//------------------------------------
/*
int[] myDynamicArray;
writeln("Size of myDynamicArray: ", myDynamicArray.length);
myDynamicArray.length = 3;
writeln("NEW SIZE of myDynamicArray: ", myDynamicArray.length);
myDynamicArray ~= 15;
myDynamicArray ~= 98;
myDynamicArray ~= 43;
writeln(myDynamicArray);
*/
//------------------------------------
/* write("Hi, what's your name: ");
//string name = readln(); // reads a '\n' new line character
string name = strip(readln()); // use strip to remove '\n'
writeln("Hi, ", name, ". Nice to meet you!");
*/
//------------------------------------
/*
string name = "alex";
name[0] = 'A'; // error, immutable expression
char[] name = "joshua";
name[0] = 'J'; // fine
*/
//------------------------------------
int lives = 3;
// dictionary contains words that player will have to guess
string[10] dictionary = [ "apple", "orange", "volleyball", "laptop",
"universe", "chicken", "theater", "window",
"violin", "guitar" ];
// calling main menu function
mainMenu();
// when the game is over:
writeln();
writeln("Thank you for playing!");
}
void mainMenu() {
writeln("Hello! Welcome to Hangman game!");
writeln("(1) Play");
writeln("(2) Exit");
write(":_");
string line = strip(readln());
if(line == "play" || line == "Play" || line == "1") {
writeln();
writeln("let's play!");
}
}