summaryrefslogtreecommitdiff
path: root/Beginning_C++_Through_Game_Programming/ch4.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Beginning_C++_Through_Game_Programming/ch4.ipynb')
-rwxr-xr-xBeginning_C++_Through_Game_Programming/ch4.ipynb614
1 files changed, 614 insertions, 0 deletions
diff --git a/Beginning_C++_Through_Game_Programming/ch4.ipynb b/Beginning_C++_Through_Game_Programming/ch4.ipynb
new file mode 100755
index 00000000..df9c13b0
--- /dev/null
+++ b/Beginning_C++_Through_Game_Programming/ch4.ipynb
@@ -0,0 +1,614 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 4 : The Standard Template Library: Hangman"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "example 4.1 page no : 118"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "inventory = []\n",
+ "inventory.append(\"sword\");\n",
+ "inventory.append(\"armor\");\n",
+ "inventory.append(\"shield\");\n",
+ "print \"You have \" , len(inventory) , \" items.\";\n",
+ "print \"\\nYour items:\";\n",
+ "for i in inventory:\n",
+ " print i\n",
+ "\n",
+ "print \"\\nYou trade your sword for a battle axe.\";\n",
+ "inventory[0] = \"battle axe\";\n",
+ "print \"\\nYour items:\\n\";\n",
+ "for i in inventory:\n",
+ " print i\n",
+ "\n",
+ "print \"\\nThe item name '\" , inventory[0] , \"' has \",\n",
+ "print len(inventory[0]) , \" letters in it.\";\n",
+ "print \"\\nYour shield is destroyed in a fierce battle.\";\n",
+ "inventory.pop();\n",
+ "print \"\\nYour items:\";\n",
+ "for i in inventory:\n",
+ " print i\n",
+ "\n",
+ "print \"\\nYou were robbed of all of your possessions by a thief.\";\n",
+ "inventory = []\n",
+ "if (not inventory):\n",
+ " print \"\\nYou have nothing.\";\n",
+ "else:\n",
+ " print \"\\nYou have at least one item.\\n\";"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "You have 3 items.\n",
+ "\n",
+ "Your items:\n",
+ "sword\n",
+ "armor\n",
+ "shield\n",
+ "\n",
+ "You trade your sword for a battle axe.\n",
+ "\n",
+ "Your items:\n",
+ "\n",
+ "battle axe\n",
+ "armor\n",
+ "shield\n",
+ "\n",
+ "The item name ' battle axe ' has 10 letters in it.\n",
+ "\n",
+ "Your shield is destroyed in a fierce battle.\n",
+ "\n",
+ "Your items:\n",
+ "battle axe\n",
+ "armor\n",
+ "\n",
+ "You were robbed of all of your possessions by a thief.\n",
+ "\n",
+ "You have nothing.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "example 4.2 page no : 124"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "inventory = []\n",
+ "inventory.append(\"sword\");\n",
+ "inventory.append(\"armor\");\n",
+ "inventory.append(\"shield\");\n",
+ "print \"You have \" , len(inventory) , \" items.\";\n",
+ "print \"\\nYour items:\";\n",
+ "for i in inventory:\n",
+ " print i\n",
+ "\n",
+ "print \"\\nYou trade your sword for a battle axe.\";\n",
+ "inventory[0] = \"battle axe\";\n",
+ "print \"\\nYour items:\\n\";\n",
+ "for i in inventory:\n",
+ " print i\n",
+ "\n",
+ "print \"\\nThe item name '\" , inventory[0] , \"' has \",\n",
+ "print len(inventory[0]) , \" letters in it.\";\n",
+ "\n",
+ "print \"You recover a crossbow from a slain enemy.\";\n",
+ "inventory.insert(0,\"crossbow\");\n",
+ "print \"Your items:\";\n",
+ "for i in inventory:\n",
+ " print i\n",
+ " \n",
+ "print \"\\nYour shield is destroyed in a fierce battle.\";\n",
+ "inventory.pop();\n",
+ "print \"\\nYour items:\";\n",
+ "for i in inventory:\n",
+ " print i"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "You have 3 items.\n",
+ "\n",
+ "Your items:\n",
+ "sword\n",
+ "armor\n",
+ "shield\n",
+ "\n",
+ "You trade your sword for a battle axe.\n",
+ "\n",
+ "Your items:\n",
+ "\n",
+ "battle axe\n",
+ "armor\n",
+ "shield\n",
+ "\n",
+ "The item name ' battle axe ' has 10 letters in it.\n",
+ "You recover a crossbow from a slain enemy.\n",
+ "Your items:\n",
+ "crossbow\n",
+ "battle axe\n",
+ "armor\n",
+ "shield\n",
+ "\n",
+ "Your shield is destroyed in a fierce battle.\n",
+ "\n",
+ "Your items:\n",
+ "crossbow\n",
+ "battle axe\n",
+ "armor\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "example 4.3 page no : 132"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "print \"Creating a list of scores.\";\n",
+ "scores = []\n",
+ "scores.append(1500);\n",
+ "scores.append(3500);\n",
+ "scores.append(7500);\n",
+ "print \"\\nHigh Scores:\";\n",
+ "for i in scores:\n",
+ " print i\n",
+ "\n",
+ "print \"\\nFinding a score.\";\n",
+ "\n",
+ "print \"\\nEnter a score to find: \";\n",
+ "score = 3500 #int(raw_input())\n",
+ "iter = score in scores\n",
+ "if (iter):\n",
+ " print \"Score found.\";\n",
+ "else:\n",
+ " print \"Score not found.\";\n",
+ "\n",
+ "print \"\\nRandomizing scores.\";\n",
+ "import random\n",
+ "for i in range(len(scores)):\n",
+ " scores[i] = int(random.random() * 10000) \n",
+ "\n",
+ "print \"\\nHigh Scores:\\n\";\n",
+ "for i in scores:\n",
+ " print i\n",
+ " \n",
+ "print \"\\nSorting scores.\";\n",
+ "scores.sort()\n",
+ "print \"\\nHigh Scores:\\n\";\n",
+ "for i in scores:\n",
+ " print i"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Creating a list of scores.\n",
+ "\n",
+ "High Scores:\n",
+ "1500\n",
+ "3500\n",
+ "7500\n",
+ "\n",
+ "Finding a score.\n",
+ "\n",
+ "Enter a score to find: \n",
+ "Score found.\n",
+ "\n",
+ "Randomizing scores.\n",
+ "\n",
+ "High Scores:\n",
+ "\n",
+ "6658\n",
+ "5396\n",
+ "8522\n",
+ "\n",
+ "Sorting scores.\n",
+ "\n",
+ "High Scores:\n",
+ "\n",
+ "5396\n",
+ "6658\n",
+ "8522\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "example 4.4 page no: 142"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#setup\n",
+ "MAX_WRONG = 8;\n",
+ "#maximum number of incorrect guesses allowed\n",
+ "words = [] # collection of possible words to guess\n",
+ "words.append(\"GUESS\");\n",
+ "words.append(\"HANGMAN\");\n",
+ "words.append(\"DIFFICULT\");\n",
+ "THE_WORD = words[0];\n",
+ "wrong = 0;\n",
+ "soFar = []\n",
+ "for i in range(len(THE_WORD)):\n",
+ " soFar.append('-')\n",
+ "\n",
+ "used = \"\";\n",
+ "\n",
+ "print \"Welcome to Hangman. Good luck!\\n\";\n",
+ "# main loop\n",
+ "while ((wrong < MAX_WRONG) and (''.join(soFar) != THE_WORD)):\n",
+ " print \"\\n\\nYou have \" , (MAX_WRONG - wrong);\n",
+ " print \" incorrect guesses left.\";\n",
+ " print \"\\nYou've used the following letters:\\n\" , used \n",
+ " print \"\\nSo far, the word is:\" , soFar\n",
+ " print \"\\nEnter your guess: \";\n",
+ " guess = raw_input()\n",
+ " guess = guess.upper() #make uppercase since secret word in uppercase\n",
+ " while guess in used:\n",
+ " print \"\\nYou've already guessed \" , guess \n",
+ " print \"Enter your guess: \";\n",
+ " guess = 'GUESS' #raw_input()\n",
+ " guess = guess.upper()\n",
+ " used += guess;\n",
+ " \n",
+ " if (guess in THE_WORD):\n",
+ " print \"That's right! \" , guess , \" is in the word.\";\n",
+ " #update soFar to include newly guessed letter\n",
+ " for i in range(len(THE_WORD)):\n",
+ " if (THE_WORD[i] == guess):\n",
+ " soFar[i] = guess\n",
+ " else:\n",
+ " print \"Sorry, \" , guess , \" isn't in the word.\";\n",
+ " wrong += 1\n",
+ "#shut down\n",
+ "if (wrong == MAX_WRONG):\n",
+ " print \"\\nYou've been hanged!\";\n",
+ "else:\n",
+ " print \"\\nYou guessed it!\";\n",
+ "print \"\\nThe word was \" , THE_WORD "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Welcome to Hangman. Good luck!\n",
+ "\n",
+ "\n",
+ "\n",
+ "You have 8\n",
+ " incorrect guesses left.\n",
+ "\n",
+ "You've used the following letters:\n",
+ "\n",
+ "\n",
+ "So far, the word is: ['-', '-', '-', '-', '-']\n",
+ "\n",
+ "Enter your guess: \n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "e\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "That's right! E is in the word.\n",
+ "\n",
+ "\n",
+ "You have 8\n",
+ " incorrect guesses left.\n",
+ "\n",
+ "You've used the following letters:\n",
+ "E\n",
+ "\n",
+ "So far, the word is: ['-', '-', 'E', '-', '-']\n",
+ "\n",
+ "Enter your guess: \n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "ae\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Sorry, AE isn't in the word.\n",
+ "\n",
+ "\n",
+ "You have 7\n",
+ " incorrect guesses left.\n",
+ "\n",
+ "You've used the following letters:\n",
+ "EAE\n",
+ "\n",
+ "So far, the word is: ['-', '-', 'E', '-', '-']\n",
+ "\n",
+ "Enter your guess: \n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "w\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Sorry, W isn't in the word.\n",
+ "\n",
+ "\n",
+ "You have 6\n",
+ " incorrect guesses left.\n",
+ "\n",
+ "You've used the following letters:\n",
+ "EAEW\n",
+ "\n",
+ "So far, the word is: ['-', '-', 'E', '-', '-']\n",
+ "\n",
+ "Enter your guess: \n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "wae\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Sorry, WAE isn't in the word.\n",
+ "\n",
+ "\n",
+ "You have 5\n",
+ " incorrect guesses left.\n",
+ "\n",
+ "You've used the following letters:\n",
+ "EAEWWAE\n",
+ "\n",
+ "So far, the word is: ['-', '-', 'E', '-', '-']\n",
+ "\n",
+ "Enter your guess: \n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "s\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "That's right! S is in the word.\n",
+ "\n",
+ "\n",
+ "You have 5\n",
+ " incorrect guesses left.\n",
+ "\n",
+ "You've used the following letters:\n",
+ "EAEWWAES\n",
+ "\n",
+ "So far, the word is: ['-', '-', 'E', 'S', 'S']\n",
+ "\n",
+ "Enter your guess: \n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "ews\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Sorry, EWS isn't in the word.\n",
+ "\n",
+ "\n",
+ "You have 4\n",
+ " incorrect guesses left.\n",
+ "\n",
+ "You've used the following letters:\n",
+ "EAEWWAESEWS\n",
+ "\n",
+ "So far, the word is: ['-', '-', 'E', 'S', 'S']\n",
+ "\n",
+ "Enter your guess: \n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "h\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Sorry, H isn't in the word.\n",
+ "\n",
+ "\n",
+ "You have 3\n",
+ " incorrect guesses left.\n",
+ "\n",
+ "You've used the following letters:\n",
+ "EAEWWAESEWSH\n",
+ "\n",
+ "So far, the word is: ['-', '-', 'E', 'S', 'S']\n",
+ "\n",
+ "Enter your guess: \n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "l\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Sorry, L isn't in the word.\n",
+ "\n",
+ "\n",
+ "You have 2\n",
+ " incorrect guesses left.\n",
+ "\n",
+ "You've used the following letters:\n",
+ "EAEWWAESEWSHL\n",
+ "\n",
+ "So far, the word is: ['-', '-', 'E', 'S', 'S']\n",
+ "\n",
+ "Enter your guess: \n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "g\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "That's right! G is in the word.\n",
+ "\n",
+ "\n",
+ "You have 2\n",
+ " incorrect guesses left.\n",
+ "\n",
+ "You've used the following letters:\n",
+ "EAEWWAESEWSHLG\n",
+ "\n",
+ "So far, the word is: ['G', '-', 'E', 'S', 'S']\n",
+ "\n",
+ "Enter your guess: \n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "u\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "That's right! U is in the word.\n",
+ "\n",
+ "You guessed it!\n",
+ "\n",
+ "The word was GUESS\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file