Individual Curriculum – E24
-

1. Elemental Battle Arena Part 1
In this lesson, students embark on creating a player-versus-computer arena battle video game for Mystic Realms Studios. They first bring to life the player and opponent avatars and code their movements. Through this, they hone essential programming concepts like user-defined functions, global variables, and comparison operators. Plus, they add visual flair to their game using our custom Python library called Wizardlib.
-

2. Elemental Battle Arena Part 2
In this lesson, students incorporate the functionality for launching attacks from both the player and opponent characters. Along the journey, they reinforce their understanding of vital concepts such as timers, random number generation, and animation creation. Additionally, they broadened their grasp of Booleans by discovering how to utilize Boolean flags for program control.
-

3. Elemental Battle Arena Part 3
In this lesson, the students conclude their work on the Elemental Battle Arena game by introducing a health system. They utilize a dictionary to monitor the player’s and opponent’s health, updating it whenever a projectile strikes either character. Furthermore, they gain insights into nested functions for removing projectile images upon collision with a character.
-

4. Mystic Market Part 1
In this lesson, students kick off their work on a shopping application, named Mystic Market, which specializes in magical merchandise. This endeavor will acquaint students with the abilities essential for crafting user interfaces prevalent in contemporary web design. They revisit concepts like dictionaries, for loops, user-defined functions, and more, applying them to showcase the store’s inventory on the interface.
-

5. Mystic Market Part 2
In this lesson, students persist in their efforts on the Mystic Market Shopping App, now focusing on integrating an online shopping cart. They code the cart to enable users to effortlessly add or remove items, and they introduce functionality to display the cart’s contents along with the calculated total cost. Throughout this process, they revisit key concepts including membership operators, nested functions, extracting keys from dictionaries, and more.
-

6. Mystic Market Part 3
In this lesson, students complete the Mystic Market Shopping App by creating a mechanism for placing orders and subsequently generating and presenting the user’s receipt. This comprehensive task enables them to revisit various essential concepts, such as incrementing variables, function return values, function reuse, and determining the length of a dictionary.
-

7. Wizard Quest Part 1
In this lesson, students embark on the initial stages of crafting a text-based game called Wizard Quest. This captivating adventure game allows players to input commands to steer their character. During this initial development phase, they focus on acquiring user input, constructing the core game loop, enhancing code efficiency, and presenting the user with a range of choices.
-

8. Wizard Quest Part 2
In this lesson, students press forward with their Wizard Quest game, now concentrating on devising a random room generator for player exploration. Additionally, they introduce randomness into the loot players receive, contingent on their luck. This undertaking affords them the opportunity to revisit various concepts, including module creation, list usage, logical operators, and the generation of random values.
-

9. Wizard Quest Part 3
In this lesson, students finalize the creation of their text-based adventure game, Wizard Quest. They accomplish the implementation of a combat system, allowing players to engage in spontaneous battles with monsters while exploring the dungeon for treasures. The battle system effectively manages the player’s and monster’s health and grants the player a random amount of gold upon triumph. The lesson delves into fundamental subjects such as indefinite while loops, conditional expressions, and the usage of functions.
-

10. City Architect Part 1
In this lesson, students embark on their final project of this course, City Architect, a city-building game centered on acquiring properties and growing the city’s population. They advance by integrating the game’s start menu and the dynamic placement of buildings and purchase buttons. This session provided them with the opportunity to strengthen their grasp of familiar concepts like creating dictionaries and retrieving dictionary values, while also introducing new concepts like nested lists within dictionaries and employing lists in a manner similar to dictionaries.
-

11. City Architect Part 2
In this lesson, students continued developing their City Architect game, focusing on implementing a method of acquiring properties and boosting population and income. In pursuit of this goal, they grapple with a wide array of concepts, encompassing arithmetic logic, the utilization of timing functions, comparison operators, return values from functions, and various others.
-

12. City Architect Part 3
In the final lesson of this course, students complete their City Architect game by introducing a win-lose system. They design a timer that employs comparison operators to identify when the remaining time falls below a specific threshold, leading to the conclusion of the game. Additionally, they determine whether the user has achieved a particular population level, which in turn triggers the display of either a victory or defeat screen.