gitextract_eq2gu5pa/ ├── .coveragerc ├── .github/ │ └── workflows/ │ ├── check-python.yml │ ├── file-size.yml │ └── rust.yml ├── .gitignore ├── .nojekyll ├── .pre-commit-config.yaml ├── 00_Alternate_Languages/ │ ├── 01_Acey_Ducey/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── aceyducey.ms │ │ ├── README.md │ │ ├── aceyducey.bas │ │ ├── c++/ │ │ │ ├── README.md │ │ │ ├── build/ │ │ │ │ ├── x64/ │ │ │ │ │ ├── Debug/ │ │ │ │ │ │ └── aceyducey.pdb │ │ │ │ │ └── Release/ │ │ │ │ │ └── aceyducey.pdb │ │ │ │ └── x86/ │ │ │ │ ├── Debug/ │ │ │ │ │ └── aceyducey.pdb │ │ │ │ └── Release/ │ │ │ │ └── aceyducey.pdb │ │ │ └── source/ │ │ │ ├── Aceyducey.cpp │ │ │ └── Aceyducey.h │ │ ├── d/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── aceyducey.d │ │ │ └── aceyducey_literal.d │ │ ├── elm/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── docs/ │ │ │ │ ├── app.js │ │ │ │ └── index.html │ │ │ ├── elm.json │ │ │ ├── package.json │ │ │ ├── resources/ │ │ │ │ └── index.html │ │ │ └── src/ │ │ │ └── Main.elm │ │ ├── go/ │ │ │ └── main.go │ │ ├── nim/ │ │ │ └── aceyducey.nim │ │ └── pascal/ │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── README.md │ │ ├── object-pascal/ │ │ │ ├── aceyducey.lpi │ │ │ ├── aceyducey.pas │ │ │ ├── deck.pas │ │ │ └── game.pas │ │ └── simple/ │ │ ├── aceyducey.lpi │ │ └── aceyducey.pas │ ├── 02_Amazing/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── amazing.ms │ │ ├── README.md │ │ ├── amazing.bas │ │ ├── go/ │ │ │ └── main.go │ │ └── pascal/ │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── README.md │ │ ├── object-pascal/ │ │ │ ├── amazing.lpi │ │ │ ├── amazing.pas │ │ │ ├── amazingapplication.pas │ │ │ ├── maze.pas │ │ │ └── room.pas │ │ └── simple/ │ │ ├── amazing.lpi │ │ └── amazing.pas │ ├── 03_Animal/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── animal.ms │ │ ├── README.md │ │ ├── animal.bas │ │ └── go/ │ │ └── main.go │ ├── 04_Awari/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── awari.ms │ │ ├── README.md │ │ ├── awari.bas │ │ └── elm/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── docs/ │ │ │ └── index.html │ │ ├── elm.json │ │ ├── package.json │ │ ├── resources/ │ │ │ └── index.html │ │ └── src/ │ │ └── Main.elm │ ├── 05_Bagels/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── bagels.ms │ │ ├── README.md │ │ ├── bagels.bas │ │ ├── go/ │ │ │ └── main.go │ │ └── nim/ │ │ └── bagels.nim │ ├── 06_Banner/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── banner.ms │ │ ├── README.md │ │ └── banner.bas │ ├── 07_Basketball/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── basketball.ms │ │ ├── README.md │ │ └── basketball.bas │ ├── 08_Batnum/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── batnum.ms │ │ ├── README.md │ │ ├── batnum.bas │ │ └── go/ │ │ └── main.go │ ├── 09_Battle/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── battle.ms │ │ ├── README.md │ │ ├── battle.bas │ │ └── go/ │ │ └── main.go │ ├── 10_Blackjack/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── blackjack.ms │ │ ├── README.md │ │ ├── blackjack.bas │ │ └── pascal/ │ │ └── README.md │ ├── 11_Bombardment/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── bombardment.ms │ │ ├── README.md │ │ ├── bombardment.bas │ │ └── go/ │ │ └── main.go │ ├── 12_Bombs_Away/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── bombsaway.ms │ │ ├── README.md │ │ ├── bombsaway.bas │ │ └── go/ │ │ └── main.go │ ├── 13_Bounce/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── bounce.ms │ │ ├── README.md │ │ └── bounce.bas │ ├── 14_Bowling/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── bowling.ms │ │ ├── README.md │ │ └── bowling.bas │ ├── 15_Boxing/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── boxing.ms │ │ ├── README.md │ │ └── boxing.bas │ ├── 16_Bug/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── bug.ms │ │ ├── README.md │ │ └── bug.bas │ ├── 17_Bullfight/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── bull.ms │ │ ├── README.md │ │ └── bullfight.bas │ ├── 18_Bullseye/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── bullseye.ms │ │ ├── README.md │ │ └── bullseye.bas │ ├── 19_Bunny/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── bunny.ms │ │ ├── README.md │ │ └── bunny.bas │ ├── 20_Buzzword/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── buzzword.ms │ │ ├── README.md │ │ ├── buzzword.bas │ │ ├── go/ │ │ │ └── main.go │ │ └── nim/ │ │ └── buzzword.nim │ ├── 21_Calendar/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── calendar.ms │ │ ├── README.md │ │ └── calendar.bas │ ├── 22_Change/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── change.ms │ │ ├── README.md │ │ ├── change.bas │ │ └── go/ │ │ └── main.go │ ├── 23_Checkers/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── checkers.ms │ │ ├── README.md │ │ ├── checkers.annotated.bas │ │ └── checkers.bas │ ├── 24_Chemist/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── chemist.ms │ │ ├── README.md │ │ └── chemist.bas │ ├── 25_Chief/ │ │ ├── C/ │ │ │ └── chief.c │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── chief.ms │ │ ├── README.md │ │ ├── chief.bas │ │ └── go/ │ │ └── main.go │ ├── 26_Chomp/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── chomp.ms │ │ ├── README.md │ │ └── chomp.bas │ ├── 27_Civil_War/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── civilwar.ms │ │ ├── README.md │ │ └── civilwar.bas │ ├── 28_Combat/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── combat.ms │ │ ├── README.md │ │ └── combat.bas │ ├── 29_Craps/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── craps.ms │ │ ├── README.md │ │ ├── craps.bas │ │ ├── distributions.bas │ │ └── nim/ │ │ └── craps.nim │ ├── 30_Cube/ │ │ ├── C/ │ │ │ └── cube.c │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── cube.ms │ │ ├── README.md │ │ └── cube.bas │ ├── 31_Depth_Charge/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── depthcharge.ms │ │ ├── README.md │ │ ├── depthcharge.bas │ │ └── go/ │ │ └── main.go │ ├── 32_Diamond/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── diamond.ms │ │ ├── README.md │ │ └── diamond.bas │ ├── 33_Dice/ │ │ ├── C/ │ │ │ └── dice.c │ │ ├── Julia/ │ │ │ ├── Dice.jl │ │ │ └── README.md │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── dice.ms │ │ ├── README.md │ │ ├── dice.bas │ │ ├── go/ │ │ │ └── main.go │ │ └── nim/ │ │ └── dice.nim │ ├── 34_Digits/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── digits.ms │ │ ├── README.md │ │ ├── digits.bas │ │ └── go/ │ │ └── main.go │ ├── 35_Even_Wins/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ ├── evenwins.ms │ │ │ └── gameofevenwins.ms │ │ ├── README.md │ │ ├── evenwins.bas │ │ ├── gameofevenwins.bas │ │ └── go/ │ │ └── evenwins.go │ ├── 36_Flip_Flop/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── flipflop.ms │ │ ├── README.md │ │ └── flipflop.bas │ ├── 37_Football/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ ├── football.ms │ │ │ └── ftball.ms │ │ ├── README.md │ │ ├── football.bas │ │ └── ftball.bas │ ├── 38_Fur_Trader/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── furtrader.ms │ │ ├── README.md │ │ ├── c/ │ │ │ ├── README.md │ │ │ └── furtrader.c │ │ ├── furtrader.bas │ │ └── go/ │ │ └── main.go │ ├── 39_Golf/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── golf.ms │ │ ├── README.md │ │ └── golf.bas │ ├── 40_Gomoko/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── gomoko.ms │ │ ├── README.md │ │ └── gomoko.bas │ ├── 41_Guess/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── guess.ms │ │ ├── README.md │ │ ├── go/ │ │ │ └── main.go │ │ └── guess.bas │ ├── 42_Gunner/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── gunner.ms │ │ ├── README.md │ │ ├── go/ │ │ │ └── main.go │ │ └── gunner.bas │ ├── 43_Hammurabi/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── hammurabi.ms │ │ ├── README.md │ │ └── hammurabi.bas │ ├── 44_Hangman/ │ │ ├── C/ │ │ │ ├── dictionary.txt │ │ │ └── main.c │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── hangman.ms │ │ ├── README.md │ │ └── hangman.bas │ ├── 45_Hello/ │ │ ├── ANSI_C/ │ │ │ └── hello.c │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── hello.ms │ │ ├── README.md │ │ ├── Swift/ │ │ │ └── hello.swift │ │ ├── go/ │ │ │ └── main.go │ │ ├── hello.bas │ │ └── hello.c │ ├── 46_Hexapawn/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── hexapawn.ms │ │ ├── README.md │ │ └── hexapawn.bas │ ├── 47_Hi-Lo/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── hi-lo.ms │ │ ├── README.md │ │ ├── go/ │ │ │ └── main.go │ │ └── hi-lo.bas │ ├── 48_High_IQ/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── highiq.ms │ │ ├── README.md │ │ └── highiq.bas │ ├── 49_Hockey/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── hockey.ms │ │ ├── README.md │ │ └── hockey.bas │ ├── 50_Horserace/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── horserace.ms │ │ ├── README.md │ │ └── horserace.bas │ ├── 51_Hurkle/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── hurkle.ms │ │ ├── README.md │ │ └── hurkle.bas │ ├── 52_Kinema/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── kinema.ms │ │ ├── README.md │ │ └── kinema.bas │ ├── 53_King/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── king.ms │ │ ├── README.md │ │ ├── king.bas │ │ └── king_variable_update.bas │ ├── 54_Letter/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── letter.ms │ │ ├── README.md │ │ └── letter.bas │ ├── 55_Life/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── life.ms │ │ ├── README.md │ │ └── life.bas │ ├── 56_Life_for_Two/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── lifefortwo.ms │ │ ├── README.md │ │ └── lifefortwo.bas │ ├── 57_Literature_Quiz/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── litquiz.ms │ │ ├── README.md │ │ └── litquiz.bas │ ├── 58_Love/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── love.ms │ │ ├── README.md │ │ └── love.bas │ ├── 59_Lunar_LEM_Rocket/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ ├── lem.ms │ │ │ ├── lunar.ms │ │ │ └── rocket.ms │ │ ├── README.md │ │ ├── lem.bas │ │ ├── lunar.bas │ │ └── rocket.bas │ ├── 60_Mastermind/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── mastermind.ms │ │ ├── README.md │ │ └── mastermind.bas │ ├── 61_Math_Dice/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── mathdice.ms │ │ ├── README.md │ │ ├── mathdice.bas │ │ └── pascal/ │ │ ├── README.md │ │ └── mathdice.pas │ ├── 62_Mugwump/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── mugwump.ms │ │ ├── README.md │ │ └── mugwump.bas │ ├── 63_Name/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── name.ms │ │ ├── README.md │ │ └── name.bas │ ├── 64_Nicomachus/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── nicomachus.ms │ │ ├── README.md │ │ └── nicomachus.bas │ ├── 65_Nim/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── nim.ms │ │ ├── README.md │ │ └── nim.bas │ ├── 66_Number/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── number.ms │ │ ├── README.md │ │ └── number.bas │ ├── 67_One_Check/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── onecheck.ms │ │ ├── README.md │ │ └── onecheck.bas │ ├── 68_Orbit/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── orbit.ms │ │ ├── README.md │ │ └── orbit.bas │ ├── 69_Pizza/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── pizza.ms │ │ ├── README.md │ │ └── pizza.bas │ ├── 70_Poetry/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── poetry.ms │ │ ├── README.md │ │ ├── poetry.bas │ │ └── poetry.pl │ ├── 71_Poker/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── poker.ms │ │ ├── README.md │ │ └── poker.bas │ ├── 72_Queen/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── queen.ms │ │ ├── README.md │ │ └── queen.bas │ ├── 73_Reverse/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── reverse.ms │ │ ├── README.md │ │ └── reverse.bas │ ├── 74_Rock_Scissors_Paper/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── rockscissors.ms │ │ ├── README.md │ │ ├── bash/ │ │ │ └── rockscissors.sh │ │ ├── nim/ │ │ │ └── rockscissors.nim │ │ └── rockscissors.bas │ ├── 75_Roulette/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── roulette.ms │ │ ├── README.md │ │ └── roulette.bas │ ├── 76_Russian_Roulette/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── russianroulette.ms │ │ ├── README.md │ │ └── russianroulette.bas │ ├── 77_Salvo/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── salvo.ms │ │ ├── README.md │ │ └── salvo.bas │ ├── 78_Sine_Wave/ │ │ ├── C++/ │ │ │ ├── README.md │ │ │ └── sinewave.cpp │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── sinewave.ms │ │ ├── README.md │ │ ├── pascal/ │ │ │ └── sinewave.pas │ │ └── sinewave.bas │ ├── 79_Slalom/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── slalom.ms │ │ ├── README.md │ │ └── slalom.bas │ ├── 80_Slots/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── slots.ms │ │ ├── README.md │ │ └── slots.bas │ ├── 81_Splat/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── splat.ms │ │ ├── README.md │ │ └── splat.bas │ ├── 82_Stars/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── stars.ms │ │ ├── README.md │ │ └── stars.bas │ ├── 83_Stock_Market/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── stockmarket.ms │ │ ├── README.md │ │ └── stockmarket.bas │ ├── 84_Super_Star_Trek/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── superstartrek.ms │ │ ├── README.md │ │ ├── instructions.txt │ │ ├── superstartrek.bas │ │ └── superstartrekins.bas │ ├── 85_Synonym/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── synonym.ms │ │ ├── README.md │ │ └── synonym.bas │ ├── 86_Target/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── target.ms │ │ ├── README.md │ │ └── target.bas │ ├── 87_3-D_Plot/ │ │ ├── 3dplot.bas │ │ ├── MiniScript/ │ │ │ ├── 3dplot.ms │ │ │ └── README.md │ │ ├── README.md │ │ └── d/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── threedeeplot.d │ │ └── threedeeplot_random.d │ ├── 88_3-D_Tic-Tac-Toe/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── qubit.ms │ │ ├── README.md │ │ └── qubit.bas │ ├── 89_Tic-Tac-Toe/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ ├── tictactoe.ms │ │ │ └── tictactoe2.ms │ │ ├── README.md │ │ ├── go/ │ │ │ ├── README.md │ │ │ └── src/ │ │ │ └── tictactoe1.go │ │ ├── pascal/ │ │ │ ├── README.md │ │ │ └── tictactoe1.pas │ │ ├── tictactoe1.bas │ │ └── tictactoe2.bas │ ├── 90_Tower/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── tower.ms │ │ ├── README.md │ │ └── tower.bas │ ├── 91_Train/ │ │ ├── D/ │ │ │ ├── README.md │ │ │ └── train.d │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── train.ms │ │ ├── README.md │ │ ├── nim/ │ │ │ └── train.nim │ │ └── train.bas │ ├── 92_Trap/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── trap.ms │ │ ├── README.md │ │ └── trap.bas │ ├── 93_23_Matches/ │ │ ├── 23matches.bas │ │ ├── MiniScript/ │ │ │ ├── 23matches.ms │ │ │ └── README.md │ │ └── README.md │ ├── 94_War/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── war.ms │ │ ├── README.md │ │ ├── d/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ └── war.d │ │ └── war.bas │ ├── 95_Weekday/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── weekday.ms │ │ ├── README.md │ │ └── weekday.bas │ ├── 96_Word/ │ │ ├── MiniScript/ │ │ │ ├── README.md │ │ │ └── word.ms │ │ ├── README.md │ │ └── word.bas │ └── README.md ├── 00_Common/ │ ├── BASIC_Tests/ │ │ ├── InputTest.bas │ │ ├── OutputTest.bas │ │ └── RndTest.bas │ ├── README.md │ ├── dotnet/ │ │ ├── Directory.Build.props │ │ ├── Games.Common/ │ │ │ ├── Games.Common.csproj │ │ │ ├── IO/ │ │ │ │ ├── ConsoleIO.cs │ │ │ │ ├── IReadWrite.cs │ │ │ │ ├── InsufficientInputException.cs │ │ │ │ ├── Strings.cs │ │ │ │ ├── TextIO.cs │ │ │ │ ├── Token.cs │ │ │ │ ├── TokenReader.cs │ │ │ │ └── Tokenizer.cs │ │ │ ├── Numbers/ │ │ │ │ └── Number.cs │ │ │ ├── Randomness/ │ │ │ │ ├── IRandom.cs │ │ │ │ ├── IRandomExtensions.cs │ │ │ │ └── RandomNumberGenerator.cs │ │ │ └── _InternalsVisibleTo.cs │ │ ├── Games.Common.Test/ │ │ │ ├── Games.Common.Test.csproj │ │ │ └── IO/ │ │ │ ├── TextIOTests/ │ │ │ │ ├── NumberFormatTests.cs │ │ │ │ └── ReadMethodTests.cs │ │ │ ├── TokenReaderTests.cs │ │ │ ├── TokenTests.cs │ │ │ └── TokenizerTests.cs │ │ ├── Games.Common.sln │ │ └── README.md │ └── javascript/ │ ├── WebTerminal/ │ │ ├── HtmlTerminal.css │ │ ├── HtmlTerminal.js │ │ ├── terminal.html │ │ └── terminal_tests.mjs │ └── common.mjs ├── 00_Utilities/ │ ├── DotnetUtils/ │ │ ├── .editorconfig │ │ ├── DotnetUtils/ │ │ │ ├── DotnetUtils.csproj │ │ │ ├── Extensions.cs │ │ │ ├── Functions.cs │ │ │ ├── Globals.cs │ │ │ ├── Methods.cs │ │ │ ├── PortInfo.cs │ │ │ ├── PortInfos.cs │ │ │ └── Program.cs │ │ └── DotnetUtils.sln │ ├── README.md │ ├── TODO.md │ ├── VintageBASIC.xml │ ├── bas2perl.pl │ ├── build-index.js │ ├── find-missing-implementations.js │ ├── find-unimplemented.js │ ├── javascript/ │ │ └── style_terminal.css │ ├── jvmTestUtils/ │ │ └── kotlin/ │ │ └── test/ │ │ └── ConsoleTest.kt │ ├── markdown_todo.py │ ├── markdown_todo_rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ ├── python/ │ │ ├── ci-requirements.in │ │ └── ci-requirements.txt │ └── yatol.pl ├── 01_Acey_Ducey/ │ ├── README.md │ ├── aceyducey.bas │ ├── csharp/ │ │ ├── AceyDucey.csproj │ │ ├── AceyDucey.sln │ │ ├── Game.cs │ │ ├── GameState.cs │ │ ├── Program.cs │ │ └── README.md │ ├── elixir/ │ │ └── acey_ducey.exs │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── AceyDucey.java │ │ ├── AceyDucey17.java │ │ ├── AceyDuceyGame.java │ │ └── Card.java │ ├── javascript/ │ │ ├── .prettierrc.json │ │ ├── README.md │ │ ├── aceyducey.html │ │ └── aceyducey.js │ ├── kotlin/ │ │ └── aceyducey.kt │ ├── lua/ │ │ ├── README.md │ │ └── acey_ducey.lua │ ├── perl/ │ │ ├── README.md │ │ └── aceyducey.pl │ ├── python/ │ │ ├── README.md │ │ ├── acey_ducey.py │ │ └── acey_ducey_oo.py │ ├── ruby/ │ │ ├── README.md │ │ └── aceyducey.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── AceyDucey.sln │ ├── AceyDucey.vb │ ├── AceyDucey.vbproj │ ├── Program.vb │ └── README.md ├── 02_Amazing/ │ ├── README.md │ ├── amazing.bas │ ├── csharp/ │ │ ├── Amazing.cs │ │ ├── Amazing.csproj │ │ ├── Amazing.sln │ │ └── README.md │ ├── java/ │ │ ├── Amazing.java │ │ ├── AmazingGame.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── amazing.html │ │ └── amazing.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── amazing.pl │ ├── python/ │ │ ├── README.md │ │ └── amazing.py │ ├── ruby/ │ │ ├── README.md │ │ └── amazing.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Amazing.sln │ ├── Amazing.vbproj │ ├── README.md │ └── program.vb ├── 03_Animal/ │ ├── README.md │ ├── animal.bas │ ├── csharp/ │ │ ├── Animal.csproj │ │ ├── Animal.sln │ │ ├── Branch.cs │ │ ├── Program.cs │ │ └── README.md │ ├── java/ │ │ ├── README.md │ │ ├── src/ │ │ │ └── Animal.java │ │ └── test/ │ │ └── AnimalJavaTest.kt │ ├── javascript/ │ │ ├── README.md │ │ ├── animal.html │ │ └── animal.js │ ├── kotlin/ │ │ ├── README.md │ │ ├── src/ │ │ │ └── Animal.kt │ │ └── test/ │ │ └── AnimalKtTest.kt │ ├── lua/ │ │ ├── Animal.lua │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── animal.pl │ ├── python/ │ │ ├── README.md │ │ └── animal.py │ ├── ruby/ │ │ ├── README.md │ │ └── animal.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Animal/ │ │ ├── Animal.vbproj │ │ ├── Branch.vb │ │ ├── Game.vb │ │ ├── Program.vb │ │ └── Shared/ │ │ ├── ConsoleAdapter.vb │ │ ├── ConsoleAdapterBase.vb │ │ └── Extensions.vb │ ├── Animal.Tests/ │ │ ├── Animal.Tests.vbproj │ │ ├── EndOfInputsException.vb │ │ ├── MockConsole.vb │ │ └── TestContainer.vb │ ├── Animal.sln │ └── README.md ├── 04_Awari/ │ ├── README.md │ ├── awari.bas │ ├── csharp/ │ │ ├── Awari.csproj │ │ ├── Awari.sln │ │ ├── Game.cs │ │ ├── Program.cs │ │ └── README.md │ ├── java/ │ │ ├── Awari.java │ │ ├── AwariGame.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── awari.html │ │ └── awari.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── awari.pl │ ├── python/ │ │ ├── README.md │ │ └── awari.py │ ├── ruby/ │ │ ├── README.md │ │ └── awari.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Awari.sln │ ├── Awari.vbproj │ └── README.md ├── 05_Bagels/ │ ├── README.md │ ├── bagels.bas │ ├── csharp/ │ │ ├── BagelNumber.cs │ │ ├── Bagels.csproj │ │ ├── Bagels.sln │ │ ├── Game.cs │ │ ├── GameBase.cs │ │ ├── Program.cs │ │ └── README.md │ ├── java/ │ │ ├── BagelGame.java │ │ ├── Bagels.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── bagels.html │ │ └── bagels.js │ ├── kotlin/ │ │ ├── README.md │ │ └── bagels.kt │ ├── lua/ │ │ ├── Bagels.lua │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── bagels.pl │ ├── python/ │ │ ├── README.md │ │ └── bagels.py │ ├── ruby/ │ │ ├── README.md │ │ └── bagels.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Bagels.sln │ ├── Bagels.vbproj │ └── README.md ├── 06_Banner/ │ ├── README.md │ ├── banner.bas │ ├── csharp/ │ │ ├── README.md │ │ ├── banner.cs │ │ ├── banner.csproj │ │ └── banner.sln │ ├── java/ │ │ ├── Banner.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── banner.html │ │ └── banner.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── pascal/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── banner.pl │ ├── python/ │ │ ├── README.md │ │ └── banner.py │ ├── ruby/ │ │ ├── README.md │ │ └── banner.rb │ └── vbnet/ │ ├── README.md │ ├── banner.sln │ ├── banner.vb │ └── banner.vbproj ├── 07_Basketball/ │ ├── README.md │ ├── basketball.bas │ ├── csharp/ │ │ ├── Basketball.csproj │ │ ├── Basketball.sln │ │ ├── Clock.cs │ │ ├── Defense.cs │ │ ├── Game.cs │ │ ├── IRandomExtensions.cs │ │ ├── IReadWriteExtensions.cs │ │ ├── JumpShot.cs │ │ ├── Plays/ │ │ │ ├── BallContest.cs │ │ │ ├── HomeTeamPlay.cs │ │ │ ├── Play.cs │ │ │ └── VisitingTeamPlay.cs │ │ ├── Probably.cs │ │ ├── Program.cs │ │ ├── README.md │ │ ├── Resources/ │ │ │ ├── EndOfFirstHalf.txt │ │ │ ├── EndOfGame.txt │ │ │ ├── EndOfSecondHalf.txt │ │ │ ├── Introduction.txt │ │ │ ├── Resource.cs │ │ │ ├── Score.txt │ │ │ └── TwoMinutesLeft.txt │ │ ├── Scoreboard.cs │ │ ├── Shot.cs │ │ └── Team.cs │ ├── java/ │ │ ├── Basketball.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── basketball.html │ │ └── basketball.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── pascal/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ ├── basketball-orig.pl │ │ └── basketball.pl │ ├── python/ │ │ ├── README.md │ │ └── basketball.py │ ├── ruby/ │ │ ├── README.md │ │ └── basketball.rb │ └── vbnet/ │ ├── Basketball.sln │ ├── Basketball.vbproj │ └── README.md ├── 08_Batnum/ │ ├── README.md │ ├── batnum.bas │ ├── csharp/ │ │ ├── Batnum.csproj │ │ ├── Batnum.sln │ │ ├── BatnumGame.cs │ │ ├── ConsoleUtilities.cs │ │ ├── Program.cs │ │ ├── Properties/ │ │ │ ├── Resources.Designer.cs │ │ │ ├── Resources.en.resx │ │ │ ├── Resources.fr.resx │ │ │ └── Resources.resx │ │ └── README.md │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── BatNum.java │ │ └── BatNumGame.java │ ├── javascript/ │ │ ├── README.md │ │ ├── batnum.html │ │ └── batnum.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── pascal/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── batnum.pl │ ├── python/ │ │ ├── README.md │ │ └── batnum.py │ ├── ruby/ │ │ ├── README.md │ │ └── batnum.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Program.vb │ ├── README.md │ ├── batnum.sln │ └── batnum.vbproj ├── 09_Battle/ │ ├── README.md │ ├── battle.bas │ ├── csharp/ │ │ ├── Battle.csproj │ │ ├── Battle.sln │ │ ├── Game.cs │ │ ├── Program.cs │ │ └── README.md │ ├── java/ │ │ ├── .gitignore │ │ ├── Battle.java │ │ ├── Input.java │ │ ├── README.md │ │ ├── Sea.java │ │ └── Ship.java │ ├── javascript/ │ │ ├── README.md │ │ ├── battle.html │ │ └── battle.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── pascal/ │ │ └── README.md │ ├── perl/ │ │ └── README.md │ ├── python/ │ │ ├── README.md │ │ └── battle.py │ ├── ruby/ │ │ └── README.md │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Battle.sln │ ├── Battle.vbproj │ └── README.md ├── 10_Blackjack/ │ ├── README.md │ ├── blackjack.bas │ ├── csharp/ │ │ ├── Blackjack.csproj │ │ ├── Blackjack.sln │ │ ├── Card.cs │ │ ├── Deck.cs │ │ ├── Game.cs │ │ ├── Hand.cs │ │ ├── Player.cs │ │ ├── Program.cs │ │ ├── Prompt.cs │ │ └── README.md │ ├── java/ │ │ ├── README.md │ │ ├── src/ │ │ │ ├── Blackjack.java │ │ │ ├── Card.java │ │ │ ├── Deck.java │ │ │ ├── Game.java │ │ │ ├── Player.java │ │ │ ├── ScoringUtils.java │ │ │ └── UserIo.java │ │ └── test/ │ │ ├── DeckTest.java │ │ ├── GameTest.java │ │ ├── ScoringUtilsTest.java │ │ └── UserIoTest.java │ ├── javascript/ │ │ ├── README.md │ │ ├── blackjack.html │ │ └── blackjack.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ └── README.md │ ├── python/ │ │ ├── README.md │ │ └── blackjack.py │ ├── ruby/ │ │ ├── README.md │ │ ├── blackjack.rb │ │ ├── game.rb │ │ └── model/ │ │ ├── card_kind.rb │ │ ├── hand.rb │ │ ├── pack.rb │ │ └── player.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Blackjack.sln │ ├── Blackjack.vbproj │ └── README.md ├── 11_Bombardment/ │ ├── README.md │ ├── bombardment.bas │ ├── csharp/ │ │ ├── Bombardment.cs │ │ ├── Bombardment.csproj │ │ ├── Bombardment.sln │ │ ├── Program.cs │ │ └── README.md │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── Bombardment.java │ │ └── BombardmentGame.java │ ├── javascript/ │ │ ├── README.md │ │ ├── bombardment.html │ │ └── bombardment.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── bombardment.pl │ ├── python/ │ │ ├── README.md │ │ └── bombardment.py │ ├── ruby/ │ │ ├── README.md │ │ └── bombardment.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Bombardment.sln │ ├── Bombardment.vbproj │ └── README.md ├── 12_Bombs_Away/ │ ├── README.md │ ├── bombsaway.bas │ ├── csharp/ │ │ ├── BombsAway.sln │ │ ├── BombsAwayConsole/ │ │ │ ├── BombsAwayConsole.csproj │ │ │ ├── ConsoleUserInterface.cs │ │ │ └── Program.cs │ │ ├── BombsAwayGame/ │ │ │ ├── AlliesSide.cs │ │ │ ├── BombsAwayGame.csproj │ │ │ ├── EnemyArtillery.cs │ │ │ ├── Game.cs │ │ │ ├── GermanySide.cs │ │ │ ├── IUserInterface.cs │ │ │ ├── ItalySide.cs │ │ │ ├── JapanSide.cs │ │ │ ├── Mission.cs │ │ │ ├── MissionSide.cs │ │ │ └── Side.cs │ │ └── README.md │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── BombsAway.java │ │ └── BombsAwayGame.java │ ├── javascript/ │ │ ├── README.md │ │ ├── bombsaway.html │ │ └── bombsaway.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ ├── README.md │ │ └── bombs_away.lua │ ├── perl/ │ │ ├── README.md │ │ └── bombsaway.pl │ ├── python/ │ │ ├── README.md │ │ └── bombs_away.py │ ├── ruby/ │ │ └── README.md │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── BombsAway.sln │ ├── BombsAway.vbproj │ └── README.md ├── 13_Bounce/ │ ├── README.md │ ├── bounce.bas │ ├── csharp/ │ │ ├── Bounce.cs │ │ ├── Bounce.csproj │ │ ├── Bounce.sln │ │ ├── Game.cs │ │ ├── Graph.cs │ │ ├── IReadWriteExtensions.cs │ │ ├── Program.cs │ │ ├── README.md │ │ └── Resources/ │ │ ├── Instructions.txt │ │ ├── Resource.cs │ │ └── Title.txt │ ├── java/ │ │ ├── Bounce.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── bounce.html │ │ └── bounce.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── bounce.pl │ ├── python/ │ │ ├── README.md │ │ └── bounce.py │ ├── ruby/ │ │ ├── README.md │ │ └── bounce.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Bounce.sln │ ├── Bounce.vbproj │ └── README.md ├── 14_Bowling/ │ ├── README.md │ ├── bowling.bas │ ├── csharp/ │ │ ├── Bowling.cs │ │ ├── Bowling.csproj │ │ ├── Bowling.sln │ │ ├── FrameResult.cs │ │ ├── GameResults.cs │ │ ├── Pins.cs │ │ ├── Program.cs │ │ ├── README.md │ │ └── Utility.cs │ ├── java/ │ │ ├── Bowling.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── bowling.html │ │ └── bowling.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── bowling.pl │ ├── python/ │ │ ├── README.md │ │ └── bowling.py │ ├── ruby/ │ │ └── README.md │ └── vbnet/ │ ├── Bowling.sln │ ├── Bowling.vbproj │ └── README.md ├── 15_Boxing/ │ ├── README.md │ ├── boxing.bas │ ├── csharp/ │ │ ├── AttackStrategy.cs │ │ ├── Boxer.cs │ │ ├── Boxing.csproj │ │ ├── Boxing.sln │ │ ├── OpponentAttackStrategy.cs │ │ ├── PlayerAttackStrategy.cs │ │ ├── Program.cs │ │ ├── Punch.cs │ │ ├── README.md │ │ ├── Round.cs │ │ └── Utils.cs │ ├── java/ │ │ ├── Basic.java │ │ ├── Boxing.java │ │ ├── BoxingGame.java │ │ ├── GameSession.java │ │ ├── Player.java │ │ ├── Punch.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── boxing.html │ │ └── boxing.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── boxing.pl │ ├── python/ │ │ ├── README.md │ │ ├── boxing.py │ │ ├── opponent-profile.json │ │ └── player-profile.json │ ├── ruby/ │ │ └── README.md │ └── vbnet/ │ ├── Boxing.sln │ ├── Boxing.vbproj │ └── README.md ├── 16_Bug/ │ ├── README.md │ ├── bug.bas │ ├── csharp/ │ │ ├── Bug.cs │ │ ├── Bug.csproj │ │ ├── Bug.sln │ │ ├── Game.cs │ │ ├── Parts/ │ │ │ ├── Body.cs │ │ │ ├── Feeler.cs │ │ │ ├── Feelers.cs │ │ │ ├── Head.cs │ │ │ ├── IPart.cs │ │ │ ├── Leg.cs │ │ │ ├── Legs.cs │ │ │ ├── Neck.cs │ │ │ ├── ParentPart.cs │ │ │ ├── Part.cs │ │ │ ├── PartCollection.cs │ │ │ └── Tail.cs │ │ ├── Program.cs │ │ ├── README.md │ │ └── Resources/ │ │ ├── Instructions.txt │ │ ├── Introduction.txt │ │ ├── Message.cs │ │ ├── PlayAgain.txt │ │ └── Resource.cs │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── Bug.java │ │ ├── BugGame.java │ │ ├── ComputerBug.java │ │ ├── Insect.java │ │ └── PlayerBug.java │ ├── javascript/ │ │ ├── README.md │ │ ├── bug.html │ │ └── bug.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ └── README.md │ ├── python/ │ │ ├── README.md │ │ └── bug.py │ ├── ruby/ │ │ ├── Bug.rb │ │ └── README.md │ └── vbnet/ │ ├── Bug.sln │ ├── Bug.vbproj │ └── README.md ├── 17_Bullfight/ │ ├── README.md │ ├── bullfight.bas │ ├── csharp/ │ │ ├── Action.cs │ │ ├── ActionResult.cs │ │ ├── BullFight.cs │ │ ├── Bullfight.csproj │ │ ├── Bullfight.sln │ │ ├── Controller.cs │ │ ├── Events/ │ │ │ ├── BullCharging.cs │ │ │ ├── Event.cs │ │ │ ├── MatchCompleted.cs │ │ │ ├── MatchStarted.cs │ │ │ ├── PlayerGored.cs │ │ │ └── PlayerSurvived.cs │ │ ├── Mediator.cs │ │ ├── Program.cs │ │ ├── Quality.cs │ │ ├── README.md │ │ ├── Reward.cs │ │ ├── RiskLevel.cs │ │ └── View.cs │ ├── java/ │ │ ├── Bullfight.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── bullfight.html │ │ └── bullfight.js │ ├── kotlin/ │ │ ├── README.md │ │ └── src/ │ │ └── bullfight/ │ │ └── Main.kt │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ └── README.md │ ├── python/ │ │ ├── README.md │ │ └── bullfight.py │ ├── ruby/ │ │ └── README.md │ └── vbnet/ │ ├── Bullfight.sln │ ├── Bullfight.vbproj │ └── README.md ├── 18_Bullseye/ │ ├── README.md │ ├── bullseye.bas │ ├── csharp/ │ │ ├── Bullseye.csproj │ │ ├── Bullseye.sln │ │ ├── BullseyeGame.cs │ │ ├── Player.cs │ │ ├── Program.cs │ │ └── README.md │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── Bullseye.java │ │ ├── BullseyeGame.java │ │ ├── Player.java │ │ └── Shot.java │ ├── javascript/ │ │ ├── README.md │ │ ├── bullseye.html │ │ └── bullseye.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── bullseye.pl │ ├── python/ │ │ ├── README.md │ │ └── bullseye.py │ ├── ruby/ │ │ └── README.md │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ ├── lib.rs │ │ ├── main.rs │ │ └── note on separation of converns for rust projects.md │ └── vbnet/ │ ├── Bullseye.sln │ ├── Bullseye.vbproj │ └── README.md ├── 19_Bunny/ │ ├── README.md │ ├── bunny.bas │ ├── csharp/ │ │ ├── BasicData.cs │ │ ├── Bunny.cs │ │ ├── Bunny.csproj │ │ ├── Bunny.sln │ │ ├── Program.cs │ │ └── README.md │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ └── Bunny.java │ ├── javascript/ │ │ ├── README.md │ │ ├── bunny.html │ │ └── bunny.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── bunny.pl │ ├── python/ │ │ ├── README.md │ │ ├── bunny.py │ │ └── data.json │ ├── ruby/ │ │ ├── README.md │ │ ├── bunny-faithful.rb │ │ └── bunny-modern.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Bunny.sln │ ├── Bunny.vbproj │ └── README.md ├── 20_Buzzword/ │ ├── README.md │ ├── buzzword.bas │ ├── csharp/ │ │ ├── Buzzword.csproj │ │ ├── Buzzword.sln │ │ ├── Program.cs │ │ └── README.md │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── Buzzword.java │ │ ├── BuzzwordSupplier.java │ │ └── UserInterface.java │ ├── javascript/ │ │ ├── README.md │ │ ├── buzzword.html │ │ └── buzzword.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ ├── README.md │ │ └── buzzword.lua │ ├── perl/ │ │ ├── README.md │ │ └── buzzword.pl │ ├── python/ │ │ ├── README.md │ │ └── buzzword.py │ ├── ruby/ │ │ ├── README.md │ │ └── buzzword.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Buzzword.sln │ ├── Buzzword.vbproj │ └── README.md ├── 21_Calendar/ │ ├── README.md │ ├── calendar.bas │ ├── csharp/ │ │ ├── Calendar.csproj │ │ ├── Calendar.sln │ │ ├── Program.cs │ │ └── README.md │ ├── java/ │ │ ├── Calendar.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── calendar.html │ │ └── calendar.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── calendar.pl │ ├── python/ │ │ ├── README.md │ │ └── calendar.py │ ├── ruby/ │ │ ├── README.md │ │ └── calendar.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Calendar.sln │ ├── Calendar.vbproj │ └── README.md ├── 22_Change/ │ ├── README.md │ ├── change.bas │ ├── csharp/ │ │ ├── Change.csproj │ │ ├── Change.sln │ │ ├── Program.cs │ │ └── README.md │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── Change.java │ │ └── ChangeGame.java │ ├── javascript/ │ │ ├── README.md │ │ ├── change.html │ │ └── change.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── change.pl │ ├── python/ │ │ ├── README.md │ │ └── change.py │ ├── ruby/ │ │ └── README.md │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Change.sln │ ├── Change.vbproj │ └── README.md ├── 23_Checkers/ │ ├── README.md │ ├── checkers.annotated.bas │ ├── checkers.bas │ ├── csharp/ │ │ ├── Checkers.csproj │ │ ├── Checkers.sln │ │ ├── Program.cs │ │ └── README.md │ ├── java/ │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── checkers.html │ │ └── checkers.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── checkers.pl │ ├── python/ │ │ ├── README.md │ │ └── checkers.py │ ├── ruby/ │ │ ├── README.md │ │ └── checkers.rb │ └── vbnet/ │ ├── Checkers.sln │ ├── Checkers.vbproj │ └── README.md ├── 24_Chemist/ │ ├── README.md │ ├── chemist.bas │ ├── csharp/ │ │ ├── Chemist.csproj │ │ ├── Chemist.sln │ │ ├── Program.cs │ │ └── README.md │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── Chemist.java │ │ └── ChemistGame.java │ ├── javascript/ │ │ ├── README.md │ │ ├── chemist.html │ │ └── chemist.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── chemist.pl │ ├── python/ │ │ ├── README.md │ │ └── chemist.py │ ├── ruby/ │ │ └── README.md │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ ├── lib.rs │ │ └── main.rs │ └── vbnet/ │ ├── Chemist.sln │ ├── Chemist.vbproj │ └── README.md ├── 25_Chief/ │ ├── README.md │ ├── chief.bas │ ├── csharp/ │ │ ├── Chief.csproj │ │ ├── Chief.sln │ │ ├── Game.cs │ │ ├── IReadWriteExtensions.cs │ │ ├── Math.cs │ │ ├── Program.cs │ │ ├── README.md │ │ └── Resources/ │ │ ├── Answer.txt │ │ ├── Believe.txt │ │ ├── Bet.txt │ │ ├── Bye.txt │ │ ├── Instructions.txt │ │ ├── Lightning.txt │ │ ├── Original.txt │ │ ├── Ready.txt │ │ ├── Resource.cs │ │ ├── ShutUp.txt │ │ ├── Title.txt │ │ └── Working.txt │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── Chief.java │ │ └── ChiefGame.java │ ├── javascript/ │ │ ├── README.md │ │ ├── chief.html │ │ └── chief.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ ├── README.md │ │ └── chief.lua │ ├── perl/ │ │ ├── README.md │ │ └── chief.pl │ ├── python/ │ │ ├── README.md │ │ └── chief.py │ ├── ruby/ │ │ ├── README.md │ │ └── chief.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Chief.sln │ ├── Chief.vbproj │ └── README.md ├── 26_Chomp/ │ ├── README.md │ ├── chomp.bas │ ├── csharp/ │ │ ├── Chomp.csproj │ │ ├── Chomp.sln │ │ ├── Cookie.cs │ │ ├── Game.cs │ │ ├── IOExtensions.cs │ │ ├── PlayerNumber.cs │ │ ├── Program.cs │ │ ├── README.md │ │ └── Resources/ │ │ ├── Coordinates.txt │ │ ├── HereWeGo.txt │ │ ├── HowManyColumns.txt │ │ ├── HowManyPlayers.txt │ │ ├── HowManyRows.txt │ │ ├── Introduction.txt │ │ ├── NoFair.txt │ │ ├── Player.txt │ │ ├── Resource.cs │ │ ├── Rules.txt │ │ ├── TooManyColumns.txt │ │ ├── TooManyRows.txt │ │ └── YouLose.txt │ ├── java/ │ │ ├── Chomp.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── chomp.html │ │ └── chomp.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── chomp.pl │ ├── python/ │ │ ├── README.md │ │ └── chomp.py │ ├── ruby/ │ │ └── README.md │ └── vbnet/ │ ├── Chomp.sln │ ├── Chomp.vbproj │ └── README.md ├── 27_Civil_War/ │ ├── README.md │ ├── civilwar.bas │ ├── csharp/ │ │ ├── Army.cs │ │ ├── Battle.cs │ │ ├── CivilWar.csproj │ │ ├── CivilWar.sln │ │ ├── ConsoleUtils.cs │ │ ├── GameOptions.cs │ │ ├── Program.cs │ │ └── README.md │ ├── java/ │ │ ├── .gitignore │ │ ├── README.md │ │ └── src/ │ │ └── CivilWar.java │ ├── javascript/ │ │ ├── README.md │ │ ├── civilwar.html │ │ └── civilwar.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ └── README.md │ ├── python/ │ │ ├── Civilwar.py │ │ └── README.md │ ├── ruby/ │ │ └── README.md │ └── vbnet/ │ ├── CivilWar.sln │ ├── CivilWar.vbproj │ └── README.md ├── 28_Combat/ │ ├── README.md │ ├── combat.bas │ ├── csharp/ │ │ ├── ArmedForces.cs │ │ ├── Ceasefire.cs │ │ ├── Combat.csproj │ │ ├── Combat.sln │ │ ├── Controller.cs │ │ ├── FinalCampaign.cs │ │ ├── InitialCampaign.cs │ │ ├── MilitaryBranch.cs │ │ ├── Program.cs │ │ ├── README.md │ │ ├── View.cs │ │ ├── WarResult.cs │ │ └── WarState.cs │ ├── java/ │ │ ├── Combat.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── combat.html │ │ └── combat.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── combat.pl │ ├── python/ │ │ ├── README.md │ │ └── combat.py │ ├── ruby/ │ │ └── README.md │ └── vbnet/ │ ├── Combat.sln │ ├── Combat.vbproj │ └── README.md ├── 29_Craps/ │ ├── README.md │ ├── craps.bas │ ├── csharp/ │ │ ├── .gitignore │ │ ├── Craps/ │ │ │ ├── Craps.csproj │ │ │ ├── CrapsGame.cs │ │ │ ├── Dice.cs │ │ │ ├── Program.cs │ │ │ └── UserInterface.cs │ │ ├── Craps.sln │ │ ├── CrapsTester/ │ │ │ ├── CrapsTester.csproj │ │ │ └── CrapsTests.cs │ │ └── README.md │ ├── distributions.bas │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ └── Craps.java │ ├── javascript/ │ │ ├── README.md │ │ ├── craps.html │ │ └── craps.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ ├── README.md │ │ └── craps.lua │ ├── perl/ │ │ ├── README.md │ │ └── craps.pl │ ├── python/ │ │ ├── README.md │ │ └── craps.py │ ├── ruby/ │ │ ├── README.md │ │ └── craps.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── craps_game.rs │ │ ├── main.rs │ │ └── util.rs │ └── vbnet/ │ ├── Craps.sln │ ├── Craps.vbproj │ └── README.md ├── 30_Cube/ │ ├── README.md │ ├── csharp/ │ │ ├── Cube.csproj │ │ ├── Cube.sln │ │ ├── Game.cs │ │ ├── IOExtensions.cs │ │ ├── Program.cs │ │ ├── README.md │ │ ├── RandomExtensions.cs │ │ ├── Resources/ │ │ │ ├── Balance.txt │ │ │ ├── Bang.txt │ │ │ ├── BetAgain.txt │ │ │ ├── Bust.txt │ │ │ ├── Congratulations.txt │ │ │ ├── Goodbye.txt │ │ │ ├── HowMuch.txt │ │ │ ├── IllegalMove.txt │ │ │ ├── Instructions.txt │ │ │ ├── Introduction.txt │ │ │ ├── NextMove.txt │ │ │ ├── Resource.cs │ │ │ ├── TryAgain.txt │ │ │ ├── Wager.txt │ │ │ └── YourMove.txt │ │ └── ZerosGenerator.cs │ ├── cube.bas │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ └── Cube.java │ ├── javascript/ │ │ ├── README.md │ │ ├── cube.html │ │ └── cube.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ └── README.md │ ├── python/ │ │ ├── README.md │ │ └── cube.py │ ├── ruby/ │ │ ├── README.md │ │ └── cube.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── game.rs │ │ ├── main.rs │ │ └── util.rs │ └── vbnet/ │ ├── Cube.sln │ ├── Cube.vbproj │ └── README.md ├── 31_Depth_Charge/ │ ├── README.md │ ├── csharp/ │ │ ├── Controller.cs │ │ ├── DepthCharge.csproj │ │ ├── DepthCharge.sln │ │ ├── Program.cs │ │ ├── README.md │ │ └── View.cs │ ├── depthcharge.bas │ ├── java/ │ │ ├── DepthCharge.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── depthcharge.html │ │ └── depthcharge.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── depth-charge.pl │ ├── python/ │ │ ├── README.md │ │ └── depth_charge.py │ ├── ruby/ │ │ ├── .editorconfig │ │ ├── .gitignore │ │ ├── README.md │ │ └── depthcharge.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── DepthCharge.sln │ ├── DepthCharge.vbproj │ └── README.md ├── 32_Diamond/ │ ├── README.md │ ├── csharp/ │ │ ├── Diamond.csproj │ │ ├── Diamond.sln │ │ ├── Pattern.cs │ │ ├── Program.cs │ │ ├── README.md │ │ ├── Resources/ │ │ │ ├── Introduction.txt │ │ │ ├── Resource.cs │ │ │ ├── Rules.txt │ │ │ └── TypeNumber.txt │ │ └── StringBuilderExtensions.cs │ ├── diamond.bas │ ├── java/ │ │ ├── Diamond.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── diamond.html │ │ └── diamond.js │ ├── kotlin/ │ │ ├── README.md │ │ └── diamond.kt │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── diamond.pl │ ├── python/ │ │ ├── README.md │ │ └── diamond.py │ ├── ruby/ │ │ ├── README.md │ │ └── diamond.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ ├── lib.rs │ │ └── main.rs │ └── vbnet/ │ ├── Diamond.sln │ ├── Diamond.vbproj │ └── README.md ├── 33_Dice/ │ ├── README.md │ ├── csharp/ │ │ ├── Dice.csproj │ │ ├── Dice.sln │ │ ├── Game.cs │ │ ├── Program.cs │ │ ├── README.md │ │ └── RollGenerator.cs │ ├── dice.bas │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── Dice.java │ │ └── DiceGame.java │ ├── javascript/ │ │ ├── README.md │ │ ├── dice.html │ │ └── dice.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ ├── README.md │ │ └── dice.lua │ ├── perl/ │ │ ├── README.md │ │ └── dice.pl │ ├── python/ │ │ ├── README.md │ │ └── dice.py │ ├── ruby/ │ │ ├── README.md │ │ └── dice.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Dice.sln │ ├── Dice.vbproj │ ├── README.md │ └── program.vb ├── 34_Digits/ │ ├── README.md │ ├── csharp/ │ │ ├── Digits.csproj │ │ ├── Digits.sln │ │ ├── Game.cs │ │ ├── Guesser.cs │ │ ├── IOExtensions.cs │ │ ├── Matrix.cs │ │ ├── Memory.cs │ │ ├── Program.cs │ │ ├── README.md │ │ └── Resources/ │ │ ├── ForInstructions.txt │ │ ├── GuessResult.txt │ │ ├── Headings.txt │ │ ├── IWin.txt │ │ ├── Instructions.txt │ │ ├── Introduction.txt │ │ ├── ItsATie.txt │ │ ├── Resource.cs │ │ ├── TenNumbers.txt │ │ ├── Thanks.txt │ │ ├── TryAgain.txt │ │ ├── WantToTryAgain.txt │ │ └── YouWin.txt │ ├── digits.bas │ ├── java/ │ │ ├── Digits.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── digits.html │ │ └── digits.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── digits.pl │ ├── python/ │ │ ├── Digits.py │ │ └── README.md │ ├── ruby/ │ │ └── README.md │ └── vbnet/ │ ├── Digits.sln │ ├── Digits.vbproj │ └── README.md ├── 35_Even_Wins/ │ ├── README.md │ ├── csharp/ │ │ ├── EvenWins.csproj │ │ ├── EvenWins.sln │ │ └── README.md │ ├── evenwins.bas │ ├── gameofevenwins.bas │ ├── java/ │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── evenwins.html │ │ ├── evenwins.js │ │ ├── gameofevenwins.html │ │ └── gameofevenwins.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── evenwins.pl │ ├── python/ │ │ ├── README.md │ │ └── evenwins.py │ ├── ruby/ │ │ └── README.md │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── EvenWins.sln │ ├── EvenWins.vbproj │ └── README.md ├── 36_Flip_Flop/ │ ├── README.md │ ├── csharp/ │ │ ├── FlipFlop.cs │ │ ├── FlipFlop.csproj │ │ ├── FlipFlop.sln │ │ └── README.md │ ├── flipflop.bas │ ├── java/ │ │ ├── FlipFlop.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── flipflop.html │ │ └── flipflop.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ ├── README.md │ │ └── flipflop-game.lua │ ├── perl/ │ │ ├── README.md │ │ └── flipflop.pl │ ├── python/ │ │ ├── README.md │ │ └── flipflop.py │ ├── ruby/ │ │ ├── README.md │ │ └── flipflop.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── game.rs │ │ └── main.rs │ └── vbnet/ │ ├── FlipFlop.sln │ ├── FlipFlop.vbproj │ └── README.md ├── 37_Football/ │ ├── README.md │ ├── csharp/ │ │ ├── Football.csproj │ │ ├── Football.sln │ │ └── README.md │ ├── football.bas │ ├── ftball.bas │ ├── java/ │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── football.html │ │ ├── football.js │ │ ├── ftball.html │ │ └── ftball.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ └── README.md │ ├── python/ │ │ ├── README.md │ │ ├── data.json │ │ └── football.py │ ├── ruby/ │ │ └── README.md │ └── vbnet/ │ ├── Football.sln │ ├── Football.vbproj │ └── README.md ├── 38_Fur_Trader/ │ ├── README.md │ ├── c/ │ │ ├── README.md │ │ └── furtrader.c │ ├── csharp/ │ │ ├── FurTrader.csproj │ │ ├── FurTrader.sln │ │ ├── Game.cs │ │ ├── GameState.cs │ │ ├── Program.cs │ │ └── README.md │ ├── furtrader.bas │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── FurTrader.java │ │ ├── FurTraderGame.java │ │ └── Pelt.java │ ├── javascript/ │ │ ├── README.md │ │ ├── furtrader.html │ │ └── furtrader.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── furtrader.pl │ ├── python/ │ │ ├── README.md │ │ └── furtrader.py │ ├── ruby/ │ │ └── README.md │ └── vbnet/ │ ├── FurTrader.sln │ ├── FurTrader.vbproj │ └── README.md ├── 39_Golf/ │ ├── README.md │ ├── csharp/ │ │ ├── Golf.csproj │ │ ├── Golf.sln │ │ ├── Program.cs │ │ └── README.md │ ├── golf.bas │ ├── java/ │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── golf.html │ │ └── golf.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ └── README.md │ ├── python/ │ │ ├── README.md │ │ └── golf.py │ ├── ruby/ │ │ └── README.md │ └── vbnet/ │ ├── Golf.sln │ ├── Golf.vbproj │ └── README.md ├── 40_Gomoko/ │ ├── README.md │ ├── csharp/ │ │ ├── Gomoko.csproj │ │ ├── Gomoko.sln │ │ └── README.md │ ├── gomoko.bas │ ├── java/ │ │ ├── Gomoko.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── gomoko.html │ │ └── gomoko.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── gomoko.pl │ ├── python/ │ │ ├── Gomoko.py │ │ └── README.md │ ├── ruby/ │ │ └── README.md │ └── vbnet/ │ ├── Gomoko.sln │ ├── Gomoko.vbproj │ └── README.md ├── 41_Guess/ │ ├── README.md │ ├── csharp/ │ │ ├── Game.cs │ │ ├── Guess.csproj │ │ ├── Guess.sln │ │ ├── Program.cs │ │ ├── README.md │ │ └── Resources/ │ │ ├── BlankLines.txt │ │ ├── Good.txt │ │ ├── Introduction.txt │ │ ├── Limit.txt │ │ ├── Resource.cs │ │ ├── ShouldHave.txt │ │ ├── ThatsIt.txt │ │ ├── Thinking.txt │ │ ├── TooHigh.txt │ │ ├── TooLow.txt │ │ └── VeryGood.txt │ ├── guess.bas │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── Guess.java │ │ └── GuessGame.java │ ├── javascript/ │ │ ├── README.md │ │ ├── guess.html │ │ └── guess.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── guess.pl │ ├── python/ │ │ ├── README.md │ │ └── guess.py │ ├── ruby/ │ │ ├── README.md │ │ └── guess.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Guess.sln │ ├── Guess.vbproj │ └── README.md ├── 42_Gunner/ │ ├── README.md │ ├── csharp/ │ │ ├── Gunner.csproj │ │ ├── Gunner.sln │ │ ├── Program.cs │ │ └── README.md │ ├── gunner.bas │ ├── java/ │ │ ├── Gunner.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── gunner.html │ │ └── gunner.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── gunner.pl │ ├── python/ │ │ ├── README.md │ │ └── gunner.py │ ├── ruby/ │ │ └── README.md │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Gunner.sln │ ├── Gunner.vbproj │ └── README.md ├── 43_Hammurabi/ │ ├── README.md │ ├── csharp/ │ │ ├── ActionResult.cs │ │ ├── Controller.cs │ │ ├── GameResult.cs │ │ ├── GameState.cs │ │ ├── GreatOffence.cs │ │ ├── Hammurabi.csproj │ │ ├── Hammurabi.sln │ │ ├── PerformanceRating.cs │ │ ├── Program.cs │ │ ├── README.md │ │ ├── Rules.cs │ │ └── View.cs │ ├── hammurabi.bas │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── Hamurabi.java │ │ └── HamurabiGame.java │ ├── javascript/ │ │ ├── README.md │ │ ├── hammurabi.html │ │ └── hammurabi.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── lib/ │ │ └── BasicComputerGames/ │ │ └── Hammurabi.pm │ ├── python/ │ │ ├── README.md │ │ └── hamurabi.py │ ├── ruby/ │ │ └── README.md │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Hammurabi.sln │ ├── Hammurabi.vbproj │ └── README.md ├── 44_Hangman/ │ ├── README.md │ ├── csharp/ │ │ ├── Graphic.cs │ │ ├── Hangman.csproj │ │ ├── Hangman.sln │ │ ├── Program.cs │ │ └── README.md │ ├── hangman.bas │ ├── java/ │ │ ├── Hangman.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── hangman.html │ │ └── hangman.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── hangman.pl │ ├── python/ │ │ ├── README.md │ │ └── hangman.py │ ├── ruby/ │ │ ├── README.md │ │ └── hangman.rb │ └── vbnet/ │ ├── Hangman.sln │ ├── Hangman.vbproj │ └── README.md ├── 45_Hello/ │ ├── README.md │ ├── csharp/ │ │ ├── Hello.csproj │ │ ├── Hello.sln │ │ └── README.md │ ├── hello.bas │ ├── java/ │ │ ├── Hello.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── hello.html │ │ └── hello.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ ├── README.md │ │ └── hello.lua │ ├── perl/ │ │ ├── README.md │ │ └── hello.pl │ ├── python/ │ │ ├── README.md │ │ └── hello.py │ ├── ruby/ │ │ ├── README.md │ │ └── hello.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Hello.sln │ ├── Hello.vbproj │ └── README.md ├── 46_Hexapawn/ │ ├── README.md │ ├── csharp/ │ │ ├── Board.cs │ │ ├── Cell.cs │ │ ├── Computer.cs │ │ ├── Game.cs │ │ ├── GameSeries.cs │ │ ├── Hexapawn.csproj │ │ ├── Hexapawn.sln │ │ ├── Human.cs │ │ ├── IReadWriteExtensions.cs │ │ ├── Move.cs │ │ ├── Pawn.cs │ │ ├── Program.cs │ │ ├── README.md │ │ └── Resources/ │ │ ├── Instructions.txt │ │ ├── Resource.cs │ │ └── Title.txt │ ├── hexapawn.bas │ ├── java/ │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── hexapawn.html │ │ └── hexapawn.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ └── README.md │ ├── python/ │ │ ├── README.md │ │ └── hexapawn.py │ ├── ruby/ │ │ └── README.md │ └── vbnet/ │ ├── Hexapawn.sln │ ├── Hexapawn.vbproj │ └── README.md ├── 47_Hi-Lo/ │ ├── README.md │ ├── csharp/ │ │ ├── HiLo.csproj │ │ ├── HiLo.sln │ │ ├── Program.cs │ │ └── README.md │ ├── hi-lo.bas │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── HiLo.java │ │ └── HiLoGame.java │ ├── javascript/ │ │ ├── README.md │ │ ├── hi-lo.html │ │ └── hi-lo.js │ ├── kotlin/ │ │ ├── HiLo.kt │ │ └── README.md │ ├── lua/ │ │ ├── README.md │ │ └── hilo.lua │ ├── perl/ │ │ ├── README.md │ │ └── hi-lo.pl │ ├── python/ │ │ ├── README.md │ │ └── hilo.py │ ├── ruby/ │ │ ├── README.md │ │ └── hi_lo.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── HiLo.sln │ ├── HiLo.vbproj │ └── README.md ├── 48_High_IQ/ │ ├── README.md │ ├── csharp/ │ │ ├── HighIQ.csproj │ │ ├── HighIQ.sln │ │ └── README.md │ ├── d/ │ │ ├── .gitignore │ │ ├── README.md │ │ └── highiq.d │ ├── highiq.bas │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── HighIQ.java │ │ └── HighIQGame.java │ ├── javascript/ │ │ ├── README.md │ │ ├── highiq.html │ │ └── highiq.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ └── README.md │ ├── python/ │ │ ├── High_IQ.py │ │ └── README.md │ ├── ruby/ │ │ └── README.md │ └── vbnet/ │ ├── HighIQ.sln │ ├── HighIQ.vbproj │ └── README.md ├── 49_Hockey/ │ ├── README.md │ ├── csharp/ │ │ ├── Hockey.csproj │ │ ├── Hockey.sln │ │ └── README.md │ ├── hockey.bas │ ├── java/ │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── hockey.html │ │ └── hockey.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ └── README.md │ ├── python/ │ │ ├── README.md │ │ └── hockey.py │ ├── ruby/ │ │ └── README.md │ └── vbnet/ │ ├── Hockey.sln │ ├── Hockey.vbproj │ └── README.md ├── 50_Horserace/ │ ├── README.md │ ├── csharp/ │ │ ├── Horserace.csproj │ │ ├── Horserace.sln │ │ └── README.md │ ├── horserace.bas │ ├── java/ │ │ ├── Horserace.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── horserace.html │ │ └── horserace.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ └── README.md │ ├── python/ │ │ ├── README.md │ │ └── horserace.py │ ├── ruby/ │ │ └── README.md │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── game.rs │ │ ├── horses.rs │ │ ├── main.rs │ │ ├── players.rs │ │ └── util.rs │ └── vbnet/ │ ├── Horserace.sln │ ├── Horserace.vbproj │ └── README.md ├── 51_Hurkle/ │ ├── README.md │ ├── csharp/ │ │ ├── .gitignore │ │ ├── CardinalDirection.cs │ │ ├── ConsoleHurkleView.cs │ │ ├── FailedGuessViewModel.cs │ │ ├── GamePoint.cs │ │ ├── GuessViewModel.cs │ │ ├── Hurkle.csproj │ │ ├── Hurkle.sln │ │ ├── HurkleGame.cs │ │ ├── IHurkleView.cs │ │ ├── LossViewModel.cs │ │ ├── Program.cs │ │ ├── README.md │ │ └── VictoryViewModel.cs │ ├── hurkle.bas │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── Hurkle.java │ │ └── HurkleGame.java │ ├── javascript/ │ │ ├── README.md │ │ ├── hurkle.html │ │ └── hurkle.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── hurkle.pl │ ├── python/ │ │ ├── README.md │ │ └── hurkle.py │ ├── ruby/ │ │ ├── README.md │ │ └── hurkle.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── game.rs │ │ └── main.rs │ └── vbnet/ │ ├── Hurkle.sln │ ├── Hurkle.vbproj │ └── README.md ├── 52_Kinema/ │ ├── README.md │ ├── csharp/ │ │ ├── Kinema.csproj │ │ ├── Kinema.sln │ │ └── README.md │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── Kinema.java │ │ └── KinemaGame.java │ ├── javascript/ │ │ ├── README.md │ │ ├── kinema.html │ │ └── kinema.js │ ├── kinema.bas │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── kinema.pl │ ├── python/ │ │ ├── README.md │ │ └── kinema.py │ ├── ruby/ │ │ ├── README.md │ │ └── kinema.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Kinema.sln │ ├── Kinema.vbproj │ └── README.md ├── 53_King/ │ ├── README.md │ ├── csharp/ │ │ ├── Country.cs │ │ ├── Game.cs │ │ ├── IOExtensions.cs │ │ ├── King.csproj │ │ ├── King.sln │ │ ├── Program.cs │ │ ├── README.md │ │ ├── Reign.cs │ │ ├── Resources/ │ │ │ ├── DeathsPollution.txt │ │ │ ├── DeathsStarvation.txt │ │ │ ├── Emigration.txt │ │ │ ├── EndAlso.txt │ │ │ ├── EndCongratulations.txt │ │ │ ├── EndConsequences.txt │ │ │ ├── EndForeignWorkers.txt │ │ │ ├── EndManyDead.txt │ │ │ ├── EndMoneyLeftOver.txt │ │ │ ├── EndOneThirdDead.txt │ │ │ ├── FuneralExpenses.txt │ │ │ ├── GiveRallodsError.txt │ │ │ ├── GiveRallodsPrompt.txt │ │ │ ├── Goodbye.txt │ │ │ ├── Harvest.txt │ │ │ ├── HarvestReason.txt │ │ │ ├── Immigration.txt │ │ │ ├── InstructionsPrompt.txt │ │ │ ├── InstructionsText.txt │ │ │ ├── InsufficientReserves.txt │ │ │ ├── LandPlanted.txt │ │ │ ├── PlantLandError1.txt │ │ │ ├── PlantLandError2.txt │ │ │ ├── PlantLandError3.txt │ │ │ ├── PlantLandPrompt.txt │ │ │ ├── PollutionError.txt │ │ │ ├── PollutionPrompt.txt │ │ │ ├── Resource.cs │ │ │ ├── SavedCountrymenPrompt.txt │ │ │ ├── SavedLandError.txt │ │ │ ├── SavedLandPrompt.txt │ │ │ ├── SavedTreasuryPrompt.txt │ │ │ ├── SavedWorkersPrompt.txt │ │ │ ├── SavedYearsError.txt │ │ │ ├── SavedYearsPrompt.txt │ │ │ ├── SellLandError.txt │ │ │ ├── SellLandErrorReason.txt │ │ │ ├── SellLandPrompt.txt │ │ │ ├── StatusSansWorkers.txt │ │ │ ├── StatusWithWorkers.txt │ │ │ ├── Title.txt │ │ │ ├── TourismDecrease.txt │ │ │ ├── TourismEarnings.txt │ │ │ ├── TourismReason.txt │ │ │ └── WorkerMigration.txt │ │ ├── Result.cs │ │ ├── ValidityTest.cs │ │ └── Year.cs │ ├── java/ │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── king.html │ │ └── king.js │ ├── king.bas │ ├── king_variable_update.bas │ ├── kotlin/ │ │ ├── King.kt │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ └── README.md │ ├── python/ │ │ ├── README.md │ │ ├── king.py │ │ └── king_variable_update.py │ ├── ruby/ │ │ └── README.md │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── King.sln │ ├── King.vbproj │ └── README.md ├── 54_Letter/ │ ├── README.md │ ├── csharp/ │ │ ├── Game.cs │ │ ├── GameState.cs │ │ ├── Letter.csproj │ │ ├── Letter.sln │ │ ├── Program.cs │ │ └── README.md │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── Letter.java │ │ └── LetterGame.java │ ├── javascript/ │ │ ├── README.md │ │ ├── letter.html │ │ └── letter.js │ ├── kotlin/ │ │ └── README.md │ ├── letter.bas │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── letter.pl │ ├── python/ │ │ ├── README.md │ │ └── letter.py │ ├── ruby/ │ │ ├── README.md │ │ └── letter.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Letter.sln │ ├── Letter.vbproj │ └── README.md ├── 55_Life/ │ ├── README.md │ ├── csharp/ │ │ ├── .gitignore │ │ ├── Life.csproj │ │ ├── Life.sln │ │ ├── Program.cs │ │ └── README.md │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ └── java/ │ │ └── Life.java │ ├── javascript/ │ │ ├── README.md │ │ ├── life.html │ │ └── life.js │ ├── kotlin/ │ │ └── README.md │ ├── life.bas │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── life.pl │ ├── python/ │ │ ├── README.md │ │ └── life.py │ ├── ruby/ │ │ ├── README.md │ │ └── life.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Life.sln │ ├── Life.vbproj │ └── README.md ├── 56_Life_for_Two/ │ ├── README.md │ ├── csharp/ │ │ ├── Board.cs │ │ ├── Coordinates.cs │ │ ├── Game.cs │ │ ├── Generation.cs │ │ ├── IOExtensions.cs │ │ ├── Life.cs │ │ ├── LifeforTwo.csproj │ │ ├── LifeforTwo.sln │ │ ├── Piece.cs │ │ ├── Program.cs │ │ ├── README.md │ │ └── Resources/ │ │ ├── Draw.txt │ │ ├── IllegalCoords.txt │ │ ├── InitialPieces.txt │ │ ├── Player.txt │ │ ├── Resource.cs │ │ ├── SameCoords.txt │ │ ├── Title.txt │ │ └── Winner.txt │ ├── java/ │ │ ├── LifeForTwo.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── lifefortwo.html │ │ └── lifefortwo.js │ ├── kotlin/ │ │ └── README.md │ ├── lifefortwo.bas │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── lifefortwo.pl │ ├── python/ │ │ ├── README.md │ │ └── life_for_two.py │ ├── ruby/ │ │ └── README.md │ └── vbnet/ │ ├── LifeforTwo.sln │ ├── LifeforTwo.vbproj │ └── README.md ├── 57_Literature_Quiz/ │ ├── README.md │ ├── csharp/ │ │ ├── LiteratureQuiz.csproj │ │ ├── LiteratureQuiz.sln │ │ ├── README.md │ │ └── litquiz.cs │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── LiteratureQuiz.java │ │ └── LiteratureQuizGame.java │ ├── javascript/ │ │ ├── README.md │ │ ├── litquiz.html │ │ ├── litquiz.js │ │ └── litquiz.mjs │ ├── kotlin/ │ │ └── README.md │ ├── litquiz.bas │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── litquiz.pl │ ├── python/ │ │ ├── README.md │ │ └── litquiz.py │ ├── ruby/ │ │ └── README.md │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── LiteratureQuiz.sln │ ├── LiteratureQuiz.vbproj │ └── README.md ├── 58_Love/ │ ├── README.md │ ├── csharp/ │ │ ├── Love.csproj │ │ ├── Love.sln │ │ ├── LovePattern.cs │ │ ├── Program.cs │ │ ├── README.md │ │ ├── Resources/ │ │ │ ├── Intro.txt │ │ │ └── Resource.cs │ │ ├── SourceCharacters.cs │ │ └── StringBuilderExtensions.cs │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ └── Love.java │ ├── javascript/ │ │ ├── README.md │ │ ├── love.html │ │ └── love.js │ ├── kotlin/ │ │ └── README.md │ ├── love.bas │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── love.pl │ ├── python/ │ │ ├── README.md │ │ └── love.py │ ├── ruby/ │ │ ├── README.md │ │ └── love.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Love.sln │ ├── Love.vbproj │ └── README.md ├── 59_Lunar_LEM_Rocket/ │ ├── README.md │ ├── csharp/ │ │ ├── LunarLEMRocket.csproj │ │ ├── LunarLEMRocket.sln │ │ └── README.md │ ├── java/ │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── lem.html │ │ ├── lem.js │ │ ├── lunar.html │ │ └── lunar.js │ ├── kotlin/ │ │ └── README.md │ ├── lem.bas │ ├── lua/ │ │ └── README.md │ ├── lunar.bas │ ├── perl/ │ │ └── README.md │ ├── python/ │ │ ├── README.md │ │ └── lunar.py │ ├── rocket.bas │ ├── ruby/ │ │ └── README.md │ ├── rust/ │ │ ├── README.md │ │ └── rocket/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── LunarLEMRocket.sln │ ├── LunarLEMRocket.vbproj │ └── README.md ├── 60_Mastermind/ │ ├── README.md │ ├── csharp/ │ │ ├── Code.cs │ │ ├── CodeFactory.cs │ │ ├── ColorInfo.cs │ │ ├── Colors.cs │ │ ├── Command.cs │ │ ├── Controller.cs │ │ ├── EnumerableExtensions.cs │ │ ├── Mastermind.csproj │ │ ├── Mastermind.sln │ │ ├── Program.cs │ │ ├── README.md │ │ ├── TurnResult.cs │ │ └── View.cs │ ├── java/ │ │ ├── Mastermind.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── mastermind.html │ │ └── mastermind.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── mastermind.bas │ ├── perl/ │ │ ├── README.md │ │ └── mastermind.pl │ ├── python/ │ │ ├── README.md │ │ └── mastermind.py │ ├── ruby/ │ │ └── README.md │ ├── rust/ │ │ ├── Mastermind/ │ │ │ ├── Cargo.toml │ │ │ ├── README.md │ │ │ └── src/ │ │ │ └── main.rs │ │ └── Mastermind_refactored_for_conventions/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ ├── lib.rs │ │ └── main.rs │ └── vbnet/ │ ├── Mastermind.sln │ ├── Mastermind.vbproj │ └── README.md ├── 61_Math_Dice/ │ ├── README.md │ ├── csharp/ │ │ ├── GameState.cs │ │ ├── MathDice.csproj │ │ ├── MathDice.sln │ │ ├── Program.cs │ │ ├── README.md │ │ └── StringExtensions.cs │ ├── java/ │ │ ├── Die.java │ │ ├── MathDice.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── mathdice.html │ │ └── mathdice.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── mathdice.bas │ ├── perl/ │ │ ├── README.md │ │ └── mathdice.pl │ ├── python/ │ │ ├── README.md │ │ └── mathdice.py │ ├── ruby/ │ │ ├── README.md │ │ └── mathdice.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── MathDice.sln │ ├── MathDice.vbproj │ └── README.md ├── 62_Mugwump/ │ ├── README.md │ ├── csharp/ │ │ ├── Distance.cs │ │ ├── Game.cs │ │ ├── Grid.cs │ │ ├── IRandomExtensions.cs │ │ ├── Mugwump.cs │ │ ├── Mugwump.csproj │ │ ├── Mugwump.sln │ │ ├── Position.cs │ │ ├── Program.cs │ │ ├── README.md │ │ ├── Strings/ │ │ │ └── Intro.txt │ │ └── TextIOExtensions.cs │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ └── Mugwump.java │ ├── javascript/ │ │ ├── README.md │ │ ├── mugwump.html │ │ └── mugwump.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── mugwump.bas │ ├── perl/ │ │ ├── README.md │ │ └── mugwump.pl │ ├── python/ │ │ ├── README.md │ │ └── mugwump.py │ ├── ruby/ │ │ └── README.md │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── coordinate.rs │ │ ├── draw.rs │ │ ├── game.rs │ │ ├── main.rs │ │ └── util.rs │ └── vbnet/ │ ├── Mugwump.sln │ ├── Mugwump.vbproj │ └── README.md ├── 63_Name/ │ ├── README.md │ ├── csharp/ │ │ ├── Name.csproj │ │ ├── Name.sln │ │ ├── Program.cs │ │ ├── README.md │ │ └── StringExtensions.cs │ ├── java/ │ │ ├── Name.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── name.html │ │ └── name.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ ├── README.md │ │ └── name.lua │ ├── name.bas │ ├── perl/ │ │ ├── README.md │ │ └── name.pl │ ├── python/ │ │ ├── README.md │ │ └── name.py │ ├── ruby/ │ │ ├── README.md │ │ └── name.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Name.sln │ ├── Name.vbproj │ └── README.md ├── 64_Nicomachus/ │ ├── README.md │ ├── csharp/ │ │ ├── Nicomachus.csproj │ │ ├── Nicomachus.sln │ │ ├── README.md │ │ └── program.cs │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ └── Nicomachus.java │ ├── javascript/ │ │ ├── README.md │ │ ├── nicomachus.html │ │ └── nicomachus.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── nicomachus.bas │ ├── perl/ │ │ ├── README.md │ │ └── nicomachus.pl │ ├── python/ │ │ ├── README.md │ │ └── nicomachus.py │ ├── ruby/ │ │ └── README.md │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Nicomachus.sln │ ├── Nicomachus.vbproj │ └── README.md ├── 65_Nim/ │ ├── README.md │ ├── csharp/ │ │ ├── Nim.csproj │ │ ├── Nim.sln │ │ └── README.md │ ├── java/ │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── nim.html │ │ └── nim.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── nim.bas │ ├── perl/ │ │ └── README.md │ ├── python/ │ │ ├── README.md │ │ └── Traditional_NIM.py │ ├── ruby/ │ │ ├── README.md │ │ └── nim.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Nim.sln │ ├── Nim.vbproj │ └── README.md ├── 66_Number/ │ ├── README.md │ ├── csharp/ │ │ ├── Number.csproj │ │ ├── Number.sln │ │ ├── README.md │ │ └── program.cs │ ├── java/ │ │ ├── 1/ │ │ │ └── Number.java │ │ ├── 2/ │ │ │ └── Number.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── number.html │ │ └── number.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── number.bas │ ├── perl/ │ │ ├── README.md │ │ └── number.pl │ ├── python/ │ │ ├── README.md │ │ └── number.py │ ├── ruby/ │ │ └── README.md │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Number.sln │ ├── Number.vbproj │ └── README.md ├── 67_One_Check/ │ ├── README.md │ ├── csharp/ │ │ ├── Board.cs │ │ ├── Game.cs │ │ ├── Move.cs │ │ ├── OneCheck.csproj │ │ ├── OneCheck.sln │ │ ├── Program.cs │ │ ├── README.md │ │ └── Resources/ │ │ ├── Bye.txt │ │ ├── From.txt │ │ ├── IllegalMove.txt │ │ ├── Introduction.txt │ │ ├── Resource.cs │ │ ├── Results.txt │ │ ├── To.txt │ │ ├── TryAgain.txt │ │ └── YesOrNo.txt │ ├── java/ │ │ ├── OneCheck.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── onecheck.html │ │ └── onecheck.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── onecheck.bas │ ├── perl/ │ │ ├── README.md │ │ └── onecheck.pl │ ├── python/ │ │ ├── README.md │ │ └── onecheck.py │ ├── ruby/ │ │ └── README.md │ └── vbnet/ │ ├── OneCheck.sln │ ├── OneCheck.vbproj │ └── README.md ├── 68_Orbit/ │ ├── README.md │ ├── csharp/ │ │ ├── Orbit.csproj │ │ ├── Orbit.sln │ │ ├── README.md │ │ └── program.cs │ ├── java/ │ │ ├── Orbit.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── orbit.html │ │ └── orbit.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── orbit.bas │ ├── perl/ │ │ ├── README.md │ │ └── orbit.pl │ ├── python/ │ │ ├── README.md │ │ └── orbit.py │ ├── ruby/ │ │ ├── README.md │ │ └── orbit.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ ├── lib.rs │ │ └── main.rs │ └── vbnet/ │ ├── Orbit.sln │ ├── Orbit.vbproj │ └── README.md ├── 69_Pizza/ │ ├── README.md │ ├── csharp/ │ │ ├── CustomerMap.cs │ │ ├── Pizza.csproj │ │ ├── Pizza.sln │ │ ├── PizzaGame.cs │ │ ├── Program.cs │ │ ├── README.md │ │ └── StringBuilderExtensions.cs │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── Pizza.java │ │ └── PizzaGame.java │ ├── javascript/ │ │ ├── README.md │ │ ├── pizza.html │ │ └── pizza.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── pizza.pl │ ├── pizza.bas │ ├── python/ │ │ ├── README.md │ │ └── pizza.py │ ├── ruby/ │ │ ├── README.md │ │ └── pizza.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Pizza.sln │ ├── Pizza.vbproj │ └── README.md ├── 70_Poetry/ │ ├── README.md │ ├── csharp/ │ │ ├── Context.cs │ │ ├── Phrase.cs │ │ ├── Poem.cs │ │ ├── Poetry.csproj │ │ ├── Poetry.sln │ │ ├── Program.cs │ │ ├── README.md │ │ └── Resources/ │ │ ├── Resource.cs │ │ └── Title.txt │ ├── java/ │ │ ├── Poetry.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── poetry.html │ │ └── poetry.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── poetry.pl │ ├── poetry.bas │ ├── python/ │ │ ├── README.md │ │ ├── poetry.pl │ │ └── poetry.py │ ├── ruby/ │ │ ├── README.md │ │ └── poetry.rb │ └── vbnet/ │ ├── Poetry.sln │ ├── Poetry.vbproj │ └── README.md ├── 71_Poker/ │ ├── README.md │ ├── csharp/ │ │ ├── Cards/ │ │ │ ├── Card.cs │ │ │ ├── Deck.cs │ │ │ ├── Hand.cs │ │ │ ├── HandRank.cs │ │ │ ├── Rank.cs │ │ │ └── Suit.cs │ │ ├── Game.cs │ │ ├── IReadWriteExtensions.cs │ │ ├── Players/ │ │ │ ├── Computer.cs │ │ │ ├── Human.cs │ │ │ └── Player.cs │ │ ├── Poker.csproj │ │ ├── Poker.sln │ │ ├── Program.cs │ │ ├── README.md │ │ ├── Resources/ │ │ │ ├── Instructions.txt │ │ │ ├── Resource.cs │ │ │ └── Title.txt │ │ ├── Strategies/ │ │ │ ├── Bet.cs │ │ │ ├── Bluff.cs │ │ │ ├── Check.cs │ │ │ ├── Fold.cs │ │ │ ├── None.cs │ │ │ ├── Raise.cs │ │ │ └── Strategy.cs │ │ └── Table.cs │ ├── java/ │ │ ├── Poker.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── poker.html │ │ └── poker.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ └── README.md │ ├── poker.bas │ ├── python/ │ │ └── README.md │ ├── ruby/ │ │ └── README.md │ └── vbnet/ │ ├── Poker.sln │ ├── Poker.vbproj │ └── README.md ├── 72_Queen/ │ ├── README.md │ ├── csharp/ │ │ ├── Computer.cs │ │ ├── Game.cs │ │ ├── IOExtensions.cs │ │ ├── Move.cs │ │ ├── Position.cs │ │ ├── Program.cs │ │ ├── Queen.csproj │ │ ├── Queen.sln │ │ ├── README.md │ │ ├── RandomExtensions.cs │ │ └── Resources/ │ │ ├── AnyonePrompt.txt │ │ ├── Board.txt │ │ ├── ComputerMove.txt │ │ ├── Congratulations.txt │ │ ├── Forfeit.txt │ │ ├── IWin.txt │ │ ├── IllegalMove.txt │ │ ├── IllegalStart.txt │ │ ├── Instructions.txt │ │ ├── InstructionsPrompt.txt │ │ ├── MovePrompt.txt │ │ ├── Resource.cs │ │ ├── StartPrompt.txt │ │ ├── Thanks.txt │ │ ├── Title.txt │ │ └── YesOrNo.txt │ ├── java/ │ │ ├── Queen.java │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── queen.html │ │ └── queen.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── queen.pl │ ├── python/ │ │ ├── .flake8 │ │ ├── README.md │ │ └── queen.py │ ├── queen.bas │ ├── ruby/ │ │ └── README.md │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── ai.rs │ │ ├── game.rs │ │ ├── main.rs │ │ └── util.rs │ └── vbnet/ │ ├── Queen.sln │ ├── Queen.vbproj │ └── README.md ├── 73_Reverse/ │ ├── README.md │ ├── csharp/ │ │ ├── README.md │ │ ├── Reverse/ │ │ │ ├── Program.cs │ │ │ ├── Reverse.csproj │ │ │ └── Reverser.cs │ │ ├── Reverse.Tests/ │ │ │ ├── Generators/ │ │ │ │ └── PositiveIntegerGenerator.cs │ │ │ ├── Reverse.Tests.csproj │ │ │ ├── ReverserTests.cs │ │ │ └── TestReverser.cs │ │ └── Reverse.sln │ ├── java/ │ │ ├── README.md │ │ └── Reverse.java │ ├── javascript/ │ │ ├── README.md │ │ ├── reverse.html │ │ └── reverse.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── reverse.pl │ ├── python/ │ │ ├── README.md │ │ └── reverse.py │ ├── reverse.bas │ ├── ruby/ │ │ ├── README.md │ │ └── reverse.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── README.md │ ├── Reverse.sln │ ├── Reverse.vb │ └── Reverse.vbproj ├── 74_Rock_Scissors_Paper/ │ ├── README.md │ ├── csharp/ │ │ ├── Choice.cs │ │ ├── Choices.cs │ │ ├── Game.cs │ │ ├── Program.cs │ │ ├── README.md │ │ ├── RockScissorsPaper.csproj │ │ └── RockScissorsPaper.sln │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ └── RockScissors.java │ ├── javascript/ │ │ ├── README.md │ │ └── rockscissors.mjs │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ ├── README.md │ │ └── rockscissors.lua │ ├── perl/ │ │ ├── README.md │ │ └── rockscissors.pl │ ├── python/ │ │ ├── README.md │ │ └── rockscissors.py │ ├── rockscissors.bas │ ├── ruby/ │ │ ├── README.md │ │ └── rockscissors.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── README.md │ ├── RockScissorsPaper.sln │ └── RockScissorsPaper.vbproj ├── 75_Roulette/ │ ├── README.md │ ├── csharp/ │ │ ├── Bet.cs │ │ ├── BetType.cs │ │ ├── Croupier.cs │ │ ├── Game.cs │ │ ├── IOExtensions.cs │ │ ├── Program.cs │ │ ├── README.md │ │ ├── Resources/ │ │ │ ├── AgainPrompt.txt │ │ │ ├── BetAlready.txt │ │ │ ├── BetPrompt.txt │ │ │ ├── BrokeHouse.txt │ │ │ ├── Check.txt │ │ │ ├── CheckPrompt.txt │ │ │ ├── HowManyBetsPrompt.txt │ │ │ ├── Instructions.txt │ │ │ ├── InstructionsPrompt.txt │ │ │ ├── LastDollar.txt │ │ │ ├── Outcome.txt │ │ │ ├── Resource.cs │ │ │ ├── Slot.txt │ │ │ ├── Spinning.txt │ │ │ ├── Thanks.txt │ │ │ ├── Title.txt │ │ │ └── Totals.txt │ │ ├── Roulette.csproj │ │ ├── Roulette.sln │ │ ├── Slot.cs │ │ ├── Table.cs │ │ └── Wheel.cs │ ├── java/ │ │ ├── README.md │ │ ├── iterative/ │ │ │ └── Roulette.java │ │ └── oop/ │ │ ├── Bet.java │ │ ├── Roulette.java │ │ └── Wheel.java │ ├── javascript/ │ │ ├── README.md │ │ ├── roulette.html │ │ └── roulette.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ ├── make-roulette-test.pl │ │ ├── roulette-test.t │ │ └── roulette.pl │ ├── python/ │ │ ├── README.md │ │ └── roulette.py │ ├── roulette.bas │ ├── ruby/ │ │ └── README.md │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── main.rs │ │ └── util.rs │ └── vbnet/ │ ├── README.md │ ├── Roulette.sln │ └── Roulette.vbproj ├── 76_Russian_Roulette/ │ ├── README.md │ ├── csharp/ │ │ ├── Program.cs │ │ ├── README.md │ │ ├── RussianRoulette.csproj │ │ └── RussianRoulette.sln │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ └── RussianRoulette.java │ ├── javascript/ │ │ ├── README.md │ │ ├── russianroulette.html │ │ └── russianroulette.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ ├── README.md │ │ └── russianroulette.lua │ ├── perl/ │ │ ├── README.md │ │ └── russianroulette.pl │ ├── python/ │ │ ├── README.md │ │ └── russianroulette.py │ ├── ruby/ │ │ ├── README.md │ │ └── russianroulette.rb │ ├── russianroulette.bas │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── README.md │ ├── RussianRoulette.sln │ └── RussianRoulette.vbproj ├── 77_Salvo/ │ ├── README.md │ ├── csharp/ │ │ ├── Coordinate.cs │ │ ├── Extensions/ │ │ │ ├── IOExtensions.cs │ │ │ └── RandomExtensions.cs │ │ ├── Fleet.cs │ │ ├── Game.cs │ │ ├── Offset.cs │ │ ├── Position.cs │ │ ├── Program.cs │ │ ├── README.md │ │ ├── Resources/ │ │ │ ├── Coordinates.txt │ │ │ ├── IHaveMoreShotsThanSquares.txt │ │ │ ├── IHaveShots.txt │ │ │ ├── IHit.txt │ │ │ ├── IWon.txt │ │ │ ├── Illegal.txt │ │ │ ├── Resource.cs │ │ │ ├── SeeShots.txt │ │ │ ├── ShotBefore.txt │ │ │ ├── Start.txt │ │ │ ├── Title.txt │ │ │ ├── Turn.txt │ │ │ ├── WhereAreYourShips.txt │ │ │ ├── YouHaveMoreShotsThanSquares.txt │ │ │ ├── YouHaveShots.txt │ │ │ ├── YouHit.txt │ │ │ └── YouWon.txt │ │ ├── Salvo.csproj │ │ ├── Salvo.sln │ │ ├── Ships/ │ │ │ ├── Battleship.cs │ │ │ ├── Cruiser.cs │ │ │ ├── Destroyer.cs │ │ │ └── Ship.cs │ │ ├── Targetting/ │ │ │ ├── ComputerShotSelector.cs │ │ │ ├── HumanShotSelector.cs │ │ │ ├── KnownHitsShotSelectionStrategy.cs │ │ │ ├── SearchPattern.cs │ │ │ ├── SearchPatternShotSelector.cs │ │ │ ├── ShotSelectionStrategy.cs │ │ │ └── ShotSelector.cs │ │ ├── TurnHandler.cs │ │ └── Winner.cs │ ├── java/ │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── salvo.html │ │ └── salvo.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ └── README.md │ ├── python/ │ │ ├── README.md │ │ └── salvo.py │ ├── ruby/ │ │ └── README.md │ ├── salvo.bas │ └── vbnet/ │ ├── README.md │ ├── Salvo.sln │ └── Salvo.vbproj ├── 78_Sine_Wave/ │ ├── README.md │ ├── csharp/ │ │ ├── Program.cs │ │ ├── README.md │ │ ├── SineWave.csproj │ │ └── SineWave.sln │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ └── SineWave.java │ ├── javascript/ │ │ ├── README.md │ │ └── sinewave.mjs │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ ├── README.md │ │ └── sinewave.lua │ ├── perl/ │ │ ├── README.md │ │ └── sinewave.pl │ ├── python/ │ │ ├── README.md │ │ └── sinewave.py │ ├── ruby/ │ │ ├── README.md │ │ └── sinewave.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ ├── sinewave.bas │ └── vbnet/ │ ├── README.md │ ├── SineWave.sln │ └── SineWave.vbproj ├── 79_Slalom/ │ ├── README.md │ ├── csharp/ │ │ ├── README.md │ │ ├── Slalom.csproj │ │ ├── Slalom.sln │ │ └── program.cs │ ├── java/ │ │ ├── README.md │ │ └── Slalom.java │ ├── javascript/ │ │ ├── README.md │ │ ├── slalom.html │ │ └── slalom.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ └── README.md │ ├── python/ │ │ ├── README.md │ │ └── slalom.py │ ├── ruby/ │ │ └── README.md │ ├── slalom.bas │ └── vbnet/ │ ├── README.md │ ├── Slalom.sln │ └── Slalom.vbproj ├── 80_Slots/ │ ├── README.md │ ├── csharp/ │ │ ├── README.md │ │ ├── Slots.csproj │ │ ├── Slots.sln │ │ └── slots.csx │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── Slots.java │ │ └── SlotsGame.java │ ├── javascript/ │ │ ├── README.md │ │ ├── slots.html │ │ └── slots.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── slots.pl │ ├── python/ │ │ ├── README.md │ │ └── slots.py │ ├── ruby/ │ │ ├── README.md │ │ └── slots.rb │ ├── slots.bas │ └── vbnet/ │ ├── README.md │ ├── Slots.sln │ └── Slots.vbproj ├── 81_Splat/ │ ├── README.md │ ├── csharp/ │ │ ├── Program.cs │ │ ├── README.md │ │ ├── Splat.csproj │ │ └── Splat.sln │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ └── Splat.java │ ├── javascript/ │ │ ├── README.md │ │ ├── splat.html │ │ └── splat.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── splat.pl │ ├── python/ │ │ ├── README.md │ │ └── splat.py │ ├── ruby/ │ │ └── README.md │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── celestial_body.rs │ │ ├── game.rs │ │ ├── main.rs │ │ ├── stats.rs │ │ └── utility.rs │ ├── splat.bas │ └── vbnet/ │ ├── README.md │ ├── Splat.sln │ └── Splat.vbproj ├── 82_Stars/ │ ├── README.md │ ├── csharp/ │ │ ├── Game.cs │ │ ├── Program.cs │ │ ├── README.md │ │ ├── Resources/ │ │ │ ├── Instructions.txt │ │ │ ├── Resource.cs │ │ │ └── Title.txt │ │ ├── Stars.csproj │ │ └── Stars.sln │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── Stars.java │ │ └── StarsGame.java │ ├── javascript/ │ │ ├── README.md │ │ ├── stars.html │ │ └── stars.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── stars.pl │ ├── python/ │ │ ├── README.md │ │ └── stars.py │ ├── ruby/ │ │ ├── README.md │ │ └── stars.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ ├── rust_JWB/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ ├── stars.bas │ └── vbnet/ │ ├── README.md │ ├── Stars.sln │ └── Stars.vbproj ├── 83_Stock_Market/ │ ├── README.md │ ├── csharp/ │ │ ├── Assets.cs │ │ ├── Broker.cs │ │ ├── Company.cs │ │ ├── Controller.cs │ │ ├── Extensions/ │ │ │ ├── EnumerableExtensions.cs │ │ │ ├── ImmutableArrayExtensions.cs │ │ │ └── RandomExtensions.cs │ │ ├── Program.cs │ │ ├── README.md │ │ ├── StockMarket.cs │ │ ├── StockMarket.csproj │ │ ├── StockMarket.sln │ │ ├── TradingDay.cs │ │ ├── TransactionResult.cs │ │ └── View.cs │ ├── java/ │ │ ├── README.md │ │ └── StockMarket.java │ ├── javascript/ │ │ ├── README.md │ │ ├── stockmarket.html │ │ └── stockmarket.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ └── README.md │ ├── python/ │ │ ├── README.md │ │ └── Stock_Market.py │ ├── ruby/ │ │ └── README.md │ ├── stockmarket.bas │ └── vbnet/ │ ├── README.md │ ├── StockMarket.sln │ └── StockMarket.vbproj ├── 84_Super_Star_Trek/ │ ├── README.md │ ├── csharp/ │ │ ├── Commands/ │ │ │ ├── Command.cs │ │ │ ├── CommandExtensions.cs │ │ │ └── CommandResult.cs │ │ ├── Game.cs │ │ ├── IRandomExtensions.cs │ │ ├── IReadWriteExtensions.cs │ │ ├── Objects/ │ │ │ ├── Enterprise.cs │ │ │ ├── Klingon.cs │ │ │ ├── Star.cs │ │ │ └── Starbase.cs │ │ ├── Program.cs │ │ ├── README.md │ │ ├── Resources/ │ │ │ ├── CombatArea.txt │ │ │ ├── Congratulations.txt │ │ │ ├── CourtMartial.txt │ │ │ ├── Destroyed.txt │ │ │ ├── EndOfMission.txt │ │ │ ├── Enterprise.txt │ │ │ ├── Instructions.txt │ │ │ ├── LowShields.txt │ │ │ ├── NoEnemyShips.txt │ │ │ ├── NoStarbase.txt │ │ │ ├── NowEntering.txt │ │ │ ├── Orders.txt │ │ │ ├── PermissionDenied.txt │ │ │ ├── Protected.txt │ │ │ ├── RegionNames.txt │ │ │ ├── RelievedOfCommand.txt │ │ │ ├── RepairEstimate.txt │ │ │ ├── RepairPrompt.txt │ │ │ ├── ReplayPrompt.txt │ │ │ ├── ShieldsDropped.txt │ │ │ ├── ShieldsSet.txt │ │ │ ├── ShortRangeSensorsOut.txt │ │ │ ├── StartText.txt │ │ │ ├── Stranded.txt │ │ │ ├── Strings.cs │ │ │ └── Title.txt │ │ ├── Space/ │ │ │ ├── Coordinates.cs │ │ │ ├── Course.cs │ │ │ ├── Galaxy.cs │ │ │ ├── Quadrant.cs │ │ │ └── QuadrantInfo.cs │ │ ├── StringExtensions.cs │ │ ├── SuperStarTrek.csproj │ │ ├── SuperStarTrek.sln │ │ ├── Systems/ │ │ │ ├── ComputerFunctions/ │ │ │ │ ├── ComputerFunction.cs │ │ │ │ ├── CumulativeGalacticRecord.cs │ │ │ │ ├── DirectionDistanceCalculator.cs │ │ │ │ ├── GalacticReport.cs │ │ │ │ ├── GalaxyRegionMap.cs │ │ │ │ ├── NavigationCalculator.cs │ │ │ │ ├── StarbaseDataCalculator.cs │ │ │ │ ├── StatusReport.cs │ │ │ │ └── TorpedoDataCalculator.cs │ │ │ ├── DamageControl.cs │ │ │ ├── LibraryComputer.cs │ │ │ ├── LongRangeSensors.cs │ │ │ ├── PhaserControl.cs │ │ │ ├── PhotonTubes.cs │ │ │ ├── ShieldControl.cs │ │ │ ├── ShortRangeSensors.cs │ │ │ ├── Subsystem.cs │ │ │ └── WarpEngines.cs │ │ └── Utils/ │ │ └── DirectionAndDistance.cs │ ├── instructions.txt │ ├── java/ │ │ ├── Enterprise.java │ │ ├── GalaxyMap.java │ │ ├── GameCallback.java │ │ ├── README.md │ │ ├── SuperStarTrekGame.java │ │ ├── SuperStarTrekInstructions.java │ │ └── Util.java │ ├── javascript/ │ │ ├── README.md │ │ ├── cli.mjs │ │ ├── index.html │ │ ├── package.json │ │ └── superstartrek.mjs │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ └── README.md │ ├── python/ │ │ ├── README.md │ │ ├── superstartrek.py │ │ └── superstartrekins.py │ ├── ruby/ │ │ └── README.md │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── readme.md │ │ └── src/ │ │ ├── commands.rs │ │ ├── input.rs │ │ ├── main.rs │ │ ├── model.rs │ │ └── view.rs │ ├── superstartrek.bas │ ├── superstartrekins.bas │ └── vbnet/ │ ├── README.md │ ├── SuperStarTrek.sln │ └── SuperStarTrek.vbproj ├── 85_Synonym/ │ ├── README.md │ ├── csharp/ │ │ ├── README.md │ │ ├── Synonym.cs │ │ ├── Synonym.csproj │ │ └── Synonym.sln │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── Synonym.java │ │ ├── SynonymGame.java │ │ └── SynonymList.java │ ├── javascript/ │ │ ├── README.md │ │ ├── synonym.html │ │ └── synonym.js │ ├── kotlin/ │ │ ├── README.md │ │ └── Synonym.kt │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── synonym.pl │ ├── python/ │ │ ├── README.md │ │ └── synonym.py │ ├── ruby/ │ │ ├── README.md │ │ └── synonim.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ ├── synonym.bas │ └── vbnet/ │ ├── README.md │ ├── Synonym.sln │ └── Synonym.vbproj ├── 86_Target/ │ ├── README.md │ ├── csharp/ │ │ ├── Angle.cs │ │ ├── Explosion.cs │ │ ├── FiringRange.cs │ │ ├── Game.cs │ │ ├── Offset.cs │ │ ├── Point.cs │ │ ├── Program.cs │ │ ├── README.md │ │ ├── RandomExtensions.cs │ │ ├── Strings/ │ │ │ └── TitleAndInstructions.txt │ │ ├── Target.csproj │ │ └── Target.sln │ ├── java/ │ │ ├── README.md │ │ └── Target.java │ ├── javascript/ │ │ ├── README.md │ │ ├── target.html │ │ └── target.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── target.pl │ ├── python/ │ │ ├── README.md │ │ └── target.py │ ├── ruby/ │ │ └── README.md │ ├── target.bas │ └── vbnet/ │ ├── README.md │ ├── Target.sln │ └── Target.vbproj ├── 87_3-D_Plot/ │ ├── 3dplot.bas │ ├── README.md │ ├── csharp/ │ │ ├── Function.cs │ │ ├── Plot.csproj │ │ ├── Plot.sln │ │ ├── Program.cs │ │ └── README.md │ ├── d/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── threedeeplot.d │ │ └── threedeeplot_random.d │ ├── java/ │ │ ├── Plot3D.java │ │ └── README.md │ ├── javascript/ │ │ ├── 3dplot.html │ │ ├── 3dplot.js │ │ └── README.md │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── 3dplot.pl │ │ └── README.md │ ├── python/ │ │ ├── 3dplot.py │ │ └── README.md │ ├── ruby/ │ │ ├── 3dplot.rb │ │ └── README.md │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── Plot.sln │ ├── Plot.vbproj │ └── README.md ├── 88_3-D_Tic-Tac-Toe/ │ ├── README.md │ ├── csharp/ │ │ ├── Program.cs │ │ ├── Qubic.cs │ │ ├── QubicData.cs │ │ ├── README.md │ │ ├── ThreeDTicTacToe.csproj │ │ └── ThreeDTicTacToe.sln │ ├── java/ │ │ └── README.md │ ├── javascript/ │ │ ├── README.md │ │ ├── qubit.html │ │ └── qubit.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ └── README.md │ ├── python/ │ │ ├── README.md │ │ └── qubit.py │ ├── qubit.bas │ ├── ruby/ │ │ └── README.md │ └── vbnet/ │ ├── README.md │ ├── ThreeDTicTacToe.sln │ └── ThreeDTicTacToe.vbproj ├── 89_Tic-Tac-Toe/ │ ├── README.md │ ├── csharp/ │ │ ├── README.md │ │ ├── TicTacToe.sln │ │ ├── tictactoe1/ │ │ │ ├── Program.cs │ │ │ └── tictactoe1.csproj │ │ └── tictactoe2/ │ │ ├── Program.cs │ │ └── tictactoe2.csproj │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── Board.java │ │ └── TicTacToe2.java │ ├── javascript/ │ │ ├── README.md │ │ ├── tictactoe1.html │ │ ├── tictactoe1.js │ │ ├── tictactoe2.html │ │ └── tictactoe2.js │ ├── kotlin/ │ │ ├── Board.kt │ │ ├── README.md │ │ └── TicTacToe2.kt │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── tictactoe2.pl │ ├── python/ │ │ ├── README.md │ │ ├── TicTacToe_Hard.py │ │ └── tictactoe2.py │ ├── ruby/ │ │ └── README.md │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ ├── tictactoe1.bas │ ├── tictactoe2.bas │ └── vbnet/ │ ├── README.md │ ├── TicTacToe.sln │ └── TicTacToe.vbproj ├── 90_Tower/ │ ├── README.md │ ├── csharp/ │ │ ├── Game.cs │ │ ├── Models/ │ │ │ ├── Needle.cs │ │ │ └── Towers.cs │ │ ├── Program.cs │ │ ├── README.md │ │ ├── Resources/ │ │ │ ├── Congratulations.txt │ │ │ ├── DiskCountPrompt.txt │ │ │ ├── DiskCountQuit.txt │ │ │ ├── DiskCountRetry.txt │ │ │ ├── DiskNotInPlay.txt │ │ │ ├── DiskPrompt.txt │ │ │ ├── DiskQuit.txt │ │ │ ├── DiskRetry.txt │ │ │ ├── DiskUnavailable.txt │ │ │ ├── IllegalMove.txt │ │ │ ├── Instructions.txt │ │ │ ├── Intro.txt │ │ │ ├── NeedlePrompt.txt │ │ │ ├── NeedleQuit.txt │ │ │ ├── NeedleRetry.txt │ │ │ ├── PlayAgainPrompt.txt │ │ │ ├── Strings.cs │ │ │ ├── TaskFinished.txt │ │ │ ├── Thanks.txt │ │ │ ├── Title.txt │ │ │ ├── TooManyMoves.txt │ │ │ └── YesNoPrompt.txt │ │ ├── Tower.csproj │ │ ├── Tower.sln │ │ └── UI/ │ │ ├── Input.cs │ │ ├── Prompt.cs │ │ └── TowerDisplay.cs │ ├── java/ │ │ ├── README.md │ │ └── Tower.java │ ├── javascript/ │ │ ├── README.md │ │ ├── tower.html │ │ └── tower.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ ├── README.md │ │ └── tower.lua │ ├── perl/ │ │ ├── README.md │ │ └── tower.pl │ ├── python/ │ │ ├── README.md │ │ └── tower.py │ ├── ruby/ │ │ └── README.md │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── disk.rs │ │ ├── game.rs │ │ ├── main.rs │ │ ├── needle.rs │ │ └── util.rs │ ├── tower.bas │ └── vbnet/ │ ├── README.md │ ├── Tower.sln │ └── Tower.vbproj ├── 91_Train/ │ ├── README.md │ ├── csharp/ │ │ ├── README.md │ │ ├── Train/ │ │ │ ├── TrainGame.cs │ │ │ └── TrainGame.csproj │ │ ├── Train.sln │ │ └── TrainTests/ │ │ ├── TrainGameTests.cs │ │ └── TrainTests.csproj │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ └── Train.java │ ├── javascript/ │ │ ├── README.md │ │ ├── train.html │ │ └── train.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ ├── README.md │ │ └── train.lua │ ├── perl/ │ │ ├── README.md │ │ └── train.pl │ ├── python/ │ │ ├── README.md │ │ └── train.py │ ├── ruby/ │ │ ├── README.md │ │ └── train.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ ├── lib.rs │ │ └── main.rs │ ├── train.bas │ └── vbnet/ │ ├── README.md │ ├── Train.sln │ └── Train.vbproj ├── 92_Trap/ │ ├── README.md │ ├── csharp/ │ │ ├── Program.cs │ │ ├── README.md │ │ ├── Trap.csproj │ │ └── Trap.sln │ ├── java/ │ │ ├── README.md │ │ └── src/ │ │ ├── Trap.java │ │ └── TrapGame.java │ ├── javascript/ │ │ ├── README.md │ │ ├── trap.html │ │ └── trap.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── trap.pl │ ├── python/ │ │ ├── README.md │ │ └── trap.py │ ├── ruby/ │ │ ├── README.md │ │ └── trap.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ ├── trap.bas │ └── vbnet/ │ ├── README.md │ ├── Trap.sln │ └── Trap.vbproj ├── 93_23_Matches/ │ ├── 23matches.bas │ ├── README.md │ ├── csharp/ │ │ ├── 23Matches.cs │ │ └── csharp.csproj │ ├── java/ │ │ ├── CoinSide.java │ │ ├── Messages.java │ │ ├── README.md │ │ ├── TwentyThreeMatches.java │ │ └── TwentyThreeMatchesGame.java │ ├── javascript/ │ │ ├── 23matches.html │ │ ├── 23matches.js │ │ └── README.md │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── 23matches.pl │ │ └── README.md │ ├── python/ │ │ ├── 23matches.py │ │ └── README.md │ ├── ruby/ │ │ ├── 23_matches.rb │ │ └── README.md │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── vbnet/ │ ├── README.md │ ├── TwentyThreeMatches.sln │ └── TwentyThreeMatches.vbproj ├── 94_War/ │ ├── README.md │ ├── csharp/ │ │ ├── README.md │ │ ├── War/ │ │ │ ├── Cards.cs │ │ │ ├── Program.cs │ │ │ ├── UserInterface.cs │ │ │ └── War.csproj │ │ ├── War.sln │ │ └── WarTester/ │ │ ├── Tests.cs │ │ └── WarTester.csproj │ ├── d/ │ │ ├── .gitignore │ │ ├── README.md │ │ └── war.d │ ├── java/ │ │ ├── README.md │ │ └── War.java │ ├── javascript/ │ │ ├── README.md │ │ ├── war.html │ │ └── war.js │ ├── kotlin/ │ │ ├── README.md │ │ └── War.kt │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── war.pl │ ├── python/ │ │ ├── README.md │ │ ├── cards.json │ │ └── war.py │ ├── ruby/ │ │ ├── README.md │ │ └── war.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ ├── vbnet/ │ │ ├── README.md │ │ ├── War.sln │ │ └── War.vbproj │ └── war.bas ├── 95_Weekday/ │ ├── README.md │ ├── csharp/ │ │ ├── Program.cs │ │ ├── README.md │ │ ├── Weekday.csproj │ │ └── Weekday.sln │ ├── java/ │ │ ├── README.md │ │ └── Weekday.java │ ├── javascript/ │ │ ├── README.md │ │ ├── weekday.html │ │ └── weekday.js │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── weekday.pl │ ├── python/ │ │ ├── README.md │ │ └── weekday.py │ ├── ruby/ │ │ └── README.md │ ├── rust/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ ├── vbnet/ │ │ ├── README.md │ │ ├── Weekday.sln │ │ └── Weekday.vbproj │ └── weekday.bas ├── 96_Word/ │ ├── README.md │ ├── csharp/ │ │ ├── Program.cs │ │ ├── README.md │ │ ├── word.csproj │ │ └── word.sln │ ├── d/ │ │ ├── .gitignore │ │ ├── README.md │ │ └── word.d │ ├── java/ │ │ ├── README.md │ │ └── Word.java │ ├── javascript/ │ │ ├── README.md │ │ └── word.mjs │ ├── kotlin/ │ │ └── README.md │ ├── lua/ │ │ └── README.md │ ├── perl/ │ │ ├── README.md │ │ └── word.pl │ ├── python/ │ │ ├── README.md │ │ └── word.py │ ├── ruby/ │ │ ├── README.md │ │ └── word.rb │ ├── rust/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── main.rs │ │ ├── progress.rs │ │ └── word_game.rs │ ├── vbnet/ │ │ ├── Program.vb │ │ ├── README.md │ │ ├── word.sln │ │ └── word.vbproj │ └── word.bas ├── HOW_TO_RUN_THE_GAMES.md ├── LICENSE ├── README.md ├── index.html └── pyproject.toml