0% found this document useful (0 votes)
4 views56 pages

Invent Your Own Computer Games with Python Al Sweigart instant download

The document provides information about the book 'Invent Your Own Computer Games with Python' by Al Sweigart, including links for downloading the book and related titles. It outlines the structure of the book, which covers various programming concepts through game development in Python. The content includes chapters on writing programs, debugging, and creating multiple games, along with detailed explanations and source code examples.

Uploaded by

mkfruvnhw337
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views56 pages

Invent Your Own Computer Games with Python Al Sweigart instant download

The document provides information about the book 'Invent Your Own Computer Games with Python' by Al Sweigart, including links for downloading the book and related titles. It outlines the structure of the book, which covers various programming concepts through game development in Python. The content includes chapters on writing programs, debugging, and creating multiple games, along with detailed explanations and source code examples.

Uploaded by

mkfruvnhw337
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 56

Invent Your Own Computer Games with Python Al

Sweigart download

https://textbookfull.com/product/invent-your-own-computer-games-
with-python-al-sweigart/

Download full version ebook from https://textbookfull.com


We believe these products will be a great fit for you. Click
the link to download now, or visit textbookfull.com
to discover even more!

Invent Your Own Computer Games with Python 4th Edition


Al Sweigart

https://textbookfull.com/product/invent-your-own-computer-games-
with-python-4th-edition-al-sweigart/

Beyond the Basic Stuff with Python 1st Edition Al


Sweigart

https://textbookfull.com/product/beyond-the-basic-stuff-with-
python-1st-edition-al-sweigart/

Create Computer Games Design and Build Your Own Game


Patrick Mccabe

https://textbookfull.com/product/create-computer-games-design-
and-build-your-own-game-patrick-mccabe/

Automate the Boring Stuff with Python, 2nd Edition:


Practical Programming for Total Beginners Al Sweigart

https://textbookfull.com/product/automate-the-boring-stuff-with-
python-2nd-edition-practical-programming-for-total-beginners-al-
sweigart/
Coding Games in Scratch A Step by Step Visual Guide to
Building Your Own Computer Games DK Help Your Kids
Woodcock

https://textbookfull.com/product/coding-games-in-scratch-a-step-
by-step-visual-guide-to-building-your-own-computer-games-dk-help-
your-kids-woodcock/

Pro HTML5 Games. Learn to build your own Games using


HTML5 and JavaScript Aditya Ravi Shankar

https://textbookfull.com/product/pro-html5-games-learn-to-build-
your-own-games-using-html5-and-javascript-aditya-ravi-shankar/

Make Your Own Pixel Art Create Graphics for Games


Animations and More Jennifer Dawe

https://textbookfull.com/product/make-your-own-pixel-art-create-
graphics-for-games-animations-and-more-jennifer-dawe/

Build Your Own Redis with C C James Smith

https://textbookfull.com/product/build-your-own-redis-with-c-c-
james-smith/

Build Your Own Redis with C C James Smith

https://textbookfull.com/product/build-your-own-redis-with-c-c-
james-smith-2/
Contents
1. Cover
2. Title Page
3. Copyright Page
4. About the Author
5. About the Technical Reviewer
6. Brief Contents
7. Contents in Detail
8. Acknowledgments
9. Introduction

1. Who Is This Book For?


2. About This Book
3. How to Use This Book

1. Line Numbers and Indentation


2. Long Code Lines

4. Downloading and Installing Python


5. Starting IDLE
6. Finding Help Online

10. Chapter 1: The Interactive Shell

1. Some Simple Math

1. Integers and Floating-Point Numbers


2. Expressions

2. Evaluating Expressions
3. Syntax Errors
4. Storing Values in Variables
5. Summary

11. Chapter 2: Writing Programs


1. String Values
2. String Concatenation
3. Writing Programs in IDLE’s File Editor

1. Creating the Hello World Program


2. Saving Your Program
3. Running Your Program

4. How the Hello World Program Works

1. Comments for the Programmer


2. Functions: Mini-Programs Inside Programs
3. The End of the Program

5. Naming Variables
6. Summary
12. Chapter 3: Guess the Number

1. Sample Run of Guess the Number


2. Source Code for Guess the Number
3. Importing the random Module
4. Generating Random Numbers with the random.randint()
Function
5. Welcoming the Player
6. Flow Control Statements

1. Using Loops to Repeat Code


2. Grouping with Blocks
3. Looping with for Statements

7. Getting the Player’s Guess


8. Converting Values with the int(), float(), and str()
Functions
9. The Boolean Data Type

1. Comparison Operators
2. Checking for True or False with Conditions
3. Experimenting with Booleans, Comparison
Operators, and Conditions
4. The Difference Between = and ==
10. if Statements
11. Leaving Loops Early with the break Statement
12. Checking Whether the Player Won
13. Checking Whether the Player Lost
14. Summary
13. Chapter 4: A Joke-Telling Program

1. Sample Run of Jokes


2. Source Code for Jokes
3. How the Code Works
4. Escape Characters
5. Single and Double Quotes
6. The print() Function’s end Keyword Parameter
7. Summary

14. Chapter 5: Dragon Realm

1. How to Play Dragon Realm


2. Sample Run of Dragon Realm
3. Flowchart for Dragon Realm
4. Source Code for Dragon Realm
5. Importing the random and time Modules
6. Functions in Dragon Realm

1. def Statements
2. Calling a Function
3. Where to Put Function Definitions

7. Multiline Strings
8. How to Loop with while Statements
9. Boolean Operators

1. The and Operator


2. The or Operator
3. The not Operator
4. Evaluating Boolean Operators

10. Return Values


11. Global Scope and Local Scope
12. Function Parameters
13. Displaying the Game Results
14. Deciding Which Cave Has the Friendly Dragon
15. The Game Loop

1. Calling the Functions in the Program


2. Asking the Player to Play Again

16. Summary
15. Chapter 6: Using the Debugger

1. Types of Bugs
2. The Debugger

1. Starting the Debugger


2. Stepping Through the Program with the Debugger

3. Finding the Bug


4. Setting Breakpoints
5. Using Breakpoints
6. Summary

16. Chapter 7: Designing Hangman with Flowcharts

1. How to Play Hangman


2. Sample Run of Hangman
3. ASCII Art
4. Designing a Program with a Flowchart

1. Creating the Flowchart


2. Branching from a Flowchart Box
3. Ending or Restarting the Game
4. Guessing Again
5. Offering Feedback to the Player

5. Summary

17. Chapter 8: Writing the Hangman Code

1. Source Code for Hangman


2. Importing the random Module
3. Constant Variables
4. The Lists Data Type

1. Accessing Items with Indexes


2. List Concatenation
3. The in Operator

5. Calling Methods

1. The reverse() and append() List Methods


2. The split() String Method

6. Getting a Secret Word from the Word List


7. Displaying the Board to the Player

1. The list() and range() Functions


2. List and String Slicing
3. Displaying the Secret Word with Blanks

8. Getting the Player’s Guess

1. The lower() and upper() String Methods


2. Leaving the while Loop

9. elif Statements
10. Making Sure the Player Entered a Valid Guess
11. Asking the Player to Play Again
12. Review of the Hangman Functions
13. The Game Loop

1. Calling the displayBoard() Function


2. Letting the Player Enter Their Guess
3. Checking Whether the Letter Is in the Secret Word
4. Checking Whether the Player Won
5. Handling an Incorrect Guess
6. Checking Whether the Player Lost
7. Ending or Resetting the Game
14. Summary
18. Chapter 9: Extending Hangman

1. Adding More Guesses


2. The Dictionary Data Type

1. Getting the Size of Dictionaries with len()


2. The Difference Between Dictionaries and Lists
3. The keys() and values() Dictionary Methods
4. Using Dictionaries of Words in Hangman

3. Randomly Choosing from a List


4. Deleting Items from Lists
5. Multiple Assignment
6. Printing the Word Category for the Player
7. Summary

19. Chapter 10: Tic-Tac-Toe

1. Sample Run of Tic-Tac-Toe


2. Source Code for Tic-Tac-Toe
3. Designing the Program

1. Representing the Board as Data


2. Strategizing with the Game AI

4. Importing the random Module


5. Printing the Board on the Screen
6. Letting the Player Choose X or O
7. Deciding Who Goes First
8. Placing a Mark on the Board

1. List References
2. Using List References in makeMove()

9. Checking Whether the Player Won


10. Duplicating the Board Data
11. Checking Whether a Space on the Board Is Free
12. Letting the Player Enter a Move
13. Short-Circuit Evaluation
14. Choosing a Move from a List of Moves
15. The None Value
16. Creating the Computer’s AI

1. Checking Whether the Computer Can Win in One


Move
2. Checking Whether the Player Can Win in One
Move
3. Checking the Corner, Center, and Side Spaces (in
That Order)
4. Checking Whether the Board Is Full

17. The Game Loop

1. Choosing the Player’s Mark and Who Goes First


2. Running the Player’s Turn
3. Running the Computer’s Turn
4. Asking the Player to Play Again

18. Summary
20. Chapter 11: The Bagels Deduction Game

1. Sample Run of Bagels


2. Source Code for Bagels
3. Flowchart for Bagels
4. Importing random and Defining getSecretNum()
5. Shuffling a Unique Set of Digits

1. Changing List Item Order with the


random.shuffle() Function
2. Getting the Secret Number from the Shuffled
Digits

6. Augmented Assignment Operators


7. Calculating the Clues to Give
8. The sort() List Method
9. The join() String Method
10. Checking Whether a String Has Only Numbers
11. Starting the Game
12. String Interpolation
13. The Game Loop

1. Getting the Player’s Guess


2. Getting the Clues for the Player’s Guess
3. Checking Whether the Player Won or Lost
4. Asking the Player to Play Again

14. Summary
21. Chapter 12: The Cartesian Coordinate System

1. Grids and Cartesian Coordinates


2. Negative Numbers
3. The Coordinate System of a Computer Screen
4. Math Tricks

1. Trick 1: A Minus Eats the Plus Sign on Its Left


2. Trick 2: Two Minuses Combine into a Plus
3. Trick 3: Two Numbers Being Added Can Swap
Places

5. Absolute Values and the abs() Function


6. Summary

22. Chapter 13: Sonar Treasure Hunt

1. Sample Run of Sonar Treasure Hunt


2. Source Code for Sonar Treasure Hunt
3. Designing the Program
4. Importing the random, sys, and math Modules
5. Creating a New Game Board
6. Drawing the Game Board

1. Drawing the X-Coordinates Along the Top of the


Board
2. Drawing the Ocean
3. Printing a Row in the Ocean
4. Drawing the X-Coordinates Along the Bottom of
the Board

7. Creating the Random Treasure Chests


8. Determining Whether a Move Is Valid
9. Placing a Move on the Board

1. Finding the Closest Treasure Chest


2. Removing Values with the remove() List Method
3. Getting the Player’s Move

10. Printing the Game Instructions for the Player


11. The Game Loop

1. Displaying the Game Status for the Player


2. Handling the Player’s Move
3. Finding a Sunken Treasure Chest
4. Checking Whether the Player Won
5. Checking Whether the Player Lost
6. Terminating the Program with the sys.exit()
Function

12. Summary
23. Chapter 14: Caesar Cipher

1. Cryptography and Encryption


2. How the Caesar Cipher Works
3. Sample Run of Caesar Cipher
4. Source Code for Caesar Cipher
5. Setting the Maximum Key Length
6. Deciding to Encrypt or Decrypt the Message
7. Getting the Message from the Player
8. Getting the Key from the Player
9. Encrypting or Decrypting the Message

1. Finding Passed Strings with the find() String


Method
2. Encrypting or Decrypting Each Letter

10. Starting the Program


11. The Brute-Force Technique
12. Adding the Brute-Force Mode
13. Summary
24. Chapter 15: The Reversegam Game

1. How to Play Reversegam


2. Sample Run of Reversegam
3. Source Code for Reversegam
4. Importing Modules and Setting Up Constants
5. The Game Board Data Structure

1. Drawing the Board Data Structure on the Screen


2. Creating a Fresh Board Data Structure

6. Checking Whether a Move Is Valid

1. Checking Each of the Eight Directions


2. Finding Out Whether There Are Tiles to Flip Over

7. Checking for Valid Coordinates

1. Getting a List with All Valid Moves


2. Calling the bool() Function

8. Getting the Score of the Game Board


9. Getting the Player’s Tile Choice
10. Determining Who Goes First
11. Placing a Tile on the Board
12. Copying the Board Data Structure
13. Determining Whether a Space Is on a Corner
14. Getting the Player’s Move
15. Getting the Computer’s Move

1. Strategizing with Corner Moves


2. Getting a List of the Highest-Scoring Moves

16. Printing the Scores to the Screen


17. Starting the Game

1. Checking for a Stalemate


2. Running the Player’s Turn
3. Running the Computer’s Turn
18. The Game Loop
19. Asking the Player to Play Again
20. Summary
25. Chapter 16: Reversegam AI Simulation

1. Making the Computer Play Against Itself

1. Sample Run of Simulation 1


2. Source Code for Simulation 1
3. Removing the Player Prompts and Adding a
Computer Player

2. Making the Computer Play Itself Several Times

1. Sample Run of Simulation 2


2. Source Code for Simulation 2
3. Keeping Track of Multiple Games
4. Commenting Out print() Function Calls
5. Using Percentages to Grade the AIs

3. Comparing Different AI Algorithms

1. Source Code for Simulation 3


2. How the AIs Work in Simulation 3
3. Comparing the AIs

4. Summary

26. Chapter 17: Creating Graphics

1. Installing pygame
2. Hello World in pygame
3. Sample Run of pygame Hello World
4. Source Code for pygame Hello World
5. Importing the pygame Module
6. Initializing pygame
7. Setting Up the pygame Window

1. Tuples
2. Surface Objects
8. Setting Up Color Variables
9. Writing Text on the pygame Window

1. Using Fonts to Style Text


2. Rendering a Font Object
3. Setting the Text Location with Rect Attributes

10. Filling a Surface Object with a Color


11. pygame’s Drawing Functions

1. Drawing a Polygon
2. Drawing a Line
3. Drawing a Circle
4. Drawing an Ellipse
5. Drawing a Rectangle
6. Coloring Pixels

12. The blit() Method for Surface Objects


13. Drawing the Surface Object to the Screen
14. Events and the Game Loop

1. Getting Event Objects


2. Exiting the Program

15. Summary
27. Chapter 18: Animating Graphics

1. Sample Run of the Animation Program


2. Source Code for the Animation Program
3. Moving and Bouncing the Boxes
4. Setting Up the Constant Variables

1. Constant Variables for Direction


2. Constant Variables for Color

5. Setting Up the Box Data Structures


6. The Game Loop

1. Handling When the Player Quits


2. Moving Each Box
3. Bouncing a Box
4. Drawing the Boxes on the Window in Their New
Positions
5. Drawing the Window on the Screen
7. Summary
28. Chapter 19: Collision Detection

1. Sample Run of the Collision Detection Program


2. Source Code for the Collision Detection Program
3. Importing the Modules
4. Using a Clock to Pace the Program
5. Setting Up the Window and Data Structures
6. Setting Up Variables to Track Movement
7. Handling Events

1. Handling the KEYDOWN Event


2. Handling the KEYUP Event

8. Teleporting the Player


9. Adding New Food Squares
10. Moving the Player Around the Window

1. Drawing the Player on the Window


2. Checking for Collisions

11. Drawing the Food Squares on the Window


12. Summary

29. Chapter 20: Using Sounds and Images

1. Adding Images with Sprites


2. Sound and Image Files
3. Sample Run of the Sprites and Sounds Program
4. Source Code for the Sprites and Sounds Program
5. Setting Up the Window and the Data Structure

1. Adding a Sprite
2. Changing the Size of a Sprite

6. Setting Up the Music and Sounds


1. Adding Sound Files
2. Toggling the Sound On and Off
7. Drawing the Player on the Window
8. Checking for Collisions
9. Drawing the Cherries on the Window
10. Summary
30. Chapter 21: A Dodger Game with Sounds and Images

1. Review of the Basic pygame Data Types


2. Sample Run of Dodger
3. Source Code for Dodger
4. Importing the Modules
5. Setting Up the Constant Variables
6. Defining Functions

1. Ending and Pausing the Game


2. Keeping Track of Baddie Collisions
3. Drawing Text to the Window

7. Initializing pygame and Setting Up the Window


8. Setting Up Font, Sound, and Image Objects
9. Displaying the Start Screen
10. Starting the Game
11. The Game Loop

1. Handling Keyboard Events


2. Handling Mouse Movement

12. Adding New Baddies


13. Moving the Player’s Character and the Baddies
14. Implementing the Cheat Codes
15. Removing the Baddies
16. Drawing the Window

1. Drawing the Player’s Score


2. Drawing the Player’s Character and Baddies

17. Checking for Collisions


18. The Game Over Screen
19. Modifying the Dodger Game
20. Summary
31. Index
32. Resources
33. The Electronic Frontier Foundation (EFF)
34. Don’t Just Play Games—Make Them!

1. i
2. ii
3. iii
4. iv
5. v
6. vi
7. vii
8. viii
9. ix
10. x
11. xi
12. xii
13. xiii
14. xiv
15. xv
16. xvi
17. xvii
18. xviii
19. xix
20. xx
21. xxi
22. xxii
23. xxiii
24. xxiv
25. xxv
26. xxvi
27. xxvii
28. xxviii
29. 1
30. 2
31. 3
32. 4
33. 5
34. 6
35. 7
36. 8
37. 9
38. 10
39. 11
40. 12
41. 13
42. 14
43. 15
44. 16
45. 17
46. 18
47. 19
48. 20
49. 21
50. 22
51. 23
52. 24
53. 25
54. 26
55. 27
56. 28
57. 29
58. 30
59. 31
60. 32
61. 33
62. 34
63. 35
64. 36
65. 37
66. 38
67. 39
68. 40
69. 41
70. 42
71. 43
72. 44
73. 45
74. 46
75. 47
76. 48
77. 49
78. 50
79. 51
80. 52
81. 53
82. 54
83. 55
84. 56
85. 57
86. 58
87. 59
88. 60
89. 61
90. 62
91. 63
92. 64
93. 65
94. 66
95. 67
96. 68
97. 69
98. 70
99. 71
100. 72
101. 73
102. 74
103. 75
104. 76
105. 77
106. 78
107. 79
108. 80
109. 81
110. 82
111. 83
112. 84
113. 85
114. 86
115. 87
116. 88
117. 89
118. 90
119. 91
120. 92
121. 93
122. 94
123. 95
124. 96
125. 97
126. 98
127. 99
128. 100
129. 101
130. 102
131. 103
132. 104
133. 105
134. 106
135. 107
136. 108
137. 109
138. 110
139. 111
140. 112
141. 113
142. 114
143. 115
144. 116
145. 117
146. 118
147. 119
148. 120
149. 121
150. 122
151. 123
152. 124
153. 125
154. 126
155. 127
156. 128
157. 129
158. 130
159. 131
160. 132
161. 133
162. 134
163. 135
164. 136
165. 137
166. 138
167. 139
168. 140
169. 141
170. 142
171. 143
172. 144
173. 145
174. 146
175. 147
176. 148
177. 149
178. 150
179. 151
180. 152
181. 153
182. 154
183. 155
184. 156
185. 157
186. 158
187. 159
188. 160
189. 161
190. 162
191. 163
192. 164
193. 165
194. 166
195. 167
196. 168
197. 169
198. 170
199. 171
200. 172
201. 173
202. 174
203. 175
204. 176
205. 177
206. 178
207. 179
208. 180
209. 181
210. 182
211. 183
212. 184
213. 185
214. 186
215. 187
216. 188
217. 189
218. 190
219. 191
220. 192
221. 193
222. 194
223. 195
224. 196
225. 197
226. 198
227. 199
228. 200
229. 201
230. 202
231. 203
232. 204
233. 205
234. 206
235. 207
236. 208
237. 209
238. 210
239. 211
240. 212
241. 213
242. 214
243. 215
244. 216
245. 217
246. 218
247. 219
248. 220
249. 221
250. 222
251. 223
252. 224
253. 225
254. 226
255. 227
256. 228
257. 229
258. 230
259. 231
260. 232
261. 233
262. 234
263. 235
264. 236
265. 237
266. 238
267. 239
268. 240
269. 241
270. 242
271. 243
272. 244
273. 245
274. 246
275. 247
276. 248
277. 249
278. 250
279. 251
280. 252
281. 253
282. 254
283. 255
284. 256
285. 257
286. 258
287. 259
288. 260
289. 261
290. 262
291. 263
292. 264
293. 265
294. 266
295. 267
296. 268
297. 269
298. 270
299. 271
300. 272
301. 273
302. 274
303. 275
304. 276
305. 277
306. 278
307. 279
308. 280
309. 281
310. 282
311. 283
312. 284
313. 285
314. 286
315. 287
316. 288
317. 289
318. 290
319. 291
320. 292
321. 293
322. 294
323. 295
324. 296
325. 297
326. 298
327. 299
328. 300
329. 301
330. 302
331. 303
332. 304
333. 305
334. 306
335. 307
336. 308
337. 309
338. 310
339. 311
340. 312
341. 313
342. 314
343. 315
344. 316
345. 317
346. 318
347. 319
348. 320
349. 321
350. 322
351. 323
352. 324
353. 325
354. 326
355. 327
356. 328
357. 329
358. 330
359. 331
360. 332
361. 333
362. 334
363. 335
364. 336
365. 337
366. 338
367. 339
368. 340
369. 341
370. 342
371. 343
372. 344
373. 345
374. 346
375. 347
376. 348
377. 349
INVENT YOUR OWN
COMPUTER GAMES WITH
PYTHON
4TH EDITION

Al Sweigart

San Francisco
INVENT YOUR OWN COMPUTER GAMES WITH PYTHON, 4TH
EDITION.

Copyright © 2017 by Al Sweigart.

Some rights reserved. This work is licensed under the Creative Commons
Attribution-NonCommercial-ShareAlike 3.0 United States License. To view a
copy of this license, visit http://creativecommons.org/licenses/by-nc-
sa/3.0/us/ or send a letter to Creative Commons, PO Box 1866, Mountain
View, CA 94042, USA.

Printed in USA

First printing

20 19 18 17 16 123456789

ISBN-10: 1-59327-795-4

ISBN-13: 978-1-59327-795-6

Publisher: William Pollock

Production Editor: Laurel Chun

Cover Illustration: Josh Ellingson

Interior Design: Octopod Studios

Developmental Editor: Jan Cash

Technical Reviewer: Ari Lacenski

Copyeditor: Rachel Monaghan

Compositor: Susan Glinert Stevens

Proofreader: Paula L. Fleming

Indexer: Nancy Guenther


The sprite images in Figure 20-1 on page 302, from left to right, were created
by fsvieira, przemek.sz, LordNeo, and Suppercut. The grass sprite image in
Figure 20-2 on page 302 was created by txturs. These images have been
dedicated to the public domain with a CC0 1.0 Public Domain Dedication.

For information on distribution, translations, or bulk sales, please contact


No Starch Press, Inc. directly:

No Starch Press, Inc.

245 8th Street, San Francisco, CA 94103

phone: 1.415.863.9900; [email protected]

www.nostarch.com

Library of Congress Cataloging-in-Publication Data

Names: Sweigart, Al, author.

Title: Invent your own computer games with Python / by Al Sweigart.

Description: San Francisco : No Starch Press, Inc., [2017]

Identifiers: LCCN 2016037817 (print) | LCCN 2016044807 (ebook) | ISBN

9781593277956 | ISBN 1593277954 | ISBN 9781593278113 (epub) | ISBN

159327811X (epub) | ISBN 9781593278120 (mobi) | ISBN 1593278128 (mobi)

Subjects: LCSH: Computer games--Programming. | Python (Computer program

language)

Classification: LCC QA76.76.C672 S785 2017 (print) | LCC QA76.76.C672

(ebook)

| DDC 794.8/1526--dc23

LC record available at https://lccn.loc.gov/2016037817

No Starch Press and the No Starch Press logo are registered trademarks of
No Starch Press, Inc. Other product and company names mentioned herein
may be the trademarks of their respective owners. Rather than use a
trademark symbol with every occurrence of a trademarked name, we are
using the names only in an editorial fashion and to the benefit of the
trademark owner, with no intention of infringement of the trademark.

The information in this book is distributed on an “As Is” basis, without


warranty. While every precaution has been taken in the preparation of this
work, neither the author nor No Starch Press, Inc. shall have any liability to
Other documents randomly have
different content
In the square there seemed to be almost the whole
population of the city, massed at either side. They took
up the chant as the party progressed and the sound
grew to a roar.

At the open space before the temple to the Sun they all 110
stopped and the Inca descended.

Mounting the steps of a smaller building, which Bill


whispered was, as its silver ornaments showed, the
temple to the Moon, he made a declamation which the
youths’ understanding of the dialect called quichua
enabled them to understand partly; he welcomed
Chasca, messenger of the Sun, come to earth to give
plenty and happiness to their land.

“See that small temple at one side,” Bill muttered to


Cliff. There were about five of the smaller buildings
around the greater temple; one for priests, one
dedicated to the stars, another to Illapa—general term
for thunder, lightning, all the forces of nature which they
also reverenced—as well as the larger one dedicated to
the Moon. Bill nodded toward that which was sacred to
Venus and other stars. Cliff agreed. “If they ask us or
give us a chance to choose, pick that one,” Bill
muttered. “It fits the part you are playing—it is the star
temple.”

The populace greeted the Inca’s talk with shouts and


cries of delight. Then a priest, in finely wrought robes,
advanced and spoke to Bill; they all seemed to maintain
a reverent air and hesitated to address Cliff directly. Bill
nodded and told his comrades they were to be housed
in the temple of the stars.

111
There they were led and young girls of a pretty red-
bronze, with long black hair, came to attend to their
wants while the crowds outside shouted and applauded
until the door was shut.

“You have come at a good time,” said the priest who


had come in with Bill, “He-Who-Comes-From-the-Stars
can destroy the crawling things that eat up our corn.”

“Is it, then, blighted?” Bill asked. The priest stared at


him and Bill read his mind: celestial messengers should
know everything. Bill smiled grimly and corrected his
blunder.

“You must know, O, noble of the High-and-Sacred-


Order, we who come to earth to serve Chasca must lose
the wisdom of the stars and the youth with the bright
and shining locks has not chosen to tell us of his
purpose among you.”

He glanced toward Cliff who was keeping apart from


them and added: “Now we would have food and then
we would be alone and I will speak of this matter of the
corn to Chasca.”
“It shall be so,” replied the priest and issued orders to 112
the girls who began to busy themselves bringing rude
tables and utensils into the small antechamber of the
temple where they were to be quartered.

“And if there are those who are sick,” went on Bill,


“name them to me that Chasca may be asked to smile
toward them and, if it is his purpose, lift them from the
ground.”

“There is one—but he is only a pale and worthless one,


not of our tribe, though quite a scholar. But first, O,
servant speak of our corn.”

“It shall be so,” said Bill. “Now—leave us.”

While they ate strange meats and other food from


dishes of silver and gold, served by the maidens, Bill
told Cliff that he knew that the father they had come to
help was alive. They were all glad and anxious to find a
way to see him.

“I wonder why those girls keep tittering, and looking at


Nicky,” said Tom as the dishes were cleared away.

Bill, smiling to himself, beckoned to one and said a few


words in quichua. The girl giggled, quite like any girl,
put her finger to her lips shyly and then whispered a
swift word and fled.

Bill broke into a hearty laugh.

“All right for you!” grumbled Nicky. “They have some 113
joke about me. If you don’t want to tell——”
“They have a name for you,” Bill chuckled. “Never mind
the exact word, but it means He-Who-Sits-Down-Upon-
Llamas!”

114
CHAPTER XII
CLIFF FACES A PROBLEM

“You fellows are having all the fun,” Cliff said ruefully,
while the disguised five sat around after dinner the third
day they spent in Quichaka. “You can go all over town
and see all the sights and I have to sit like a judge, all
alone in my temple.”

“It won’t be for long,” Nicky cheered him up. “Bill saw
your father again—how was he, Bill?”

“He’s getting better every minute,” Bill informed them.


“When they took me to see him first—at Chasca’s
command—and I don’t think they suspected anything—I
managed to get a chance to whisper to him that we
were disguised friends. He chirked up right away. He
isn’t so very sick—just weak. He lost hope and heart, I
guess, and sort of pined away. But today I got a chance
to whisper that his son is here—you ought to see him
spruce up!”

“If I could see him——” Cliff said.

“It would be dangerous. Either he, or you, might get 115


excited and spoil everything. No! Better wait till the
Feast of Raymi. Then we can have him brought before
you. He’s pretending that he is no better so that when
you see him you can pretend to cure him.”

“I think that will be best,” counselled Mr. Whitley. “Now


if you are ready, Tom, let us go out to the farm lands
and inspect that corn crop again. I am something of a
chemist and I think that if I can only find the
ingredients to mix a good insecticide, we can show
them what will seem like a marvelous destruction of the
pests which are eating away the grain. We must search
as quickly as we can because we want to be ready at
the festival.”

They went away toward the outlying farms and grain


fields. Mr. Whitley wanted to see exactly what insects
were at work, then he felt sure that he could discover
some means of ending their depredations.

Cliff sat in moody silence for a time.

“That girl who always laughs at me and calls me the 116


fellow who sits down on llamas,” Nicky broke the
silence. “She is a nice girl, even if she does laugh. She
told me there is going to be a big competition—I don’t
quite understand what kind—races or something. Why
can’t Cliff enter the race and then he could train and get
out for exercise.”

Bill offered to find out what was to occur, and went


away. He came back very soon and informed Cliff that
before the annual Feast of Raymi, the great festival in
honor of their sun-god, the Inca would choose from
among his sons the one who should be the next Inca.

Such young nobles were carefully trained during a long


period of preparation; they were taught the arts of war
as the Incas understood them; they were also taught
many other things, and then, at an appropriate time,
great games and competitions were held in which
endurance, prowess and skill were tested.

Such a contest was to be held very soon, just before the


great festival. Challcuchima, one of the ruler’s many
sons—for the Inca had many wives and many children—
was ready to receive the ceremonials of appointment.
Cliff, as Chasca, had already received and commended
Challcuchima; a fine, clean-limbed fellow near Cliff’s
age, the young Indian made a good impression.

“I had a chat with Inca Capac,” Bill said. “I hinted that it 117
was in the mind of Chasca to become as a mortal youth
and try his skill against the noble youths and the son
who is the Inca’s favorite. He liked the idea.”

“Then we will change the temple of the stars into


training quarters,” Nicky said excitedly, springing up. “I’d
like to do some contesting too. And so would Tom, if Mr.
Whitley can spare him.”

When they returned, Tom and Mr. Whitley took the plan
well; the young history instructor saw a splendid chance
to give his young charges a real insight into Inca sports
while he, with Bill, could be away in the mountains,
searching for certain chemicals or ore deposits from
which to extract certain mineral salts for his insecticide.

The populace learned of the coming contests and


became as excited as children. They loved sports and
contests; never a cruel race by nature the nobles,
although they endured hardships and inflicted pain
mercilessly to themselves and to enemies in war, were
by nature gentle and their sports were far less cruel
than those history attributes to the Spartan race, yet
somewhat akin to these in some aspects.

In tests of endurance the Spartan methods were 118


approached; already the young son of the Inca and
other noble youths had been going through these. Clad
in mean attire and sleeping on the ground, they had
endured many hardships; among the tests was a three
day fast. But that was over and there was a brief respite
during which food and exercise built up strength for the
climax—races, archery as they understood it with their
war bows and arrows, and contests of an athletic sort.

Cliff, as Chasca, but less the supposed god than the real
youth, was very popular with all the people as he
walked in the temple grounds. He and Tom and Nicky
strolled about, the day before the great contest,
admiring the marvels all about them.

“Did you ever see so much gold and silver?” Tom


exclaimed, “not only their utensils and ornament—but
look there! Beyond those real flowers and that little
clump of corn—there are gold and silver flowers—and
all the varieties of things that they grow!”

They strolled over to examine them. Bill joined them.


Mr. Whitley was busy with some minerals.

The garden they entered was an astonishing place. The 119


Incas used precious metals as we use bronze and
marble, for statues and ornaments and even duplicates
in gold and silver of their garden fruits and flowers. Gold
was so common in the mountains that it was not used
for money; in fact the Incas had no money of any sort;
they did not require it under their system of government
whereby everyone was cared for by the governing tribe,
so that wool, grain and other articles of daily necessity
were distributed fairly and plentifully and everyone
shared in the labor of their production. Therefore the
precious metals were employed for other uses than that
of currency.

They examined an especially beautiful parcel of corn


stalks and ears of grain, executed in gold and silver; the
stalks were of silver, the fat, bulging grain ears were
sheathed in golden reproductions of the husk, the corn
kernels peeped out, perfect and golden, while the tassel
of cornsilk was made of spun silver threads. They
exclaimed as they studied the wonderful workmanship
and then went on to the fresh wonders—fruit and
flowers so perfect that they would deceive except for
their sheen of white or deep, glowing yellow.

When they turned the corner of the star-temple they


stopped in surprise. In a huddled heap, a girl lay on the
ground, her body shaking with sobs that racked her.

“Why,” Nicky cried, “it’s Caya. It’s the girl who called me 120
the fellow who sits on llamas. What’s the matter, Caya?”

She sat up, her dusky face streaming with tears, and
shook her head, for Nicky had forgotten and spoken in
English.

Bill stepped close, squatted beside her and repeated the


question. At first she only shook her head, turned away
and buried her face in her arms, rocking in grief.

Finally she gasped out, in a sobbing voice, her story.

The Incas were not usually a cruel people, and it was


almost unheard of for them to make a human sacrifice
to their gods. But, in some great crisis of their
community, they were known to resort to such methods
to appease their gods.

Such a crisis was the attack of the insects upon their


corn.

And they were planning a sacrifice to induce Raymi,


their god, to look down with favor on their crop and
destroy the menace to their future food supply.

In great buildings far from the everyday life of the tribe 121
they kept certain chosen maidens who were employed
in the service of the Sun-god, spinning and weaving
tapestries, garments and ornamental cloth. From among
these a sacrifice was chosen, when the rare occasion
came for such a terrible need.

“They have—chosen—my—sister!” sobbed Caya.

“Goodness!” exclaimed Nicky. “We must do something


to stop them.”

“We can’t interfere in their religious rites,” warned Bill,


sadly but seriously.

The girl grovelled before Cliff, as though, being the


messenger from the stars he must be able to help her.

Cliff felt very badly. It was outrageous and inhuman,


this thing those people planned to do.

But what could he do to stop it?

He bent down and put a hand awkwardly on the girl’s


black, touseled hair.
“There must be some way——” he said, looking across
her head toward Bill.

“I can’t see any way,” Bill said morosely.

“When is this to take place?” he asked the girl in


quichua.

“At the Feast of Raymi!” she sobbed.

“Well, you stop crying and——” Bill nudged him. Cliff, 122
too, was using English. He hesitated, and Bill lifted the
slim, quivering girl to her feet.

“Be not afraid, child of the long and curling locks,” he


said kindly in the dialect she understood, “Chasca does
not wish to see your eyes wet. But what can be done,
Chasca will do; but breathe not a word lest Chasca’s pity
turn to wrath!”

She dropped to the ground and struck her forehead on


the path, to Cliff’s great dismay. Then as she remained
in that abased position he touched his chums’ arms and
they, with Bill, silently slipped away.

“Run and tell Mr. Whitley,” he urged Tom. “If he can get
his chemicals ready in time we may save Caya’s sister.”

“But if he can’t?” said Nicky desperately.

Cliff shrugged helplessly.

“I don’t know,” he said.

123
CHAPTER XIII
THE GAMES

“Come on, you Tom! Oh, Tom—come on!” Nicky shouted


and screeched above the roar of excitement. Neck and
neck, down a circling path beaten in the stubby grass,
Tom and an Indian raced, stride for stride; behind them
came a fleet following.

“Come on, Tom,” said Cliff, under his breath; he had to


fight down his desire to shout; he was Chasca and must
remember his pose.

Near the finish came the racers. Shouts and cries of


encouragement drowned Nicky’s shrill yells.

But Tom put forth his remaining burst of strength and


with scarcely three inches to his credit, flitted over the
mark—winner in the race in which all the young nobles
contested except the Inca’s son alone.

Not far beyond Quichaka there was a sudden rise of the 124
hills in front of whose sharp slope a large tract had been
leveled off. From early dawn the lesser natives had
streamed to their places on the hillside, and after an
early and ample breakfast Cliff and his companions had
gone forth with the Inca and his retinue, Cliff being
honored by a seat in a hamaca, as had been his fortune
on their arrival. He and Bill, Mr. Whitley and Nicky, sat
near one another, watching Tom in the foot races. Cliff
sat in the place of honor at one side of the Inca whose
other place on the further side was given to the high
priest of the temple of the Sun. Below them, among the
nobles, were his friends.

By his victory over the nobles Tom eliminated all


competition and would, after a rest, have to race
Challcuchima—and it had been privately agreed among
the youths of Cliff’s party that they might all best the
nobles but it would be an act of wisdom to allow the
Inca’s favorite son to be the final victor in any contest
except those in which Cliff, himself a “son of the stars”
would compete—there, since the Inca was claimed to be
of celestial descent, the contest might fall to whom the
Fates and skill should decree. So, later, Tom failed to
exert his utmost speed, although he felt that by doing
so he might have tied, if not outdistanced,
Challcuchima.

To the surprise of all the assembled natives, but not so 125


much to that of his friends, Nicky came off victor—
except against Challcuchima—in tests with bow and
arrow. While the willow of his own archery outfit was
lighter than the stout war bows, even in the size which
the youths of sixteen employed, his arm was sturdy and
his eye was well trained.

Then came battles with swords, very much like those


used in actual fighting; of course their edges were
blunted and their points rounded off; nevertheless in
the earnest thrust and swing of the mimic contests,
several accidents of guard resulted in thrusts that came
near to being fatal; in these contests the three chums
were spectators.
Then came matched wrestlers and there Cliff was in his
element; wrestling, under fair rules, he loved; in its
clever and strength-testing grips and stresses he was a
master.

Although they approached their supposedly celestial


antagonist in some awe and perhaps because of that
feeling did not use their best skill, nevertheless Cliff had
several very arduous and breath-taxing struggles with
young nobles; but each he finally laid neatly down with
both shoulders touching the sward.

Finally he vanquished his third antagonist and threw 126


himself down, panting. There were cheers and, with
eyes turned, he saw that Challcuchima had just
completed his own final test with a noble’s son. These
two, if they came off victors in their respective combats,
were to rest and then strive for the final victory.

The time came and the two, evenly matched in weight


and with equally quick eyes and well matched skill, took
their position on the grass. Cliff, of the two, had the
disadvantage that he had not been in athletic training as
long as had Challcuchima and was, therefore, the more
tired at the end of his three bouts.

However, he had no fear or dismay in his mind. At the


word of their Indian referee, the youths came together,
seeking for best holds and advantages.

Cliff got a surprise. Hands gripping each others arms, 127


straining for a chance to slip quick muscles into knots
when the right hold could be won, Cliff felt his
antagonist go suddenly as limp as a rag. Challcuchima
seemed to be sagging, as if he were weak and was
about to fall. Cliff was startled enough to let go in order
to catch the youth and prevent a fall. To his dismay
Challcuchima was on the very instant a steel spring and
a panther for quickness and before his adversary could
recover the ruler’s son had caught him with arms that
steadily bent the American youth backward for the
throw; but Cliff, in his turn, played a surprise trick, for
he let his legs go straight out from under him so that
instead of being forced down he was falling backward.
That threw his weight on Challcuchima’s wrist and the
hold broke; Cliff twisted in air as he felt the lock break,
so that while Challcuchima fought to regain his stand his
opponent landed on all fours and was up and sliding his
hands up as Challcuchima caught his arms.

The pace slowed then; each realized that he could gain


little by tricks that were more acrobatic than wrestling.
The half sneering curl left Challcuchima’s lips, however,
and a look of considerable respect was in his eyes as
they strove and strained, hands slipping, gripping
muscles tensing and flexing, sinews straining to the turn
and twist of their supple bodies.

As in the first strife the trickery of one was met by the 128
quick thought and agility of the other, so, during the
long minutes, for they wrestled continuously from start
to final defeat of one or the other, each saw himself
equaled. When Challcuchima secured the Inca
equivalent of a half-nelson, Cliff knew how to create
overconfidence and eventually disarm the holder and
himself get an advantage; when he seized a fortunate
instant to drive through into a hammerlock,
Challcuchima had a trick that made Cliff’s teeth snap in
the pain of suddenly stressed muscles and he had to
release. For it seemed that each of them knew some
principles of the science of causing a surprise reflex by
some hold that taxed a sensitive nerve more than a
straining muscle; and both used their knowledge.

Finally, wearied by strain and exertion they stood, arm


to arm, panting, eyeing one another and then the Inca
rose and spoke.

“Thus must end the contest,” he told them, “the son of


an Inca, himself descended from the god we worship,
can not hope to put down Chasca, himself holy and
from the stars. Nor can Chasca put down the son of the
master he has come to visit in friendship.”

“Even so, royal Father,” panted Challcuchima. “We were


evenly matched.”

Cliff smiled queerly, turning his head away; his chums 129
wondered why. The rest of the ceremonial was rather
tedious; long and flowery speeches were made by the
Inca and his chief priest, extolling the virtues of his son
and exhorting him to carry the wise and generous rule
forward when he became Inca. Garlands were placed on
the heads of all the contestants, made of bright flowers
with evergreen woven into that of Challcuchima to show
his endurance. Then he was crowned with the special,
tasseled fillet of vicuna wool, yellow in color, which
attested his appointment to be the next ruler.

When the ceremonies were over and, back in their


temple, the contenders and Bill and Mr. Whitley
discussed the previous events Tom turned to Cliff.

“Why did you smile at the Inca’s decision—when you


and Chally wrestled to a standstill?” he demanded.

“He bribed me,” Cliff answered. “Remember, when I had


the hammerlock hold——?”
“I wondered how he broke that,” Nicky interrupted and
Bill nodded.

“He whispered that if I defeated him he would be


disgraced, and promised to give me anything I wanted if
I would not win.”

“Did you make him promise anything?” Nicky was eager.

“No—but I will.”

“Oh!” Nicky was quick to see the idea in Cliff’s mind. “At 130
the Feast of Raymi—before the sacrifice—Caya’s sister.”

“Yes, if Mr. Whitley doesn’t get his chemicals to save the


corn.” Nicky turned a handspring, with a hurrah!

131
CHAPTER XIV
GOLD, AND A SURPRISE

“Four days more and you will see your father,” Bill told
Cliff. “He is much better. I saw him today.”

“If only I could slip away and see him, just for a
minute.” Cliff spoke wistfully. Bill shook his head.

“I am afraid they would suspect something,” he said. “It


was easy for me to see him, as I told you before; I
pretended to know that there was a great, pale scholar
from beyond the mountains whose knowledge I wanted
to compare with mine. The chief priest often talked with
your pa and he was glad to take me; and now I can go
alone. You are supposed to be spending all your time
pleading with the Sun-god to save their corn. I’m afraid
to have you caught going through the tunnels.”

Quichaka was a city modeled very closely along the 132


pattern of the ancient capital, Cuzco. As in that old
place, so in Quichaka, the grounds beneath the temples
were honeycombed with secret passages, tunnels that
led to underground chambers.

In the fifteenth century Topa Inca Yapanqui had


extended the borders of the flourishing empire of the
Incas to the Maule River and his son had later subdued
Quito and made it a part of his possessions; then the
Spaniards had come into the country. Observing that
these invaders had confiscated treasure, one of the
many sons of the reigning Inca of the period had
gathered much treasure and many of his nobles and
their subjects and had found a way to the hidden valley
where they had built up Quichaka during long years of
labor until it almost duplicated the ancient glories of
Cuzco, their former home.

“They don’t keep Cliff’s father in a dungeon, do they?”


Tom asked Bill. Mr. Whitley was away, alone, in the
foothills, searching for certain minerals. Bill shook his
head in reply to Tom.

“Not a dungeon,” he explained. “They have some cells


down under the ground but he is in a sort of chamber, a
good, big room.”

“Why isn’t he allowed to be in a house?” Nicky


demanded.

“Huamachaco, the high priest, is to blame for that,” Bill 133


said. “Cliff’s pa heard in some way that there was a
secret pass or some way to get out of the valley and he
tried to find it; they caught him and brought him back
and then he tamed the eaglet and when they
discovered that it was missing and found some torn
scraps of paper which he had tried to destroy after he
had spoiled the letter he had started on them,
Huamachaco, who isn’t any man’s dummy, decided to
have the white man watched.”

It was because the chief priest was so clever that Bill


feared to take the least chance of upsetting their plans.
Challcuchima, who had become very much attached to
Cliff and to his chums, in a respectful awed way, came
to visit them while they discussed their plans.

“Holy Chasca,” he said to Cliff in quichua dialect at


which Cliff was only fairly proficient, covering up his
deficiency by saying very little. “As successor to the Inca
rule I have been shown the mysteries of the secret
ways beneath the city. Among our hidden treasure is a
statue which is like you and yet not like you. My father,
the Inca, has permitted me to show it to you that you
may say if it is truly your image and if it should be set in
the Temple of the Stars.”

Cliff consulted Bill with his eyes and Bill, with a very tiny 134
wink and nod, bade him go. The chums, not invited,
looked downcast as Cliff walked across the gardens of
gold and silver with his young guide; but Bill soothed
them by telling them what he had seen underground.

Cliff was to see far more than was permitted to the eyes
of his supposed scholarly servant.

Taking him to the Inca, who greeted him with a mixed


respect and good feeling, Challcuchima led Cliff through
a tapestried and hidden opening in the private rooms of
the palace; then they went down many steps; Cliff had
brought a flashlight, an implement which caused
Challcuchima much awe and wonder when he was
allowed to operate it. Mostly, they used torches as they
traversed long passages, twisted around sharp bends,
slipped through cross-cuts.

Finally the two came to a huge chamber cut out of the


rock. Servants, carrying torches, held their lights high
and Cliff had to suppress his tendency to gasp. He had
never seen a sight to compare with that which met his
eyes.

“This is the room beneath the Temple of the Sun,” 135


Challcuchima informed him, “this is sacred ground.” He
and Cliff removed their sandals for everyone of the few
permitted access to the Temple or its underground
counterpart, went unshod.

Wide and long was the chamber. The light, flaring and
flickering as the torches leaped up and burned down,
was filled with gold and silver objects. There were
utensils of every sort, from plates, cups and rude pots,
to wonderful statues and urns and placques of precious
metal. It was a very treasure-house.

Challcuchima led Cliff, his eyes dazed by the glories of


the objects which he dared only to examine briefly in
passing, to a statue depicting a youth cast and moulded
in purest gold, a lithe, poised figure of a young man in
the action of running, poised on the toes of one foot,
the other leg thrust out and lifted as though it had just
taken a step.

“It is like to you and yet not like,” said Challcuchima.

Cliff thought quickly. It could not be a trap, this effort to


discover whether or not he knew the figure. Or could it.
And why a trap at all? Was anyone suspicious of his
pose and of the part he played?

If he said it was Chasca and the Incas knew differently, 136


he mused, he would disclose his ignorance: if he denied
that it was the image of Venus as they imaged the god
of that star, what might they answer?

He was spared the need for an answer.


Huamachaco, the high priest, coming down the passage
with a torch, said something in quite an excited manner.
Challcuchima grasped Cliff’s arm.

“There is something new—come,” he urged, “this can


wait!”

Cliff hurried after the servants with their torches and his
royal young guide turned swiftly into a passage they
had not used, which brought them out into one of the
small houses just beyond the Sun temple, a dwelling of
one of the priests.

There was a crowd assembled near the Temple of the


Stars and Cliff saw at once that Bill, Nicky and Tom were
on the way to join the gathering crowd. With
Challcuchima and Huamachaco he went quickly toward
them.

“What goes on?” he asked. Huamachaco did not answer.


He was rather stout and the climb had taxed his wind.

Cliff met his comrades at the edge of the group: some 137
fell back respectfully to give passage to the young Inca-
to-be and to Chasca and the high priest. They pressed
to the point of interest.

A native, much more stocky than the others they had


seen, and of a far deeper reddish complexion, seemed
to be a captive; but so rapid was the exchange of
conversation, so sharp the questions which
Huamachaco asked and so hasty the replies that Cliff
and his fellows were completely at sea.

Finally the crowd grew so thick that, at the high priest’s


order soldiers formed a quick wedge and began to
disperse them. The stranger stared fixedly for a while at
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

textbookfull.com

You might also like