diff --git a/00_Alternate_Languages/01_Acey_Ducey/nim/aceyducey.nim b/00_Alternate_Languages/01_Acey_Ducey/nim/aceyducey.nim index a36aacf9..ed180de4 100644 --- a/00_Alternate_Languages/01_Acey_Ducey/nim/aceyducey.nim +++ b/00_Alternate_Languages/01_Acey_Ducey/nim/aceyducey.nim @@ -5,65 +5,65 @@ var retry: bool = true proc printGreeting() = - echo(spaces(26),"ACEY DUCEY CARD GAME") - echo(spaces(15),"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY") - echo("\n") - echo("ACEY-DUCEY IS PLAYED IN THE FOLLOWING MANNER ") - echo("THE DEALER (COMPUTER) DEALS TWO CARDS FACE UP") - echo("YOU HAVE AN OPTION TO BET OR NOT BET DEPENDING") - echo("ON WHETHER OR NOT YOU FEEL THE CARD WILL HAVE") - echo("A VALUE BETWEEN THE FIRST TWO.") - echo("IF YOU DO NOT WANT TO BET, INPUT A 0") - echo("") + echo spaces(26),"ACEY DUCEY CARD GAME" + echo spaces(15),"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" + echo """ + +ACEY-DUCEY IS PLAYED IN THE FOLLOWING MANNER +THE DEALER (COMPUTER) DEALS TWO CARDS FACE UP +YOU HAVE AN OPTION TO BET OR NOT BET DEPENDING +ON WHETHER OR NOT YOU FEEL THE CARD WILL HAVE +A VALUE BETWEEN THE FIRST TWO. +IF YOU DO NOT WANT TO BET, INPUT A 0 + +""" proc printBalance() = - echo("YOU NOW HAVE ", stash," DOLLARS.") - echo("") + echo "YOU NOW HAVE ", stash," DOLLARS." + echo "" proc printCard(aCard: int) = case aCard: - of 11: echo("=== JACK ===") - of 12: echo("=== QUEEN ===") - of 13: echo("=== KING ===") - of 14: echo("=== ACE ===") - else: echo("=== ", aCard, " ===") + of 11: echo "=== JACK ===" + of 12: echo "=== QUEEN ===" + of 13: echo "=== KING ===" + of 14: echo "=== ACE ===" + else: echo "=== ", aCard, " ===" proc drawDealerCards() = - echo("HERE ARE YOUR NEXT TWO CARDS: ") + echo "HERE ARE YOUR NEXT TWO CARDS: " cardA = rand(2..14) cardB = cardA # Copy cardA, so we can test cardB to be different while cardB == cardA: cardB = rand(2..14) if cardA > cardB: # Make sure cardA is the smaller card - swap(cardA, cardB) - echo("") - printCard(cardA) - echo("") - printCard(cardB) - echo("") + swap cardA, cardB + echo "" + printCard cardA + echo "" + printCard cardB + echo "" proc drawPlayerCard() = - cardC = rand(2..14) - printCard(cardC) - echo("") + cardC = rand 2..14 + printCard cardC + echo "" proc getBet(): int = result = stash + 1 #ensure we enter the loop while (result < 0) or (result > stash): - echo("WHAT IS YOUR BET: ") + echo "WHAT IS YOUR BET: " result = readLine(stdin).parseInt() if result > stash: - echo("SORRY, MY FRIEND, BUT YOU BET TOO MUCH.") - echo("YOU HAVE ONLY ", stash," DOLLARS TO BET.") - if bet == 0: - echo("CHICKEN!!") + echo "SORRY, MY FRIEND, BUT YOU BET TOO MUCH." + echo "YOU HAVE ONLY ", stash, " DOLLARS TO BET." + if result == 0: + echo "CHICKEN!!" proc tryAgain(): bool = - echo("TRY AGAIN (YES OR NO)") + echo "TRY AGAIN (YES OR NO)" var answer = readLine(stdin).normalize() - case answer: - of "yes", "y": result = true - else: result = false + result = (answer == "y") or (answer == "yes") printGreeting() while retry: @@ -72,15 +72,15 @@ while retry: printBalance() drawDealerCards() bet = getBet() - echo("") + echo "" drawPlayerCard() if (cardC >= cardA) and (cardC <= cardB): - echo("YOU WIN!!!") + echo "YOU WIN!!!" stash += bet else: - echo("SORRY, YOU LOSE") + echo "SORRY, YOU LOSE" stash -= bet - echo("SORRY, FRIEND, BUT YOU BLEW YOUR WAD."); - echo("") + echo "SORRY, FRIEND, BUT YOU BLEW YOUR WAD." + echo "" retry = tryAgain() -echo("O.K., HOPE YOU HAD FUN!"); +echo "O.K., HOPE YOU HAD FUN!" diff --git a/00_Alternate_Languages/05_Bagels/nim/bagels.nim b/00_Alternate_Languages/05_Bagels/nim/bagels.nim index d1866913..dd260e3d 100644 --- a/00_Alternate_Languages/05_Bagels/nim/bagels.nim +++ b/00_Alternate_Languages/05_Bagels/nim/bagels.nim @@ -24,19 +24,19 @@ proc playGame() = # We want 3 unique random numbers: loop until we get them! while unique == false: unique = genSeed() - echo("O.K. I HAVE A NUMBER IN MIND.") + echo "O.K. I HAVE A NUMBER IN MIND." for i in 1..20: var c, d: int = 0 - echo("GUESS #", i) + echo "GUESS #", i prompt = readLine(stdin).normalize() if (prompt.len() != 3): - echo("TRY GUESSING A THREE-DIGIT NUMBER.") + echo "TRY GUESSING A THREE-DIGIT NUMBER." continue for z in 1..3: b[z] = prompt.substr(z-1, z-1).parseInt() # Convert string digits to array ints if (b[1] == b[2]) or (b[2] == b[3]) or (b[3] == b[1]): - echo("OH, I FORGOT TO TELL YOU THAT THE NUMBER I HAVE IN MIND") - echo("HAS NO TWO DIGITS THE SAME.") + echo "OH, I FORGOT TO TELL YOU THAT THE NUMBER I HAVE IN MIND" + echo "HAS NO TWO DIGITS THE SAME." # Figure out the PICOs if (a[1] == b[2]): c += 1 if (a[1] == b[3]): c += 1 @@ -51,45 +51,45 @@ proc playGame() = if (d != 3): if (c != 0): for j in 1..c: - echo("PICO") + echo "PICO" if (d != 0): for j in 1..d: - echo("FERMI") + echo "FERMI" if (c == 0) and (d == 0): - echo("BAGELS") + echo "BAGELS" # If we have 3 FERMIs, we win! else: - echo("YOU GOT IT!!!") - echo("") + echo "YOU GOT IT!!!" + echo "" wincount += 1 youwin = true break # Only invoke if we've tried 20 guesses without winning - if (youwin == false): - echo("OH WELL.") - echo("THAT'S TWENTY GUESSES. MY NUMBER WAS ", a[1], a[2], a[3]) + if not youwin: + echo "OH WELL." + echo "THAT'S TWENTY GUESSES. MY NUMBER WAS ", a[1], a[2], a[3] # main program -echo(spaces(33), "BAGELS") -echo(spaces(15), "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY") -echo("\n\n") -echo("WOULD YOU LIKE THE RULES (YES OR NO)") +echo spaces(33), "BAGELS" +echo spaces(15), "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" +echo "\n\n" +echo "WOULD YOU LIKE THE RULES (YES OR NO)" prompt = readLine(stdin).normalize() -if (prompt.substr(0, 0) == "y"): - echo("I AM THINKING OF A THREE-DIGIT NUMBER. TRY TO GUESS") - echo("MY NUMBER AND I WILL GIVE YOU CLUES AS FOLLOWS:") - echo(" PICO - ONE DIGIT CORRECT BUT IN THE WRONG POSITION") - echo(" FERMI - ONE DIGIT CORRECT AND IN THE RIGHT POSITION") - echo(" BAGELS - NO DIGITS CORRECT") - echo("") +if prompt.substr(0, 0) == "y": + echo "I AM THINKING OF A THREE-DIGIT NUMBER. TRY TO GUESS" + echo "MY NUMBER AND I WILL GIVE YOU CLUES AS FOLLOWS:" + echo " PICO - ONE DIGIT CORRECT BUT IN THE WRONG POSITION" + echo " FERMI - ONE DIGIT CORRECT AND IN THE RIGHT POSITION" + echo " BAGELS - NO DIGITS CORRECT" + echo "" while(stillplaying == true): playGame() - echo("PLAY AGAIN (YES OR NO)") + echo "PLAY AGAIN (YES OR NO)" prompt = readLine(stdin).normalize() - if (prompt.substr(0, 0) != "y"): + if prompt.substr(0, 0) != "y": stillplaying = false if wincount > 0: - echo("") - echo("A ", wincount, " POINT BAGELS BUFF!!") -echo("") -echo("HOPE YOU HAD FUN. BYE.") + echo "" + echo "A ", wincount, " POINT BAGELS BUFF!!" +echo "" +echo "HOPE YOU HAD FUN. BYE." diff --git a/00_Alternate_Languages/33_Dice/nim/dice.nim b/00_Alternate_Languages/33_Dice/nim/dice.nim index a1e5fa45..f19903a1 100644 --- a/00_Alternate_Languages/33_Dice/nim/dice.nim +++ b/00_Alternate_Languages/33_Dice/nim/dice.nim @@ -6,17 +6,17 @@ var z: string retry: bool = true -echo(spaces(34), "DICE") -echo(spaces(15), "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY") -echo("\n") -echo("THIS PROGRAM SIMULATES THE ROLLING OF A PAIR OF DICE.") -echo("YOU ENTER THE NUMBER OF TIMES YOU WANT THE COMPUTER TO") -echo("'ROLL' THE DICE. WATCH OUT, VERY LARGE NUMBERS TAKE") -echo("A LONG TIME. IN PARTICULAR, NUMBERS OVER 5000.") +echo spaces(34), "DICE" +echo spaces(15), "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" +echo "\n" +echo "THIS PROGRAM SIMULATES THE ROLLING OF A PAIR OF DICE." +echo "YOU ENTER THE NUMBER OF TIMES YOU WANT THE COMPUTER TO" +echo "'ROLL' THE DICE. WATCH OUT, VERY LARGE NUMBERS TAKE" +echo "A LONG TIME. IN PARTICULAR, NUMBERS OVER 5000." while(retry): - echo("\n") - echo("HOW MANY ROLLS") + echo "\n" + echo "HOW MANY ROLLS" x = readLine(stdin).parseInt() for v in 2..12: f[v] = 0 # Initialize array to 0 @@ -25,14 +25,11 @@ while(retry): b = rand(1..6) # Die 2 r = a + b # Sum of dice f[r] += 1 # Increment array count of dice sum result - echo() - echo("TOTAL SPOTS: ", "NUMBER OF TIMES") + echo "" + echo "TOTAL SPOTS: ", "NUMBER OF TIMES" for v in 2..12: - echo(v, ": ", f[v]) # Print out counts for each possible result - echo("\n") - echo("TRY AGAIN?") + echo v, ": ", f[v] # Print out counts for each possible result + echo "\n" + echo "TRY AGAIN?" z = readLine(stdin).normalize() - if (z=="yes") or (z=="y"): - retry = true - else: - retry = false + retry = (z=="yes") or (z=="y")