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:20220202T190000
DTEND;TZID=America/Los_Angeles:20220202T200000
DTSTAMP:20260514T065520
CREATED:20220203T042617Z
LAST-MODIFIED:20220203T042617Z
UID:11443-1643828400-1643832000@www.ayclogic.com
SUMMARY:7 PM - Python Game Development
DESCRIPTION:Today: \n\nWe went over the homework to add the tank explosion sprite.\nWe delayed the shield power-up creation\, and created it on random empty squares.\n\nHomework: \n\nClone Tower of Defense and checkout the “skeleton” branch.  Then create a new branch using your name from this branch.  Then setup the project so that you can load the game background.
URL:https://www.ayclogic.com/event/7-pm-python-game-development-106/
CATEGORIES:Advanced Python Game Development
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20220205T130000
DTEND;TZID=America/Los_Angeles:20220205T140000
DTSTAMP:20260514T065520
CREATED:20220205T220045Z
LAST-MODIFIED:20220205T220045Z
UID:11471-1644066000-1644069600@www.ayclogic.com
SUMMARY:1 PM - Python Game Development
DESCRIPTION:Today: \n\nWe went over the homework to add the shield on top of the tank.\nWe corrected the rotation of the turret.\n\nHomework: \n\nAdd a new attribute “self.degrees_rotated” to the shield\, and every update method/frame increase the degrees rotated by one.\nRotate the original image by the “self.degrees_rotated” value\, and draw this image on the screen.\nCenter the rotated shield on the center of the tank by positioning it with respect to the center of the shields target location using the same method we used to rotated the turret correctly.
URL:https://www.ayclogic.com/event/1-pm-python-game-development-47/
CATEGORIES:Advanced Python Game Development
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20220209T190000
DTEND;TZID=America/Los_Angeles:20220209T200000
DTSTAMP:20260514T065520
CREATED:20220210T040525Z
LAST-MODIFIED:20220210T040525Z
UID:11530-1644433200-1644436800@www.ayclogic.com
SUMMARY:7 PM - Python Game Development
DESCRIPTION:Today: \n\nWe went over the homework to setup tower of defense.\nWe created the enemy sprite and moved it accross the screen.\nWe went over the technique to move the enemy along the path.\n\nHomework: \n\nCreate a new sprite called “TargetPointer” which uses the “target.png” image.  Move this sprite wherever the mouse moves\, and make sure to associate a hitbox “rect” attribute with it.
URL:https://www.ayclogic.com/event/7-pm-python-game-development-107/
CATEGORIES:Advanced Python Game Development
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20220212T130000
DTEND;TZID=America/Los_Angeles:20220212T140000
DTSTAMP:20260514T065520
CREATED:20220212T224156Z
LAST-MODIFIED:20220212T224731Z
UID:11560-1644670800-1644674400@www.ayclogic.com
SUMMARY:1 PM - Python Game Development
DESCRIPTION:Today: \n\nWe went over the homework to rotate the shield.\nWe added animation to the exploding brick.\nWe oriented the bullet so it’s facing the correct direction using the angle passed by the turret.\n\nHomework: \n\nModify the Brick sprite constructor to add an additional parameter type that has value either WALL_FLAG or BORDER_WALL_FLAG.  When WALL_FLAG is passed in the constructor\, use the current logic to load the red brick image\, but when BORDER_WALL_FLAG is passed load a  different image\, “IronWall.png”.  You can find this image here: Or at gitlab here.\nModify the create_map method so that when the cell_type is a BORDER_WALL_FLAG\, then create a Brick is passed with the type parameter BORDER_WALL_FLAG\, but when it’s wall type  is WALL_FLAG\, then the Brick is created with the type parameter WALL_FLAG.  Add the bricks created with the border wall flag to a separate sprite group so that they can’t be destroyed by the bullets.\nModify the MAP variable in config.py so that the top side\, bottom side\, and left and right sides of the map have the BORDER_WALL_FLAG value. Make sure that these get created on the screen using the create_map method:\nBonus: move the bullet in the correct direction based on the direction parameter that gets passed in from the turret.  Also center the bullet so that when it’s created\, the center of the bullet is equal to the center of the turret.
URL:https://www.ayclogic.com/event/1-pm-python-game-development-48/
CATEGORIES:Advanced Python Game Development
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20220216T190000
DTEND;TZID=America/Los_Angeles:20220216T200000
DTSTAMP:20260514T065520
CREATED:20220217T040335Z
LAST-MODIFIED:20220217T040335Z
UID:11625-1645038000-1645041600@www.ayclogic.com
SUMMARY:7 PM - Python Game Development
DESCRIPTION:Today: \n\nWe went over the homework to add the target.\nWe added directions and kept track of the current region and expected directions\, so the enemy could walk down the path.\n\nHomework: \n\nFinish the logic so the enemy walks down the path through region “5a” or “5b”.\nAdd animation to to the enemy.  First load up an attribute called “self.images” which contains all the animation frames from “2_enemies_1_WALK_000.png” to “2_enemies_1_WALK_009.png”.  Then add animation by add a get_next_image method which returns the next image after a 5 frame delay.
URL:https://www.ayclogic.com/event/7-pm-python-game-development-108/
CATEGORIES:Advanced Python Game Development
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20220219T130000
DTEND;TZID=America/Los_Angeles:20220219T140000
DTSTAMP:20260514T065520
CREATED:20220219T220019Z
LAST-MODIFIED:20220219T220027Z
UID:11660-1645275600-1645279200@www.ayclogic.com
SUMMARY:1 PM - Python Game Development
DESCRIPTION:Today: \n\nWe went over how to add the iron walls.\nWe reviewed how we pointed the bullet in the correct direction.\nWe moved the bullet in the direction the turret is facing.\n\nHomework: \n\nSpawn the bullet so that first appears in the center of the tank.\nAdd logic so the enemy tank can’t move through both normal and iron bricks.  You can use the same technique we used for the player tank.
URL:https://www.ayclogic.com/event/1-pm-python-game-development-49/
CATEGORIES:Advanced Python Game Development
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20220226T130000
DTEND;TZID=America/Los_Angeles:20220226T140000
DTSTAMP:20260514T065520
CREATED:20220226T220248Z
LAST-MODIFIED:20220226T220359Z
UID:11764-1645880400-1645884000@www.ayclogic.com
SUMMARY:1 PM - Python Game Development
DESCRIPTION:Today: \n\nWe went over the homework to center the bullet’s initial creation position\, and added collision detection between the enemy tank and the bricks.\nWe added logic so the enemy tank faces the enemy turret in the direction of the player tank.\n\nHomework: \n\nAdd some game modes: GAME_LANDING_PAGE and GAME_IN_SESSION.  Define a new attribute self.mode inside tank game originally set to GAME_LANDING_PAGE. Define a new method called handle_landing_page\, that shows the landing page like below:\n\nWhen you click the Play button switch the mode to GAME_IN_SESSION and show all the logic that we added previously with the two tanks etc.  You can follow previous examples we for handling the landing page in Birdie etc.\nBonus: Add collision detection between the player tank and the enemy tank and switch to GAME_LANDING_PAGE when the enemy tank gets destroyed.
URL:https://www.ayclogic.com/event/1-pm-python-game-development-50/
CATEGORIES:Advanced Python Game Development,Python Game Development
END:VEVENT
END:VCALENDAR