diff --git a/src/scatter.nim b/src/scatter.nim index d8e57c2..c43fa5d 100644 --- a/src/scatter.nim +++ b/src/scatter.nim @@ -1,6 +1,6 @@ # This is just an example to get you started. A typical binary package # uses this file as the main entry point of the application. -import system, os, random, strutils,typetraits +import system, os, random, strutils, typetraits, strformat when isMainModule: #[ @@ -19,39 +19,67 @@ when isMainModule: for line in lines: f.writeLine(line.toUpper) ]# +#[ + type + Person = object + name: string + age: int + cases: int + + let people = [ + Person(name: "Allison", age: 25, cases: 80), + Person(name: "Mike", age: 40, cases: 100) + ] + + for person in people: + echo(fmt"{person.name} is {person.age} years old and threw {person.cases} cases") + ]# + proc testOop() = + type + Dog = object + + proc bark(self: Dog) = + echo "Woof" + + proc drink(self: Dog) = + echo "Gulp" + + let dog = Dog() + + dog.bark() + dog.drink() + + proc geussNum() = + randomize() + var rng = rand(101) + var tries = 5 + var guessed = 0 + echo "I'm thinking of a number between 1 & 100" + echo "You have ", tries, " tries" + + while guessed < tries: + stdout.write("Guess the number: ") + var guess = readLine(stdin).parseInt() + + if guess > rng: + echo "Too high" + guessed += 1 + echo "Guesses Made: ", guessed + + elif guess < rng: + echo "Too low" + guessed += 1 + echo "Guesses Made: ", guessed + + elif guess == rng: + echo "You have guessed the number: ", rng, "Good job!" + quit(0) + echo "You did not guess the number, it was : ", rng - proc geussNum() = - randomize() - var rng = rand(101) - var tries = 5 - var guessed = 0 - echo "I'm thinking of a number between 1 & 100" - echo "You have ", tries, " tries" - while guessed < tries: - stdout.write("Guess the number: ") - var guess = readLine(stdin).parseInt() - - if guess > rng: - echo "Too high" - guessed += 1 - echo "Guesses Made: ", guessed - - elif guess < rng: - echo "Too low" - guessed += 1 - echo "Guesses Made: ", guessed - - elif guess == rng: - echo "You have guessed the number: ", rng, "Good job!" - quit(0) - echo "You did not guess the number, it was : ", rng - - - - proc help(): string = - result = """ + proc help(): string = + result = """ scatter [-a, -b, -k, -r] @@ -60,25 +88,27 @@ scatter [-a, -b, -k, -r] -k prints 'kill' -r Guess the number (1..100) """ - return result + return result - var argv = commandLineParams() + var argv = commandLineParams() - for args in argv: - case args: - of "": - echo help() - of "-a": - echo "yay" - of "-b": - echo "Oh yeah!" - of "-k": - echo "kill" - of "-r": - geussNum() - of "-h", "--help": - echo help() - else: - echo help() + for args in argv: + case args: + of "": + echo help() + of "-a": + echo "yay" + of "-b": + echo "Oh yeah!" + of "-k": + echo "kill" + of "-r": + geussNum() + of "-t": + testOop() + of "-h", "--help": + echo help() + else: + echo help()