BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//American Young Coder - ECPv6.10.1.1//NONSGML v1.0//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-ORIGINAL-URL:https://www.ayclogic.com
X-WR-CALDESC:Events for American Young Coder
REFRESH-INTERVAL;VALUE=DURATION:PT1H
X-Robots-Tag:noindex
X-PUBLISHED-TTL:PT1H
BEGIN:VTIMEZONE
TZID:America/Los_Angeles
BEGIN:DAYLIGHT
TZOFFSETFROM:-0800
TZOFFSETTO:-0700
TZNAME:PDT
DTSTART:20210314T100000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0700
TZOFFSETTO:-0800
TZNAME:PST
DTSTART:20211107T090000
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20211201T180000
DTEND;TZID=America/Los_Angeles:20211201T190000
DTSTAMP:20260428T154828
CREATED:20211202T045211Z
LAST-MODIFIED:20211202T045211Z
UID:10591-1638381600-1638385200@www.ayclogic.com
SUMMARY:6 PM - Python Game Development
DESCRIPTION:Today We Do:\n\nWe made some minor modifications to the final project.\nWe enhanced Shoot Balloon project by making the Balloon hitbox smaller. We also made the Explosion sprite\, able to show the score.\nThe class is done\, congrats for graduating from this class and completing a cool game “Adventure Run”
URL:https://www.ayclogic.com/event/6-pm-python-game-development-175/
CATEGORIES:Python Game Development
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20211201T190000
DTEND;TZID=America/Los_Angeles:20211201T200000
DTSTAMP:20260428T154828
CREATED:20211202T043453Z
LAST-MODIFIED:20211202T043453Z
UID:10589-1638385200-1638388800@www.ayclogic.com
SUMMARY:7 PM - Advanced Python Game Development
DESCRIPTION:Today We Do\n\nWe reviewed inheritance where with inheritance\, we can avoid duplicating codes.\nWe went over the homework on how to properly override Turret.load_image(self) and Turret.get_turret_angle(self) inside EnemyTurret.\nWe extracted codes inside PlayerTank.update() which handles tank movement into its own method “tank_movement_control”. This way we can override this method in EnemyTank.tank_movement_control to make the enemy tank move independently.\n\nHomework\n\nMake the enemy tank not able to go through the wall. Look at how we did it for Player Tank.\nPlayerTank.load_images(self) is overriden inside EnemyTank.load_images(self). But there are too many codes being duplicated. Extract the code inside PlayerTank.load_images(self) which will get the image path into its own method. And then override this method inside EnemyTank.
URL:https://www.ayclogic.com/event/7-pm-advanced-python-game-development-7/
CATEGORIES:Python Class,Python Game Development
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20211203T190000
DTEND;TZID=America/Los_Angeles:20211203T200000
DTSTAMP:20260428T154828
CREATED:20211204T035953Z
LAST-MODIFIED:20211211T030330Z
UID:10608-1638558000-1638561600@www.ayclogic.com
SUMMARY:7 PM - Python OOP
DESCRIPTION:Homework\n\nUnder “src” folder\, create monster.py\nInside monster.py\, create Monster class with the following attribute: species\, health\, max_attack\nInside monster.py\, create get_info() method.\nInside monster_system.py\, add 3 monsters inside self.monster_dictionary.\n\nkey = “dragon” \, value = Monster class – species: dragon\, health: 100\, max_attack: 30\nkey = “troll” \, value = Monster class – species: troll\, health: 50\, max_attack: 20\nkey = “water golem” \, value = Monster class – species: water golem\, health: 30 max_attack: 20\n\n\nInside monster_system.py\, add a new method display_all_monster(self): Inside this method\, loop through all Monster inside the dictionary and print the monster.get_info()\n\nDragon - 100 health - 50 Max attack\nTroll - 50 health - 20 Max attack\nWater Gollem - 30 health - 20 Max attack\nEnter your selection ('exit' to quit): dragon\n\nDragon - 100 health - 50 Max attack\nTroll - 50 health - 20 Max attack\nWater Gollem - 30 health - 20 Max attack\nEnter your selection ('exit' to quit): troll\n\nDragon - 100 health - 50 Max attack\nTroll - 50 health - 20 Max attack\nWater Gollem - 30 health - 20 Max attack\nEnter your selection ('exit' to quit): exit
URL:https://www.ayclogic.com/event/7-pm-python-oop-12/
CATEGORIES:OOP Python,Python Class
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20211204T130000
DTEND;TZID=America/Los_Angeles:20211204T140000
DTSTAMP:20260428T154828
CREATED:20211204T215909Z
LAST-MODIFIED:20211204T215909Z
UID:10617-1638622800-1638626400@www.ayclogic.com
SUMMARY:1 PM - Python Game Development
DESCRIPTION:Today: \n\nWe cloned the tank-game git repo.\nWe learned about git branches.\nWe added the tank sprite.\n\nHomework \n\nAdd logic so that you can move the tank. Use “a\, s\, d\, w” keys similar to what we did for the Birdie project to control the player.\nCreate another sprite that draws the Brick on the screen.  You can use the “Brick.png”. The brick sprite should have a location\, (x\, y)\, and screen.
URL:https://www.ayclogic.com/event/1-pm-python-game-development-40/
CATEGORIES:Advanced Python Game Development
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20211204T140000
DTEND;TZID=America/Los_Angeles:20211204T150000
DTSTAMP:20260428T154828
CREATED:20211205T031347Z
LAST-MODIFIED:20211205T031406Z
UID:10640-1638626400-1638630000@www.ayclogic.com
SUMMARY:2 PM - Intro To Python - Gamas
DESCRIPTION:Today We Do\n\nWe did Kaleido Spiral turtle project.\n\nHomework\n\nContinue making progress for your Turtle module project. If you need to revise your project proposal\, please email me again your revision to gamas@ayclogic.com. Try to do your best in this Turtle module project especially if you did not do well in your quizes as this will boost your grade.
URL:https://www.ayclogic.com/event/2-pm-intro-to-python-38/
CATEGORIES:Python Class,Python Level 1
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20211205T190000
DTEND;TZID=America/Los_Angeles:20211205T200000
DTSTAMP:20260428T154828
CREATED:20211206T040720Z
LAST-MODIFIED:20211206T040720Z
UID:10652-1638730800-1638734400@www.ayclogic.com
SUMMARY:7 PM - Python Game Development
DESCRIPTION:Today \n\nWe went over the home fix the cloud position offset.\nWe added the hitbox/rect attribute for the bird and fireball sprites.\nWe added collision detection between the birds and sprites.\nWe also added a cooldown delay to slow down the creation of fireballs when the player presses the “f” key.\nI’ve uploaded the source code here.\n\nHomework \n\nAdd a “self.rect” attribute inside the player class\, using the width and height of the first image. Visualize the hitbox by drawing it on the screen using the same technique we used for the bird and fireball.\nAdd collision detection between the bird and the player.  When the player is hit by any bird\, then the player should disappear.
URL:https://www.ayclogic.com/event/7-pm-python-game-development-96/
CATEGORIES:Python Game Development
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20211208T190000
DTEND;TZID=America/Los_Angeles:20211208T200000
DTSTAMP:20260428T154828
CREATED:20211209T040709Z
LAST-MODIFIED:20211209T040709Z
UID:10671-1638990000-1638993600@www.ayclogic.com
SUMMARY:7 PM - Python Game Development
DESCRIPTION:Today: \n\nWe went over the homework\nWe reviewed why we need to use copy.deepcopy.\nWe modified the self.map_copy attribute as the bricks get destroyed.\n\nHomework \n\nAdd a type parameter to the Brick constructor. When the type is WALL_FLAG\, then load the normal brick self.image attribute\, but if the type is BORDER_WALL_FLAG\, then use the IronWall.png for the self.image attribute.\nModify the map to show the iron wall/brick around the edge of the map.
URL:https://www.ayclogic.com/event/7-pm-python-game-development-97/
CATEGORIES:Python Game Development
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20211209T160000
DTEND;TZID=America/Los_Angeles:20211209T170000
DTSTAMP:20260428T154828
CREATED:20211210T015745Z
LAST-MODIFIED:20211210T015745Z
UID:10674-1639065600-1639069200@www.ayclogic.com
SUMMARY:4 PM - Python OOP - Latisha
DESCRIPTION:Homework\n\nFinish the Book A Trip feature in Driver System\, just like below\n\nPlease select one of the following menu\n1. Add driver\n2. Book a trip\n3. Exit\nPlease make your selection (1\, 2 or 3): 2\n\nBOOK A TRIP\nWhich driver you want to choose: \n- Gamas - 60 miles/hour - Regular Driver\n- John - 60 miles/hour - New York Taxi Driver\nEnter one of the driver name above: Gamas\nEnter distance of your trip in miles: 120\nEnter what time you want to leave (0 - 24): 6\nBecause of rush hour\, the trip time will take longer than usual.\nIt will take 4.0 hours to make this trip with 'Gamas'
URL:https://www.ayclogic.com/event/4-pm-python-oop-latisha/
CATEGORIES:OOP Python,Python Class
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20211210T190000
DTEND;TZID=America/Los_Angeles:20211210T200000
DTSTAMP:20260428T154828
CREATED:20211211T051918Z
LAST-MODIFIED:20211211T051918Z
UID:10701-1639162800-1639166400@www.ayclogic.com
SUMMARY:7 PM - Python OOP
DESCRIPTION:Homework\n\nIn your MonsterInheritance project\, before displaying list of monster\, display the player’s health. (self.player_health)\nContinue our “2. Sword attack – 10 to 20 damage” code\, which is to reduce the player’s health by generating random number between 0 to monster.max_attack. And then print the updated player’s health.\nWhen user select “1. Magic attack” display the Magic attack menu. Look at the bottom of this page to see what the magic attack menu look like.\nWhen user select one of the magic attack menu\, do a similar thing with Sword attack\, reduce monster’s health and reduce player’s health.\nLook at below example\n\nWelcome to AYCLOGIC Adventure game.\n\nYour have 200 health remaining.\nPlease choose your monster: \nTroll - 50 healths - 30 Max attack points.\nWater Golem - 30 healths - 20 Max attack points.\nDragon - 100 healths - 50 Max attack points.\nEnter your selection (enter "exit" to quit): troll\n\nWhat do you want to do with the Troll\n1. Magic attack\n2. Sword attack - 10 to 20 damage\nEnter your selection: 2\nYou attacked Troll and the Troll has 37 health remaining.\nTroll attacked you with 21 attack points. Your remaining health is 179.\n\nYour have 179 health remaining.\nPlease choose your monster: \nTroll - 37 healths - 30 Max attack points.\nWater Golem - 30 healths - 20 Max attack points.\nDragon - 100 healths - 50 Max attack points.\nEnter your selection (enter "exit" to quit): troll\n\nWhat do you want to do with the Troll\n1. Magic attack\n2. Sword attack - 10 to 20 damage\nEnter your selection: 1\n\nWhat kind of magic attack you want to do:\n1. Fire magic - Max damage: 10\n2. Water magic - Max damage: 10\n3. Earth magic - Max damage: 15\n4. Wind magic - Max damage: 8 \nEnter your selection: 1\nYou attacked Troll and the Troll has 32 health remaining.\nTroll attacked you with 9 attack points. Your remaining health is 170.\n\nYour have 170 health remaining.\nPlease choose your monster: \nTroll - 32 healths - 30 Max attack points.\nWater Golem - 30 healths - 20 Max attack points.\nDragon - 100 healths - 50 Max attack points.\nEnter your selection (enter "exit" to quit):
URL:https://www.ayclogic.com/event/7-pm-python-oop-13/
CATEGORIES:OOP Python,Python Class
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20211211T130000
DTEND;TZID=America/Los_Angeles:20211211T140000
DTSTAMP:20260428T154828
CREATED:20211211T220019Z
LAST-MODIFIED:20211218T210015Z
UID:10706-1639227600-1639231200@www.ayclogic.com
SUMMARY:1 PM – Python Game Development
DESCRIPTION:Today: \n\nWe went over the homework to add Brick sprite and move the tank.\nWe made it so the tank can only move one direction at a time.\nWe rotated the turret to face the correct direction.\n\nHomework: \n\nCreate a new sprite for the turret using the image “assets/Player_2/Type_1/PlayerTank_2_1_Turret_0.png”.\nAdd the self.turret sprite as an attribute of the Tank class in the __init__ method.  When calling the update method for the Tank class\, also call the self.turret.update()\nUpdate the location of the Turret sprite to keep it in sync with the location of the  Tank sprite.
URL:https://www.ayclogic.com/event/1-pm-python-game-development-41/
CATEGORIES:Python Game Development
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20211211T140000
DTEND;TZID=America/Los_Angeles:20211211T150000
DTSTAMP:20260428T154828
CREATED:20211211T225600Z
LAST-MODIFIED:20211211T225600Z
UID:10712-1639231200-1639234800@www.ayclogic.com
SUMMARY:2 PM - Intro To Python - Gamas
DESCRIPTION:Homework\n\nMake progress on your Turtle project\, it is due on Jan 8\, so if you can please complete 75% of your project by next week.\nContinue on Dec11_ShoppingCart.py project. Make the menu like this\n\nWhat do you want to purchase:\n1. Milk - $5\n2. Eggs - $4\n3. Orange Juice - $6\n4. Bread - $7\n99. I am done\, checkout please\nEnter your selection: 1\n\nWhat do you want to purchase:\n1. Milk - $5\n2. Eggs - $4\n3. Orange Juice - $6\n4. Bread - $7\n99. I am done\, checkout please\nEnter your selection: 2\n\nWhat do you want to purchase:\n1. Milk - $5\n2. Eggs - $4\n3. Orange Juice - $6\n4. Bread - $7\n99. I am done\, checkout please\nEnter your selection: 99\n\nThank you for using AYCLOGIC Shopping Application.\nBye bye
URL:https://www.ayclogic.com/event/2-pm-intro-to-python-gamas-9/
CATEGORIES:Python Class,Python Level 1
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20211212T190000
DTEND;TZID=America/Los_Angeles:20211212T200000
DTSTAMP:20260428T154828
CREATED:20211213T040346Z
LAST-MODIFIED:20211220T030758Z
UID:10758-1639335600-1639339200@www.ayclogic.com
SUMMARY:7 PM - Python Game Development
DESCRIPTION:Today \n\nWe went over the homework.\nWe added the different game modes.\nWe added the landing page.\nWe added logic to switch from the landing page to game in session when clicking the play button.\nWe switched from the game in session back to the landing page when the player dies.\nI’ve uploaded the source code here.\n\nHomework: \n\nCreate a massive fireball when the player pressed the space “g” key.  The massive fireball shouldn’t be destroyed when it collides with the birds.  You don’t need to create a new sprite to handle the massive fireball.\nOn the landing page\, create birds and clouds to make the landing page more interesting.
URL:https://www.ayclogic.com/event/7-pm-python-game-development-98/
CATEGORIES:Python Game Development
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20211215T190000
DTEND;TZID=America/Los_Angeles:20211215T200000
DTSTAMP:20260428T154828
CREATED:20211216T040548Z
LAST-MODIFIED:20211216T040720Z
UID:10793-1639594800-1639598400@www.ayclogic.com
SUMMARY:7 PM - Python Game Development
DESCRIPTION:Today: \n\nWe went over the homework.\nWe went over the maze solver and started the process to move the enemy tank with it.\n\nHomework: \n\nAdd a game “mode” attribute in TankGame\, which starts with GAME_NOT_IN_SESSION\, and add a landing page with the play button\, and the logo\n\nAdd logic so that if the user clicks the play button in transitions to game in session.
URL:https://www.ayclogic.com/event/7-pm-python-game-development-99/
CATEGORIES:Advanced Python Game Development
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20211217T190000
DTEND;TZID=America/Los_Angeles:20211217T200000
DTSTAMP:20260428T154828
CREATED:20211218T040113Z
LAST-MODIFIED:20211218T040113Z
UID:10804-1639767600-1639771200@www.ayclogic.com
SUMMARY:7 PM - Python OOP
DESCRIPTION:Homework\n\nCreate Troll (troll.py) and WaterGolem (water_golem.py) classes\nTroll class should be immune to “earth” magic attack.\nWaterGolem class should be immune to “water” magic attack.\nLook at how we did the Dragon class.\nInside monster_system.py\, inside initialize_monsters method\, make sure to use both Troll and WaterGolem classes instead of Monster class.
URL:https://www.ayclogic.com/event/7-pm-python-oop-14/
CATEGORIES:OOP Python,Python Class
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20211218T130000
DTEND;TZID=America/Los_Angeles:20211218T140000
DTSTAMP:20260428T154828
CREATED:20211218T220120Z
LAST-MODIFIED:20211218T221050Z
UID:10820-1639832400-1639836000@www.ayclogic.com
SUMMARY:1 PM - Python Game Development
DESCRIPTION:Today \n\nWe went over the homework to add the turret sprite.\nWe created a MAP config inside the config.py file.\nWe made the MAP have the correct size\, 28 columns and 20 rows so it can “cover” the entire screen.\nAs always\, you can check out the code on my branch here.\n\nHomework \n\nCustomize your map to make it interesting.  You could create a maze pattern or whatever you want.\nAdd a Bullet sprite using the “Bullet.png” filename. Get a bullet to appear on the screen by creating a Bullet sprite.  The bullet should move to the right\, you can reference what we did in the Birdie game\, it’s similar to the fireball.\nWhen use presses the mouse button\, shoot a bullet by creating a new bullet and adding it to the bullet group.\nMake the bullet get created from the position of the tank.
URL:https://www.ayclogic.com/event/1-pm-python-game-development-42/
CATEGORIES:Advanced Python Game Development
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20211218T140000
DTEND;TZID=America/Los_Angeles:20211218T150000
DTSTAMP:20260428T154828
CREATED:20211219T001024Z
LAST-MODIFIED:20211219T001024Z
UID:10838-1639836000-1639839600@www.ayclogic.com
SUMMARY:2 PM - Intro To Python - Gamas
DESCRIPTION:Today We Do\n\nWe continue with Dec11_ShoppingCart.py program\n\nHomework\n\nThe turtle python project is due. Please email your program to gamas@ayclogic.com before Jan 8.\nAlso in the Dec11_ShoppingCart program\, add code to checkout function so it will list all items from the list. If you do it properly\, when user checkout (“99”)\, it will print like the following depending on what the user purchase\n\nYou have purchased 4 items:\nMilk\nMilk\nEggs\nEggs\n\nThank you for your business\, please pay $18
URL:https://www.ayclogic.com/event/2-pm-intro-to-python-gamas-10/
CATEGORIES:Python Level 1
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20211218T180000
DTEND;TZID=America/Los_Angeles:20211218T190000
DTSTAMP:20260428T154828
CREATED:20211219T025632Z
LAST-MODIFIED:20211219T030114Z
UID:10842-1639850400-1639854000@www.ayclogic.com
SUMMARY:6 PM - Intro To Python - David
DESCRIPTION:Today We Do:\n\nWe went over homework from page 123 and 124.\n\nHomework:\n\nCreate a file called Dec18_Quiz1PrepHomework.py\nDo exercises from https://www.ayclogic.com/intro-to-python-exercises/\nIf you have question\, please email either david@ayclogic.com or gamas@ayclogic.com.\nJayden please finished the homework from last week.\nNo class from Dec 24 to Jan 2. The class will resume on Jan 8\, 2022.
URL:https://www.ayclogic.com/event/6-pm-intro-to-python-david-8/
CATEGORIES:Python Class,Python Level 1
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20211219T190000
DTEND;TZID=America/Los_Angeles:20211219T200000
DTSTAMP:20260428T154828
CREATED:20211220T040115Z
LAST-MODIFIED:20211220T040451Z
UID:10859-1639940400-1639944000@www.ayclogic.com
SUMMARY:7 PM - Python Game Development
DESCRIPTION:Today: \n\nWe went over the homework.\nWe reviewed the game loop again.\nWe added the score attribute.\nWe fixed the bug preventing player from being recreated on the screen.\nI’ve uploaded the source code here.\n\nHomework: \n\nCreate a https://gitlab.com/ account. Make sure you *don’t* sign in with Google\, Twitter\, or any other existing account. Instead create a new account so that you’ll have a password associated with gitlab\, that we can integrate with PyCharm.
URL:https://www.ayclogic.com/event/7-pm-python-game-development-100/
CATEGORIES:Python Game Development
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20211222T160000
DTEND;TZID=America/Los_Angeles:20211222T170000
DTSTAMP:20260428T154828
CREATED:20211223T011355Z
LAST-MODIFIED:20211223T011529Z
UID:10882-1640188800-1640192400@www.ayclogic.com
SUMMARY:4 PM - Intro To Python - David
DESCRIPTION:Today We Do\n\nWe continued with Dec14_Robot.py project.\nWe added left_arm(x\,y\,color) function. I have uploaded the code to the google drive\, please take at the latest file in the google drive here.\n\nHomework\n\nSimilar to left_arm function\, create a new function right_arm(x\,y\,color). The function should be similar to the left_arm function. After the right_arm function is done\, called it to draw something like below
URL:https://www.ayclogic.com/event/4-pm-intro-to-python-david/
CATEGORIES:Python Class,Python Level 1
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20211222T190000
DTEND;TZID=America/Los_Angeles:20211222T200000
DTSTAMP:20260428T154828
CREATED:20211223T042129Z
LAST-MODIFIED:20211223T042139Z
UID:10890-1640199600-1640203200@www.ayclogic.com
SUMMARY:7 PM - Python Game Development
DESCRIPTION:Today: \n\nWe went over the homework to add the different game modes.\nWe added the maze solver inside the enemy tank.\nWe visualized the path from the enemy tank to the player tank.\n\nHomework: \n\nCreate a sound effect when the tank shoots a bullet: use “TankFiring.wav”.  Also create another sound effect when the bullet colides with the brick: use “hit1.wav”.
URL:https://www.ayclogic.com/event/7-pm-python-game-development-101/
CATEGORIES:Python Game Development
END:VEVENT
END:VCALENDAR