BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//American Young Coder - ECPv6.10.1.1//NONSGML v1.0//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:American Young Coder
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:20220313T100000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0700
TZOFFSETTO:-0800
TZNAME:PST
DTSTART:20221106T090000
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20220302T190000
DTEND;TZID=America/Los_Angeles:20220302T200000
DTSTAMP:20260514T061423
CREATED:20220303T040650Z
LAST-MODIFIED:20220303T171352Z
UID:11835-1646247600-1646251200@www.ayclogic.com
SUMMARY:7 PM - Python Game Development
DESCRIPTION:Today: \n\nWe added the bullet sprite.\nWe added direction to the bullet and spawned them in 4 different directions\nWe added the enemy health.\n\nHomework: \n\nAdd the landing page with a play button:\nWhen you click the play button show the game in session page instead.\nAdd collision detection between the bullet and the enemy which destroy both sprites.
URL:https://www.ayclogic.com/event/7-pm-python-game-development-111/
CATEGORIES:Advanced Python Game Development
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20220305T130000
DTEND;TZID=America/Los_Angeles:20220305T140000
DTSTAMP:20260514T061423
CREATED:20220305T220348Z
LAST-MODIFIED:20220305T220348Z
UID:11874-1646485200-1646488800@www.ayclogic.com
SUMMARY:1 PM - Python Game Development
DESCRIPTION:Today: \n\nWe went over the homework to add the landing page.\nWe went over the game walk and started the maze solver module to user for the enemy tank.\nAdded logic to kill the enemy tank with the bullet.\n\nHomework: \n\nAdd the game won page when the enemy tank is killed.  You should be able to click the play button on the game won page. Don’t worry about reseting the state of the map and game\, we’ll handle that later. Make sure the game won page looks something like this:
URL:https://www.ayclogic.com/event/1-pm-python-game-development-51/
CATEGORIES:Advanced Python Game Development
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20220309T190000
DTEND;TZID=America/Los_Angeles:20220309T200000
DTSTAMP:20260514T061423
CREATED:20220310T041157Z
LAST-MODIFIED:20220310T042705Z
UID:11938-1646852400-1646856000@www.ayclogic.com
SUMMARY:7 PM - Python Game Development
DESCRIPTION:Today: \n\nWe went over the homework to add the landing page.\nWe add the TowerForPurchase sprite and created a floating TowerForPurchase when the target collides with the non floating TowerForPurchase.\n\nHomework: \n\nCreate a new sprite class called “TowerHotspot”\, and then position them at these locations:\n\nWhen the floating tower collides with a tower hotspot sprite\, create a Tower at the hotspot location using similar logic we used to create the floating TowerForPurchase.\nWhen the Tower is created\, remove the floating tower from its sprite group.\n\n 
URL:https://www.ayclogic.com/event/7-pm-python-game-development-112/
CATEGORIES:Advanced Python Game Development
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20220312T130000
DTEND;TZID=America/Los_Angeles:20220312T140000
DTSTAMP:20260514T061423
CREATED:20220312T220320Z
LAST-MODIFIED:20220312T220959Z
UID:11984-1647090000-1647093600@www.ayclogic.com
SUMMARY:1 PM - Python Game Development
DESCRIPTION:Today \n\nWe went over the homework to add the game won page.\nWe added logic so the enemy tank is recreated after winning the game.\nWe added the maze_solver and imported it in the enemy tank.\n\nHomework: \n\nCreate a new sprite group called enemy_bullet_group that will hold bullets shot from the enemy tank.\nAdd a method called launch_enemy_bullet which fires a bullet from the self.enemy_tank.  You adapt the logic from self.launch_bullet method.   You shouldn’t need to click the mouse to launch the enemy bullet successfully.  Create a Bullet with the correct direction and then add it to the self.enemy_bullet_group.  Make sure the enemy bullets get drawn on the screen.
URL:https://www.ayclogic.com/event/1-pm-python-game-development-52/
CATEGORIES:Advanced Python Game Development
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20220319T130000
DTEND;TZID=America/Los_Angeles:20220319T140000
DTSTAMP:20260514T061423
CREATED:20220319T211035Z
LAST-MODIFIED:20220323T031025Z
UID:12090-1647694800-1647698400@www.ayclogic.com
SUMMARY:1 PM - Python Game Development
DESCRIPTION:Today:\n\nWe went over the homework to make the enemy tank fire the bullet.\nWe visualized the maze solver’s path by creating a white dot for each node coordinate.\nWe used the direction of the second node in the path from the maze solver to determine which way to move the enemy tank.\nWe fixed the bug where the maze solver thinks the enemy tank only takes up once map cell.\n\nHomework:\n\nAdd collision detection between the enemy bullets and the player tank.\nCreate a new game mode called GAME_OVER.\nWhen the game mode is GAME_OVER show game_over page which should look like this:\n\n\n\n\nWhen the enemy tank shoots the player tank change the game mode to be GAME_OVER.
URL:https://www.ayclogic.com/event/1-pm-python-game-development-53/
CATEGORIES:Advanced Python Game Development
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20220323T190000
DTEND;TZID=America/Los_Angeles:20220323T200000
DTSTAMP:20260514T061423
CREATED:20220324T033417Z
LAST-MODIFIED:20220331T015654Z
UID:12166-1648062000-1648065600@www.ayclogic.com
SUMMARY:7 PM - Python Game Development
DESCRIPTION:Today: \n\nWe went over the homework to add the coins indicator.\nWe added the start waves button.\nWe added code for handling enemy waves.\n\nHomework: \n\nAdd configs for three different enemy types: ENEMY_1\, ENEMY_2\, ENEMY_3.\nInside enemy.py sprite\, depending on the enemy_type\, load a different image corresponding to the name of the directory.\nMake sure that you can load different enemy types with the three series of image animation where the given type of enemy is walking.\nBonus: create a new method called “create_enemy_with_timer”. If the self.current_wave attribute has a length greater than three then create a new enemy.  Use the self.current_wave.pop() method to make the current wave smaller and look up the next enemy_type.  Delay the creating of enemies using the timer technique.  Don’t try to pop more enemy_types and create more enemies if self.current_wave is empty.
URL:https://www.ayclogic.com/event/7-pm-python-game-development-114/
CATEGORIES:Advanced Python Game Development
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20220326T130000
DTEND;TZID=America/Los_Angeles:20220326T140000
DTSTAMP:20260514T061423
CREATED:20220326T210928Z
LAST-MODIFIED:20220326T210940Z
UID:12206-1648299600-1648303200@www.ayclogic.com
SUMMARY:1 PM - Python Game Development
DESCRIPTION:Today: \n\nWe went over homework to add the game over page.\nWe went over how to reset the game after clicking the play button.\nWe added logic to modify the map so that the enemy tank finds a faster path through the map after destroying some bullets.\nWe used “copy.deepcopy” to make a copy of the MAP and store it in the self.map_copy attribute so that we can reset the MAP when clicking the play button again.\n\nHomework: \n\nAdd collision detection between the shield group and the enemy bullet group so the the shield protects the play from the enemy tank’s bullets.  The shield shouldn’t be destroyed when a bullet hits it\, but the bullet should be destroyed.\nAdd some logic so that the shield disappears after a certain number of frames\, maybe 10 seconds or 400 frames.  You can use the similar technique we used before for timers e.g. in launching_bullet.\nAdd some sounds effects when the player tank or enemy tank shoot a bullet.  Use the “assets/audio/TankFiring.wav” file.  You can use examples for previous projects how to load a sound and play it from a collided method/callback.
URL:https://www.ayclogic.com/event/1-pm-python-game-development-54/
CATEGORIES:Advanced Python Game Development
END:VEVENT
END:VCALENDAR