summaryrefslogtreecommitdiff
path: root/Beginning_C++_through_game_programming/ch5.ipynb
blob: 923fa8d54ac2e9de8e44a4d0111eb1296bfc8863 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
{
 "metadata": {
  "name": "ch5"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": "chapter 5 : Functions: Mad Lib"
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "example 5.1 page no : 152"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "'''\n// Instructions\n// Demonstrates writing new functions\n'''\n\n# function prototype (declaration)\ndef instructions():\n    print \"Welcome to the most fun you've ever had with text!\\n\";\n    print \"Here's how to play the game. . .\\n\";\n\ninstructions();",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "Welcome to the most fun you've ever had with text!\n\nHere's how to play the game. . .\n\n"
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "example 5.2 page no : 156"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "'''\n// Yes or No\n// Demonstrates return values and parameters\n'''\n\ndef askYesNo1():\n    while True:\n        print \"Please enter 'y' or 'n' : \",\n        response1 = 'y' #raw_input()\n        if (response1 == 'y' or response1 == 'n'):\n            return response1\n\ndef askYesNo2(question):\n    while True:\n        print question ,\n        response1 = 'n' #raw_input()\n        if (response1 == 'y' or response1 == 'n'):\n            return response1\n\n\nanswer1 = askYesNo1();\nprint \"Thanks for answering: \" , answer1  \nanswer2 = askYesNo2(\"Do you wish to save your game?\");\nprint \"Thanks for answering: \" , answer2 ",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "Please enter 'y' or 'n' :  Thanks for answering:  y\nDo you wish to save your game? Thanks for answering:  n\n"
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "example 5.3 page no : 162"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "'''\n# Scoping\n# Demonstrates scopes\n'''\ndef func():\n    var = -5; # local variable in func()\n    print \"In func() var is: \" , var \n\nvar = 5 # local variable in main()\nprint \"In main() var is: \" , var\nfunc();\nprint \"Back in main() var is: \" , var\nprint \"In main() in a new scope var is: \" , var\nprint \"Creating new var in new scope.\";\nvar = 10; # variable in new scope, hides other variable named var\nprint \"In main() in a new scope var is: \" , var \n\nprint \"At end of main() var created in new scope no longer exists.\";\nprint \"At end of main() var is: \" , var ",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "In main() var is:  5\nIn func() var is:  -5\nBack in main() var is:  5\nIn main() in a new scope var is:  5\nCreating new var in new scope.\nIn main() in a new scope var is:  10\nAt end of main() var created in new scope no longer exists.\nAt end of main() var is:  10\n"
      }
     ],
     "prompt_number": 3
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "example 5.4 page no : 167"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "'''\nglobal access of variable\n'''\n\nglob = 10; # global variable\n\ndef access_global():\n    global glob\n    print \"In access_global() glob is: \" , glob\n\ndef hide_global():\n    glob = 0 # hide global variable glob\n    print \"In hide_global() glob is: \" , glob\n\ndef change_global():\n    glob = -10; # change global variable glob\n    print \"In change_global() glob is: \" , glob\n\n\nprint \"In main() glob is: \" , glob\naccess_global();\nhide_global();\nprint  \"In main() glob is: \" , glob\nchange_global();\nprint \"In main() glob is: \" , glob",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "In main() glob is:  10\nIn access_global() glob is:  10\nIn hide_global() glob is:  0\nIn main() glob is:  10\nIn change_global() glob is:  -10\nIn main() glob is:  10\n"
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "example 5.5 page no : 172"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "'''\n// Give Me a Number\n// Demonstrates default function arguments\n'''\ndef askNumber(high,low=1):\n    a = high + 2\n    while True:\n        print \"Please enter a number\" , \" (\" , low , \" - \" , high , \"): \"\n        num = a #int(raw_input())\n        if (num > high or num < low):\n            return num\n\n\nnumber = askNumber(5);\nprint \"Thanks for entering: \" , number\nnumber = askNumber(10, 5);\nprint \"Thanks for entering: \" , number",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "Please enter a number  ( 1  -  5 ): \nThanks for entering:  7\nPlease enter a number  ( 5  -  10 ): \nThanks for entering:  12\n"
      }
     ],
     "prompt_number": 6
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "example 5.6 page no : 175"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "'''\n// Triple\n'''\n\ndef triple(number):\n    return (number * 3);\n\ndef triple1(text):\n    return (text + text + text);\n\nprint \"Tripling 5: \" , triple(5) \nprint \"Tripling 'gamer': \" , triple1(\"gamer\");",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "Tripling 5:  15\nTripling 'gamer':  gamergamergamer\n"
      }
     ],
     "prompt_number": 7
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "example 5.7 page no : 178"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "'''\n// Taking Damage\n// Demonstrates function inlining\n'''\n\ndef radiation( health):\n    return (health / 2);\n\nhealth = 80;\nprint \"Your health is \" , health \nhealth = radiation(health);\nprint \"After radiation exposure your health is \" , health \nhealth = radiation(health);\nprint \"After radiation exposure your health is \" , health \nhealth = radiation(health);\nprint \"After radiation exposure your health is \" , health ",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "Your health is  80\nAfter radiation exposure your health is  40\nAfter radiation exposure your health is  20\nAfter radiation exposure your health is  10\n"
      }
     ],
     "prompt_number": 8
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "example 5.8 page no :  181"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "'''\n// Mad-Lib\n// Creates a story based on user input\n'''\n\ndef askText(prompt):\n    print prompt ,\n    a = raw_input()\n    return a\n\ndef askNumber(prompt):\n    print prompt ,\n    return int(raw_input())\n\ndef tellStory(name, noun, number, bodyPart, verb):\n    print \"\\nHere's your story:\";\n    print \"The famous explorer \" ,;\n    print name ,\n    print \" had nearly given up a life-long quest to find\",\n    print \"The Lost City of \",\n    print noun,\n    print \" when one day, the \",\n    print noun,\n    print \" found the explorer.\"\n    print \"Surrounded by \",\n    print number,\n    print \" \" , noun,\n    print \", a tear came to \",\n    print name , \"'s \",\n    print bodyPart , \".\"\n    print \"After all this time, the quest was finally over. \",\n    print \"And then, the \",\n    print noun \n    print \"promptly devoured \",\n    print name , \". \"\n    print \"The moral of the story? Be careful what you \",\n    print verb,\n    print \" for.\",\n\n\nprint \"Welcome to Mad Lib.\\n\";\nprint \"Answer the following questions to help create a new story.\";\nname = 'jay' #askText(\"Please enter a name: \");\nnoun = 'go' #askText(\"Please enter a plural noun: \");\nnumber = 10 #askNumber(\"Please enter a number: \");\nbodyPart = 'nothing' #askText(\"Please enter a body part: \");\nverb = 'verb' #askText(\"Please enter a verb: \");\ntellStory(name, noun, number, bodyPart, verb);\n\n",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "Welcome to Mad Lib.\n\nAnswer the following questions to help create a new story.\n\nHere's your story:\nThe famous explorer  jay  had nearly given up a life-long quest to find The Lost City of  go  when one day, the  go  found the explorer.\nSurrounded by  10   go , a tear came to  jay 's  nothing .\nAfter all this time, the quest was finally over.  And then, the  go\npromptly devoured  jay . \nThe moral of the story? Be careful what you  verb  for.\n"
      }
     ],
     "prompt_number": 9
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "",
     "language": "python",
     "metadata": {},
     "outputs": []
    }
   ],
   "metadata": {}
  }
 ]
}