├── README.md ├── course_01.py ├── course_02.py ├── course_03.py ├── course_04.py ├── course_05.py ├── course_06.py ├── course_07.py ├── course_08.py ├── course_09.py ├── course_10.py ├── course_11.py ├── course_12.py ├── course_13.py ├── course_14.py ├── course_15.py ├── course_16.py ├── course_17.py ├── course_18.py ├── enemy ├── L10E.png ├── L11E.png ├── L1E.png ├── L2E.png ├── L3E.png ├── L4E.png ├── L5E.png ├── L6E.png ├── L7E.png ├── L8E.png ├── L9E.png ├── R10E.png ├── R11E.png ├── R1E.png ├── R2E.png ├── R3E.png ├── R4E.png ├── R5E.png ├── R6E.png ├── R7E.png ├── R8E.png └── R9E.png ├── game0.png ├── hero ├── L1.png ├── L2.png ├── L3.png ├── L4.png ├── L5.png ├── L6.png ├── L7.png ├── L8.png ├── L9.png ├── R1.png ├── R2.png ├── R3.png ├── R4.png ├── R5.png ├── R6.png ├── R7.png ├── R8.png ├── R9.png ├── bg.jpg └── standing.png └── sounds ├── bullet.wav └── hit.wav /README.md: -------------------------------------------------------------------------------- 1 | # pygame-tutorial 2 | step by step tutorial to build a simple game using pygame (a python library) 3 | ## screenshot of the game 4 | ![cs younes game](https://github.com/younes38/pygame-tutorial/blob/master/game0.png) 5 | 6 | -------------------------------------------------------------------------------- /course_01.py: -------------------------------------------------------------------------------- 1 | import pygame 2 | successes, fails = pygame.init() 3 | print(successes, fails) 4 | pygame.display.set_mode((700, 500)) 5 | pygame.display.set_caption("cs younes game") 6 | 7 | while True: 8 | pygame.time.delay(100) 9 | for event in pygame.event.get(): 10 | if event.type == pygame.QUIT: 11 | quit() 12 | -------------------------------------------------------------------------------- /course_02.py: -------------------------------------------------------------------------------- 1 | import pygame 2 | successes, fails = pygame.init() 3 | print(successes, fails) 4 | 5 | screenWidth = 700 6 | screenHeight = 500 7 | 8 | screen = pygame.display.set_mode((screenWidth, screenHeight)) 9 | pygame.display.set_caption("cs younes game") 10 | 11 | BLACK = (0, 0, 0) # RGB 12 | WHITE = (255, 255, 255) 13 | RED = (255, 0, 0) 14 | 15 | x = 100 16 | y = 200 17 | width = 50 18 | height = 50 19 | step = 5 20 | 21 | while True: 22 | pygame.time.delay(100) 23 | for event in pygame.event.get(): 24 | if event.type == pygame.QUIT: 25 | quit() 26 | 27 | 28 | pygame.draw.rect(screen, RED, (x, y, width, height)) 29 | pygame.display.update() 30 | -------------------------------------------------------------------------------- /course_03.py: -------------------------------------------------------------------------------- 1 | import pygame 2 | successes, fails = pygame.init() 3 | print(successes, fails) 4 | 5 | screenWidth = 700 6 | screenHeight = 500 7 | 8 | screen = pygame.display.set_mode((screenWidth, screenHeight)) 9 | pygame.display.set_caption("cs younes game") 10 | 11 | BLACK = (0, 0, 0) # RGB 12 | WHITE = (255, 255, 255) 13 | RED = (255, 0, 0) 14 | 15 | x = 100 16 | y = 200 17 | width = 50 18 | height = 50 19 | step = 5 20 | 21 | while True: 22 | pygame.time.delay(100) 23 | for event in pygame.event.get(): 24 | if event.type == pygame.QUIT: 25 | quit() 26 | keys = pygame.key.get_pressed() 27 | if keys[pygame.K_LEFT]: 28 | x -= step 29 | if keys[pygame.K_RIGHT]: 30 | x += step 31 | if keys[pygame.K_UP]: 32 | y -= step 33 | if keys[pygame.K_DOWN]: 34 | y += step 35 | 36 | screen.fill(BLACK) 37 | pygame.draw.rect(screen, RED, (x, y, width, height)) 38 | pygame.display.update() 39 | -------------------------------------------------------------------------------- /course_04.py: -------------------------------------------------------------------------------- 1 | import pygame 2 | successes, fails = pygame.init() 3 | print(successes, fails) 4 | 5 | screenWidth = 700 6 | heightScreen = 500 7 | 8 | screen = pygame.display.set_mode((screenWidth, heightScreen)) 9 | pygame.display.set_caption("cs younes game") 10 | 11 | BLACK = (0, 0, 0) # RGB 12 | WHITE = (255, 255, 255) 13 | RED = (255, 0, 0) 14 | 15 | x = 600 16 | y = 200 17 | width = 50 18 | height = 50 19 | step = 5 20 | 21 | while True: 22 | pygame.time.delay(100) 23 | for event in pygame.event.get(): 24 | if event.type == pygame.QUIT: 25 | quit() 26 | keys = pygame.key.get_pressed() 27 | if keys[pygame.K_LEFT] and x - step >= 0: 28 | x -= step 29 | if keys[pygame.K_RIGHT] and x + width + step <= screenWidth: 30 | x += step 31 | if keys[pygame.K_UP] and y - step >= 0: 32 | y -= step 33 | if keys[pygame.K_DOWN] and y + height + step <= heightScreen: 34 | y += step 35 | 36 | screen.fill(BLACK) 37 | pygame.draw.rect(screen, RED, (x, y, width, height)) 38 | pygame.display.update() 39 | -------------------------------------------------------------------------------- /course_05.py: -------------------------------------------------------------------------------- 1 | import pygame 2 | successes, fails = pygame.init() 3 | print(successes, fails) 4 | 5 | screenWidth = 700 6 | screenHeight = 500 7 | 8 | screen = pygame.display.set_mode((screenWidth, screenHeight)) 9 | pygame.display.set_caption("cs younes game") 10 | 11 | BLACK = (0, 0, 0) # RGB 12 | WHITE = (255, 255, 255) 13 | RED = (255, 0, 0) 14 | 15 | x = 600 16 | y = 400 17 | width = 50 18 | height = 50 19 | step = 5 20 | 21 | speed = 10 22 | isJumping = False 23 | 24 | while True: 25 | pygame.time.delay(100) 26 | for event in pygame.event.get(): 27 | if event.type == pygame.QUIT: 28 | quit() 29 | keys = pygame.key.get_pressed() 30 | if keys[pygame.K_LEFT] and x - step >= 0: 31 | x -= step 32 | if keys[pygame.K_RIGHT] and x + width + step <= screenWidth: 33 | x += step 34 | if not isJumping: 35 | if keys[pygame.K_UP] and y - step >= 0: 36 | y -= step 37 | if keys[pygame.K_DOWN] and y + height + step <= screenHeight: 38 | y += step 39 | if keys[pygame.K_SPACE]: 40 | isJumping = True 41 | else: 42 | if speed >= -10 : 43 | neg = 1 44 | if speed < 0: 45 | neg = -1 46 | y -= (speed ** 2) * 0.25 * neg 47 | speed -= 1 48 | else: 49 | speed = 10 50 | isJumping = False 51 | 52 | screen.fill(BLACK) 53 | pygame.draw.rect(screen, RED, (x, y, width, height)) 54 | pygame.display.update() 55 | -------------------------------------------------------------------------------- /course_06.py: -------------------------------------------------------------------------------- 1 | import pygame 2 | successes, fails = pygame.init() 3 | print(successes, fails) 4 | 5 | bg = pygame.image.load("bg.jpg") 6 | hero = pygame.image.load("hero/standing.png") 7 | 8 | screenWidth = 700 9 | screenHeight = 500 10 | 11 | screen = pygame.display.set_mode((screenWidth, screenHeight)) 12 | pygame.display.set_caption("cs younes game") 13 | 14 | BLACK = (0, 0, 0) # RGB 15 | WHITE = (255, 255, 255) 16 | RED = (255, 0, 0) 17 | 18 | x = 600 19 | y = 400 20 | width = 50 21 | height = 50 22 | step = 5 23 | 24 | speed = 10 25 | isJumping = False 26 | 27 | 28 | def redrawGame(): 29 | screen.blit(bg, (0, 0)) 30 | screen.blit(hero, (x, y)) 31 | pygame.display.update() 32 | while True: 33 | pygame.time.delay(50) 34 | for event in pygame.event.get(): 35 | if event.type == pygame.QUIT: 36 | quit() 37 | keys = pygame.key.get_pressed() 38 | if keys[pygame.K_LEFT] and x - step >= 0: 39 | x -= step 40 | if keys[pygame.K_RIGHT] and x + width + step <= screenWidth: 41 | x += step 42 | if not isJumping: 43 | if keys[pygame.K_UP] and y - step >= 0: 44 | y -= step 45 | if keys[pygame.K_DOWN] and y + height + step <= screenHeight: 46 | y += step 47 | if keys[pygame.K_SPACE]: 48 | isJumping = True 49 | else: 50 | if speed >= -10 : 51 | neg = 1 52 | if speed < 0: 53 | neg = -1 54 | y -= (speed ** 2) * 0.25 * neg 55 | speed -= 1 56 | else: 57 | speed = 10 58 | isJumping = False 59 | 60 | redrawGame() 61 | -------------------------------------------------------------------------------- /course_07.py: -------------------------------------------------------------------------------- 1 | import pygame 2 | successes, fails = pygame.init() 3 | print(successes, fails) 4 | 5 | move_right = [pygame.image.load("hero/R1.png"), pygame.image.load("hero/R2.png"), pygame.image.load("hero/R3.png"), pygame.image.load("hero/R4.png"), pygame.image.load("hero/R5.png"), pygame.image.load("hero/R6.png"), pygame.image.load("hero/R7.png"), pygame.image.load("hero/R8.png"), pygame.image.load("hero/R9.png")] 6 | move_left = [pygame.image.load("hero/L1.png"), pygame.image.load("hero/L2.png"), pygame.image.load("hero/L3.png"), pygame.image.load("hero/L4.png"), pygame.image.load("hero/L5.png"), pygame.image.load("hero/L6.png"), pygame.image.load("hero/L7.png"), pygame.image.load("hero/L8.png"), pygame.image.load("hero/L9.png")] 7 | 8 | 9 | bg = pygame.image.load("bg.jpg") 10 | hero = pygame.image.load("hero/standing.png") 11 | 12 | screenWidth = 700 13 | screenHeight = 500 14 | clock = pygame.time.Clock() 15 | 16 | screen = pygame.display.set_mode((screenWidth, screenHeight)) 17 | pygame.display.set_caption("cs younes game") 18 | 19 | BLACK = (0, 0, 0) # RGB 20 | WHITE = (255, 255, 255) 21 | RED = (255, 0, 0) 22 | 23 | x = 600 24 | y = 400 25 | width = 64 26 | height = 64 27 | step = 5 28 | left = False 29 | right = False 30 | moves = 0 31 | 32 | speed = 10 33 | isJumping = False 34 | 35 | 36 | def redrawGame(): 37 | global moves 38 | 39 | screen.blit(bg, (0, 0)) 40 | 41 | if left: 42 | screen.blit(move_left[moves // 2], (x, y)) 43 | moves += 1 44 | if moves == 18: 45 | moves = 0 46 | elif right: 47 | screen.blit(move_right[moves // 2], (x, y)) 48 | moves += 1 49 | if moves == 18: 50 | moves = 0 51 | else: 52 | screen.blit(hero, (x, y)) 53 | 54 | 55 | pygame.display.update() 56 | 57 | while True: 58 | clock.tick(30) 59 | for event in pygame.event.get(): 60 | if event.type == pygame.QUIT: 61 | quit() 62 | keys = pygame.key.get_pressed() 63 | if keys[pygame.K_LEFT] and x - step >= 0: 64 | x -= step 65 | left = True 66 | right = False 67 | elif keys[pygame.K_RIGHT] and x + width + step <= screenWidth: 68 | x += step 69 | right = True 70 | left = False 71 | else: 72 | right = False 73 | left = False 74 | moves = 0 75 | if not isJumping: 76 | if keys[pygame.K_SPACE]: 77 | isJumping = True 78 | else: 79 | if speed >= -10 : 80 | neg = 1 81 | if speed < 0: 82 | neg = -1 83 | y -= (speed ** 2) * 0.25 * neg 84 | speed -= 1 85 | else: 86 | speed = 10 87 | isJumping = False 88 | 89 | redrawGame() 90 | -------------------------------------------------------------------------------- /course_08.py: -------------------------------------------------------------------------------- 1 | import pygame 2 | successes, fails = pygame.init() 3 | print(successes, fails) 4 | 5 | move_right = [pygame.image.load("hero/R1.png"), pygame.image.load("hero/R2.png"), pygame.image.load("hero/R3.png"), pygame.image.load("hero/R4.png"), pygame.image.load("hero/R5.png"), pygame.image.load("hero/R6.png"), pygame.image.load("hero/R7.png"), pygame.image.load("hero/R8.png"), pygame.image.load("hero/R9.png")] 6 | move_left = [pygame.image.load("hero/L1.png"), pygame.image.load("hero/L2.png"), pygame.image.load("hero/L3.png"), pygame.image.load("hero/L4.png"), pygame.image.load("hero/L5.png"), pygame.image.load("hero/L6.png"), pygame.image.load("hero/L7.png"), pygame.image.load("hero/L8.png"), pygame.image.load("hero/L9.png")] 7 | 8 | 9 | bg = pygame.image.load("bg.jpg") 10 | hero = pygame.image.load("hero/standing.png") 11 | 12 | screenWidth = 700 13 | screenHeight = 500 14 | clock = pygame.time.Clock() 15 | 16 | screen = pygame.display.set_mode((screenWidth, screenHeight)) 17 | pygame.display.set_caption("cs younes game") 18 | 19 | BLACK = (0, 0, 0) # RGB 20 | WHITE = (255, 255, 255) 21 | RED = (255, 0, 0) 22 | 23 | class Player(): 24 | def __init__(self, x, y, width, height): 25 | self.x = x 26 | self.y = y 27 | self.width = width 28 | self.weight = height 29 | self.step = 5 30 | self.left = False 31 | self.right = False 32 | self.moves = 0 33 | self.speed = 10 34 | self.isJumping = False 35 | 36 | def draw(self, screen): 37 | if self.left: 38 | screen.blit(move_left[self.moves // 2], (self.x, self.y)) 39 | self.moves += 1 40 | if self.moves == 18: 41 | self.moves = 0 42 | elif self.right: 43 | screen.blit(move_right[self.moves // 2], (self.x, self.y)) 44 | self.moves += 1 45 | if self.moves == 18: 46 | self.moves = 0 47 | else: 48 | screen.blit(hero, (self.x, self.y)) 49 | 50 | 51 | man = Player(600, 400, 64, 64) 52 | 53 | 54 | def redrawGame(): 55 | global moves 56 | 57 | screen.blit(bg, (0, 0)) 58 | man.draw(screen) 59 | pygame.display.update() 60 | 61 | while True: 62 | clock.tick(30) 63 | for event in pygame.event.get(): 64 | if event.type == pygame.QUIT: 65 | quit() 66 | keys = pygame.key.get_pressed() 67 | if keys[pygame.K_LEFT] and man.x - man.step >= 0: 68 | man.x -= man.step 69 | man.left = True 70 | man.right = False 71 | elif keys[pygame.K_RIGHT] and man.x + man.width + man.step <= screenWidth: 72 | man.x += man.step 73 | man.right = True 74 | man.left = False 75 | else: 76 | man.right = False 77 | man.left = False 78 | man.moves = 0 79 | if not man.isJumping: 80 | if keys[pygame.K_SPACE]: 81 | man.isJumping = True 82 | else: 83 | if man.speed >= -10 : 84 | neg = 1 85 | if man.speed < 0: 86 | neg = -1 87 | man.y -= (man.speed ** 2) * 0.25 * neg 88 | man.speed -= 1 89 | else: 90 | man.speed = 10 91 | man.isJumping = False 92 | 93 | redrawGame() 94 | -------------------------------------------------------------------------------- /course_09.py: -------------------------------------------------------------------------------- 1 | import pygame 2 | successes, fails = pygame.init() 3 | print(successes, fails) 4 | 5 | move_right = [pygame.image.load("hero/R1.png"), pygame.image.load("hero/R2.png"), pygame.image.load("hero/R3.png"), pygame.image.load("hero/R4.png"), pygame.image.load("hero/R5.png"), pygame.image.load("hero/R6.png"), pygame.image.load("hero/R7.png"), pygame.image.load("hero/R8.png"), pygame.image.load("hero/R9.png")] 6 | move_left = [pygame.image.load("hero/L1.png"), pygame.image.load("hero/L2.png"), pygame.image.load("hero/L3.png"), pygame.image.load("hero/L4.png"), pygame.image.load("hero/L5.png"), pygame.image.load("hero/L6.png"), pygame.image.load("hero/L7.png"), pygame.image.load("hero/L8.png"), pygame.image.load("hero/L9.png")] 7 | 8 | 9 | bg = pygame.image.load("bg.jpg") 10 | hero = pygame.image.load("hero/standing.png") 11 | 12 | screenWidth = 700 13 | screenHeight = 500 14 | clock = pygame.time.Clock() 15 | 16 | screen = pygame.display.set_mode((screenWidth, screenHeight)) 17 | pygame.display.set_caption("cs younes game") 18 | 19 | BLACK = (0, 0, 0) # RGB 20 | WHITE = (255, 255, 255) 21 | RED = (255, 0, 0) 22 | 23 | class Player(): 24 | def __init__(self, x, y, width, height): 25 | self.x = x 26 | self.y = y 27 | self.width = width 28 | self.weight = height 29 | self.step = 5 30 | self.left = False 31 | self.right = False 32 | self.moves = 0 33 | self.speed = 10 34 | self.isJumping = False 35 | self.standing = True 36 | 37 | def draw(self, screen): 38 | if not self.standing: 39 | if self.left: 40 | screen.blit(move_left[self.moves // 2], (self.x, self.y)) 41 | self.moves += 1 42 | if self.moves == 18: 43 | self.moves = 0 44 | elif self.right: 45 | screen.blit(move_right[self.moves // 2], (self.x, self.y)) 46 | self.moves += 1 47 | if self.moves == 18: 48 | self.moves = 0 49 | else: 50 | if self.right: 51 | screen.blit(move_right[0], (self.x, self.y)) 52 | else: 53 | screen.blit(move_left[0], (self.x, self.y)) 54 | 55 | 56 | man = Player(600, 400, 64, 64) 57 | 58 | 59 | def redrawGame(): 60 | global moves 61 | 62 | screen.blit(bg, (0, 0)) 63 | man.draw(screen) 64 | pygame.display.update() 65 | 66 | while True: 67 | clock.tick(30) 68 | for event in pygame.event.get(): 69 | if event.type == pygame.QUIT: 70 | quit() 71 | keys = pygame.key.get_pressed() 72 | if keys[pygame.K_LEFT] and man.x - man.step >= 0: 73 | man.x -= man.step 74 | man.left = True 75 | man.right = False 76 | man.standing = False 77 | elif keys[pygame.K_RIGHT] and man.x + man.width + man.step <= screenWidth: 78 | man.x += man.step 79 | man.right = True 80 | man.left = False 81 | man.standing = False 82 | else: 83 | man.standing = True 84 | man.moves = 0 85 | if not man.isJumping: 86 | if keys[pygame.K_SPACE]: 87 | man.isJumping = True 88 | else: 89 | if man.speed >= -10 : 90 | neg = 1 91 | if man.speed < 0: 92 | neg = -1 93 | man.y -= (man.speed ** 2) * 0.25 * neg 94 | man.speed -= 1 95 | else: 96 | man.speed = 10 97 | man.isJumping = False 98 | 99 | redrawGame() 100 | -------------------------------------------------------------------------------- /course_10.py: -------------------------------------------------------------------------------- 1 | import pygame 2 | successes, fails = pygame.init() 3 | print(successes, fails) 4 | 5 | move_right = [pygame.image.load("hero/R1.png"), pygame.image.load("hero/R2.png"), pygame.image.load("hero/R3.png"), pygame.image.load("hero/R4.png"), pygame.image.load("hero/R5.png"), pygame.image.load("hero/R6.png"), pygame.image.load("hero/R7.png"), pygame.image.load("hero/R8.png"), pygame.image.load("hero/R9.png")] 6 | move_left = [pygame.image.load("hero/L1.png"), pygame.image.load("hero/L2.png"), pygame.image.load("hero/L3.png"), pygame.image.load("hero/L4.png"), pygame.image.load("hero/L5.png"), pygame.image.load("hero/L6.png"), pygame.image.load("hero/L7.png"), pygame.image.load("hero/L8.png"), pygame.image.load("hero/L9.png")] 7 | 8 | 9 | bg = pygame.image.load("bg.jpg") 10 | hero = pygame.image.load("hero/standing.png") 11 | 12 | screenWidth = 700 13 | screenHeight = 500 14 | clock = pygame.time.Clock() 15 | 16 | screen = pygame.display.set_mode((screenWidth, screenHeight)) 17 | pygame.display.set_caption("cs younes game") 18 | 19 | BLACK = (0, 0, 0) # RGB 20 | WHITE = (255, 255, 255) 21 | RED = (255, 0, 0) 22 | 23 | class Player(): 24 | def __init__(self, x, y, width, height): 25 | self.x = x 26 | self.y = y 27 | self.width = width 28 | self.height = height 29 | self.step = 5 30 | self.left = False 31 | self.right = False 32 | self.moves = 0 33 | self.speed = 10 34 | self.isJumping = False 35 | self.standing = True 36 | 37 | def draw(self, screen): 38 | if not self.standing: 39 | if self.left: 40 | screen.blit(move_left[self.moves // 2], (self.x, self.y)) 41 | self.moves += 1 42 | if self.moves == 18: 43 | self.moves = 0 44 | elif self.right: 45 | screen.blit(move_right[self.moves // 2], (self.x, self.y)) 46 | self.moves += 1 47 | if self.moves == 18: 48 | self.moves = 0 49 | else: 50 | if self.right: 51 | screen.blit(move_right[0], (self.x, self.y)) 52 | else: 53 | screen.blit(move_left[0], (self.x, self.y)) 54 | 55 | class Bullet: 56 | def __init__(self, x, y, radius, color, direction, step): 57 | self.x = x 58 | self.y = y 59 | self.radius = radius 60 | self.color = color 61 | self.direction = direction 62 | self.step = step * direction 63 | 64 | def draw(self, screen): 65 | pygame.draw.circle(screen, self.color,(self.x, self.y) ,self.radius) 66 | 67 | 68 | man = Player(600, 400, 64, 64) 69 | 70 | 71 | def redrawGame(): 72 | global moves 73 | 74 | screen.blit(bg, (0, 0)) 75 | man.draw(screen) 76 | for bullet in bullets: 77 | bullet.draw(screen) 78 | pygame.display.update() 79 | bullets = [] 80 | 81 | while True: 82 | clock.tick(30) 83 | for event in pygame.event.get(): 84 | if event.type == pygame.QUIT: 85 | quit() 86 | keys = pygame.key.get_pressed() 87 | 88 | for bullet in bullets: 89 | if bullet.x < screenWidth and bullet.x > 0: 90 | bullet.x += bullet.step 91 | else: 92 | bullets.remove(bullet) 93 | 94 | 95 | if keys[pygame.K_w]: 96 | if len(bullets) < 5: 97 | direction = 0 98 | if man.right: 99 | direction = 1 100 | else: direction = -1 101 | bullets.append(Bullet( round(man.x + man.width // 2), round(man.y + man.height // 2), 5, RED, direction, 10)) 102 | 103 | 104 | if keys[pygame.K_LEFT] and man.x - man.step >= 0: 105 | man.x -= man.step 106 | man.left = True 107 | man.right = False 108 | man.standing = False 109 | elif keys[pygame.K_RIGHT] and man.x + man.width + man.step <= screenWidth: 110 | man.x += man.step 111 | man.right = True 112 | man.left = False 113 | man.standing = False 114 | else: 115 | man.standing = True 116 | man.moves = 0 117 | if not man.isJumping: 118 | if keys[pygame.K_SPACE]: 119 | man.isJumping = True 120 | else: 121 | if man.speed >= -10 : 122 | neg = 1 123 | if man.speed < 0: 124 | neg = -1 125 | man.y -= (man.speed ** 2) * 0.25 * neg 126 | man.speed -= 1 127 | else: 128 | man.speed = 10 129 | man.isJumping = False 130 | 131 | redrawGame() 132 | -------------------------------------------------------------------------------- /course_11.py: -------------------------------------------------------------------------------- 1 | import pygame 2 | successes, fails = pygame.init() 3 | print(successes, fails) 4 | 5 | move_right = [pygame.image.load("hero/R1.png"), pygame.image.load("hero/R2.png"), pygame.image.load("hero/R3.png"), pygame.image.load("hero/R4.png"), pygame.image.load("hero/R5.png"), pygame.image.load("hero/R6.png"), pygame.image.load("hero/R7.png"), pygame.image.load("hero/R8.png"), pygame.image.load("hero/R9.png")] 6 | move_left = [pygame.image.load("hero/L1.png"), pygame.image.load("hero/L2.png"), pygame.image.load("hero/L3.png"), pygame.image.load("hero/L4.png"), pygame.image.load("hero/L5.png"), pygame.image.load("hero/L6.png"), pygame.image.load("hero/L7.png"), pygame.image.load("hero/L8.png"), pygame.image.load("hero/L9.png")] 7 | 8 | move_rightE = [pygame.image.load("enemy/R1E.png"), pygame.image.load("enemy/R2E.png"), pygame.image.load("enemy/R3E.png"), pygame.image.load("enemy/R4E.png"), pygame.image.load("enemy/R5E.png"), pygame.image.load("enemy/R6E.png"), pygame.image.load("enemy/R7E.png"), pygame.image.load("enemy/R8E.png"), pygame.image.load("enemy/R9E.png"), pygame.image.load("enemy/R10E.png"), pygame.image.load("enemy/R11E.png")] 9 | move_leftE = [pygame.image.load("enemy/L1E.png"), pygame.image.load("enemy/L2E.png"), pygame.image.load("enemy/L3E.png"), pygame.image.load("enemy/L4E.png"), pygame.image.load("enemy/L5E.png"), pygame.image.load("enemy/L6E.png"), pygame.image.load("enemy/L7E.png"), pygame.image.load("enemy/L8E.png"), pygame.image.load("enemy/L9E.png"), pygame.image.load("enemy/L10E.png"), pygame.image.load("enemy/L10E.png")] 10 | 11 | 12 | 13 | 14 | bg = pygame.image.load("bg.jpg") 15 | hero = pygame.image.load("hero/standing.png") 16 | 17 | screenWidth = 700 18 | screenHeight = 500 19 | clock = pygame.time.Clock() 20 | 21 | screen = pygame.display.set_mode((screenWidth, screenHeight)) 22 | pygame.display.set_caption("cs younes game") 23 | 24 | BLACK = (0, 0, 0) # RGB 25 | WHITE = (255, 255, 255) 26 | RED = (255, 0, 0) 27 | 28 | class Player(): 29 | def __init__(self, x, y, width, height): 30 | self.x = x 31 | self.y = y 32 | self.width = width 33 | self.height = height 34 | self.step = 5 35 | self.left = False 36 | self.right = False 37 | self.moves = 0 38 | self.speed = 10 39 | self.isJumping = False 40 | self.standing = True 41 | 42 | def draw(self, screen): 43 | if not self.standing: 44 | if self.left: 45 | screen.blit(move_left[self.moves // 2], (self.x, self.y)) 46 | self.moves += 1 47 | if self.moves == 18: 48 | self.moves = 0 49 | elif self.right: 50 | screen.blit(move_right[self.moves // 2], (self.x, self.y)) 51 | self.moves += 1 52 | if self.moves == 18: 53 | self.moves = 0 54 | else: 55 | if self.right: 56 | screen.blit(move_right[0], (self.x, self.y)) 57 | else: 58 | screen.blit(move_left[0], (self.x, self.y)) 59 | 60 | class Bullet: 61 | def __init__(self, x, y, radius, color, direction, step): 62 | self.x = x 63 | self.y = y 64 | self.radius = radius 65 | self.color = color 66 | self.direction = direction 67 | self.step = step * direction 68 | 69 | def draw(self, screen): 70 | pygame.draw.circle(screen, self.color,(self.x, self.y) ,self.radius) 71 | 72 | class Enemy: 73 | def __init__(self, x, y, width, height, end): 74 | self.x = x 75 | self.y = y 76 | self.width = width 77 | self.height = height 78 | self.end = end 79 | self.start = x 80 | self.step = 3 81 | self.moves = 0 82 | 83 | def draw(self, screen): 84 | self.move() 85 | if self.step < 0: 86 | screen.blit(move_leftE[self.moves // 2], (self.x, self.y)) 87 | self.moves += 1 88 | if self.moves == 11 * 2: 89 | self.moves = 0 90 | else: 91 | screen.blit(move_rightE[self.moves // 2], (self.x, self.y)) 92 | self.moves += 1 93 | if self.moves == 11 * 2: 94 | self.moves = 0 95 | 96 | 97 | 98 | 99 | def move(self): 100 | if self.step > 0: 101 | if self.x + self.step > self.end: 102 | self.step *= -1 103 | else: 104 | self.x += self.step 105 | else: 106 | if self.x - self.step < self.start: 107 | self.step *= -1 108 | else: 109 | self.x += self.step 110 | 111 | 112 | 113 | man = Player(600, 400, 64, 64) 114 | enemy = Enemy(100, 400, 64, 64, 500) 115 | 116 | 117 | def redrawGame(): 118 | global moves 119 | 120 | screen.blit(bg, (0, 0)) 121 | man.draw(screen) 122 | enemy.draw(screen) 123 | for bullet in bullets: 124 | bullet.draw(screen) 125 | 126 | pygame.display.update() 127 | bullets = [] 128 | 129 | while True: 130 | clock.tick(30) 131 | for event in pygame.event.get(): 132 | if event.type == pygame.QUIT: 133 | quit() 134 | if event.type == pygame.KEYDOWN: 135 | if event.key == pygame.K_s: 136 | if len(bullets) < 5: 137 | direction = 0 138 | if man.right: 139 | direction = 1 140 | else: 141 | direction = -1 142 | bullets.append( 143 | Bullet(round(man.x + man.width // 2), round(man.y + man.height // 2), 5, RED, direction, 10)) 144 | keys = pygame.key.get_pressed() 145 | 146 | for bullet in bullets: 147 | if bullet.x < screenWidth and bullet.x > 0: 148 | bullet.x += bullet.step 149 | else: 150 | bullets.remove(bullet) 151 | 152 | 153 | 154 | 155 | 156 | if keys[pygame.K_LEFT] and man.x - man.step >= 0: 157 | man.x -= man.step 158 | man.left = True 159 | man.right = False 160 | man.standing = False 161 | elif keys[pygame.K_RIGHT] and man.x + man.width + man.step <= screenWidth: 162 | man.x += man.step 163 | man.right = True 164 | man.left = False 165 | man.standing = False 166 | else: 167 | man.standing = True 168 | man.moves = 0 169 | if not man.isJumping: 170 | if keys[pygame.K_SPACE]: 171 | man.isJumping = True 172 | else: 173 | if man.speed >= -10 : 174 | neg = 1 175 | if man.speed < 0: 176 | neg = -1 177 | man.y -= (man.speed ** 2) * 0.25 * neg 178 | man.speed -= 1 179 | else: 180 | man.speed = 10 181 | man.isJumping = False 182 | 183 | redrawGame() 184 | -------------------------------------------------------------------------------- /course_12.py: -------------------------------------------------------------------------------- 1 | import pygame 2 | successes, fails = pygame.init() 3 | print(successes, fails) 4 | 5 | move_right = [pygame.image.load("hero/R1.png"), pygame.image.load("hero/R2.png"), pygame.image.load("hero/R3.png"), pygame.image.load("hero/R4.png"), pygame.image.load("hero/R5.png"), pygame.image.load("hero/R6.png"), pygame.image.load("hero/R7.png"), pygame.image.load("hero/R8.png"), pygame.image.load("hero/R9.png")] 6 | move_left = [pygame.image.load("hero/L1.png"), pygame.image.load("hero/L2.png"), pygame.image.load("hero/L3.png"), pygame.image.load("hero/L4.png"), pygame.image.load("hero/L5.png"), pygame.image.load("hero/L6.png"), pygame.image.load("hero/L7.png"), pygame.image.load("hero/L8.png"), pygame.image.load("hero/L9.png")] 7 | 8 | move_rightE = [pygame.image.load("enemy/R1E.png"), pygame.image.load("enemy/R2E.png"), pygame.image.load("enemy/R3E.png"), pygame.image.load("enemy/R4E.png"), pygame.image.load("enemy/R5E.png"), pygame.image.load("enemy/R6E.png"), pygame.image.load("enemy/R7E.png"), pygame.image.load("enemy/R8E.png"), pygame.image.load("enemy/R9E.png"), pygame.image.load("enemy/R10E.png"), pygame.image.load("enemy/R11E.png")] 9 | move_leftE = [pygame.image.load("enemy/L1E.png"), pygame.image.load("enemy/L2E.png"), pygame.image.load("enemy/L3E.png"), pygame.image.load("enemy/L4E.png"), pygame.image.load("enemy/L5E.png"), pygame.image.load("enemy/L6E.png"), pygame.image.load("enemy/L7E.png"), pygame.image.load("enemy/L8E.png"), pygame.image.load("enemy/L9E.png"), pygame.image.load("enemy/L10E.png"), pygame.image.load("enemy/L10E.png")] 10 | 11 | 12 | 13 | 14 | bg = pygame.image.load("bg.jpg") 15 | hero = pygame.image.load("hero/standing.png") 16 | 17 | screenWidth = 700 18 | screenHeight = 500 19 | clock = pygame.time.Clock() 20 | 21 | screen = pygame.display.set_mode((screenWidth, screenHeight)) 22 | pygame.display.set_caption("cs younes game") 23 | 24 | BLACK = (0, 0, 0) # RGB 25 | WHITE = (255, 255, 255) 26 | RED = (255, 0, 0) 27 | 28 | class Player(): 29 | def __init__(self, x, y, width, height): 30 | self.x = x 31 | self.y = y 32 | self.width = width 33 | self.height = height 34 | self.step = 5 35 | self.left = False 36 | self.right = False 37 | self.moves = 0 38 | self.speed = 10 39 | self.isJumping = False 40 | self.standing = True 41 | self.hitbox = (self.x + 20, self.y + 10, self.width - 40, self.height - 10) 42 | 43 | def draw(self, screen): 44 | if not self.standing: 45 | if self.left: 46 | screen.blit(move_left[self.moves // 2], (self.x, self.y)) 47 | self.moves += 1 48 | if self.moves == 18: 49 | self.moves = 0 50 | elif self.right: 51 | screen.blit(move_right[self.moves // 2], (self.x, self.y)) 52 | self.moves += 1 53 | if self.moves == 18: 54 | self.moves = 0 55 | else: 56 | if self.right: 57 | screen.blit(move_right[0], (self.x, self.y)) 58 | else: 59 | screen.blit(move_left[0], (self.x, self.y)) 60 | self.hitbox = (self.x + 20, self.y + 10, self.width - 40, self.height - 10) 61 | pygame.draw.rect(screen, RED, self.hitbox, 2) 62 | 63 | class Bullet: 64 | def __init__(self, x, y, radius, color, direction, step): 65 | self.x = x 66 | self.y = y 67 | self.radius = radius 68 | self.color = color 69 | self.direction = direction 70 | self.step = step * direction 71 | 72 | def draw(self, screen): 73 | pygame.draw.circle(screen, self.color,(self.x, self.y) ,self.radius) 74 | 75 | class Enemy: 76 | def __init__(self, x, y, width, height, end): 77 | self.x = x 78 | self.y = y 79 | self.width = width 80 | self.height = height 81 | self.end = end 82 | self.start = x 83 | self.step = 3 84 | self.moves = 0 85 | self.hitbox = (self.x + 20, self.y, self.width - 30, self.height) 86 | 87 | def draw(self, screen): 88 | self.move() 89 | if self.step < 0: 90 | screen.blit(move_leftE[self.moves // 2], (self.x, self.y)) 91 | self.moves += 1 92 | if self.moves == 11 * 2: 93 | self.moves = 0 94 | else: 95 | screen.blit(move_rightE[self.moves // 2], (self.x, self.y)) 96 | self.moves += 1 97 | if self.moves == 11 * 2: 98 | self.moves = 0 99 | 100 | 101 | 102 | 103 | def move(self): 104 | if self.step > 0: 105 | if self.x + self.step > self.end: 106 | self.step *= -1 107 | else: 108 | self.x += self.step 109 | else: 110 | if self.x - self.step < self.start: 111 | self.step *= -1 112 | else: 113 | self.x += self.step 114 | 115 | self.hitbox = (self.x + 20, self.y , self.width - 30, self.height) 116 | pygame.draw.rect(screen, RED, self.hitbox, 2) 117 | 118 | 119 | 120 | man = Player(600, 400, 64, 64) 121 | enemy = Enemy(100, 400, 64, 64, 500) 122 | 123 | 124 | def redrawGame(): 125 | global moves 126 | 127 | screen.blit(bg, (0, 0)) 128 | enemy.draw(screen) 129 | man.draw(screen) 130 | 131 | for bullet in bullets: 132 | bullet.draw(screen) 133 | 134 | pygame.display.update() 135 | bullets = [] 136 | 137 | while True: 138 | clock.tick(30) 139 | for event in pygame.event.get(): 140 | if event.type == pygame.QUIT: 141 | quit() 142 | if event.type == pygame.KEYDOWN: 143 | if event.key == pygame.K_s: 144 | if len(bullets) < 5: 145 | direction = 0 146 | if man.right: 147 | direction = 1 148 | else: 149 | direction = -1 150 | bullets.append( 151 | Bullet(round(man.x + man.width // 2), round(man.y + man.height // 2), 5, RED, direction, 10)) 152 | keys = pygame.key.get_pressed() 153 | 154 | for bullet in bullets: 155 | if bullet.x < screenWidth and bullet.x > 0: 156 | bullet.x += bullet.step 157 | else: 158 | bullets.remove(bullet) 159 | 160 | 161 | 162 | 163 | 164 | if keys[pygame.K_LEFT] and man.x - man.step >= 0: 165 | man.x -= man.step 166 | man.left = True 167 | man.right = False 168 | man.standing = False 169 | elif keys[pygame.K_RIGHT] and man.x + man.width + man.step <= screenWidth: 170 | man.x += man.step 171 | man.right = True 172 | man.left = False 173 | man.standing = False 174 | else: 175 | man.standing = True 176 | man.moves = 0 177 | if not man.isJumping: 178 | if keys[pygame.K_SPACE]: 179 | man.isJumping = True 180 | else: 181 | if man.speed >= -10 : 182 | neg = 1 183 | if man.speed < 0: 184 | neg = -1 185 | man.y -= (man.speed ** 2) * 0.25 * neg 186 | man.speed -= 1 187 | else: 188 | man.speed = 10 189 | man.isJumping = False 190 | 191 | redrawGame() 192 | -------------------------------------------------------------------------------- /course_13.py: -------------------------------------------------------------------------------- 1 | import pygame 2 | successes, fails = pygame.init() 3 | print(successes, fails) 4 | 5 | move_right = [pygame.image.load("hero/R1.png"), pygame.image.load("hero/R2.png"), pygame.image.load("hero/R3.png"), pygame.image.load("hero/R4.png"), pygame.image.load("hero/R5.png"), pygame.image.load("hero/R6.png"), pygame.image.load("hero/R7.png"), pygame.image.load("hero/R8.png"), pygame.image.load("hero/R9.png")] 6 | move_left = [pygame.image.load("hero/L1.png"), pygame.image.load("hero/L2.png"), pygame.image.load("hero/L3.png"), pygame.image.load("hero/L4.png"), pygame.image.load("hero/L5.png"), pygame.image.load("hero/L6.png"), pygame.image.load("hero/L7.png"), pygame.image.load("hero/L8.png"), pygame.image.load("hero/L9.png")] 7 | 8 | move_rightE = [pygame.image.load("enemy/R1E.png"), pygame.image.load("enemy/R2E.png"), pygame.image.load("enemy/R3E.png"), pygame.image.load("enemy/R4E.png"), pygame.image.load("enemy/R5E.png"), pygame.image.load("enemy/R6E.png"), pygame.image.load("enemy/R7E.png"), pygame.image.load("enemy/R8E.png"), pygame.image.load("enemy/R9E.png"), pygame.image.load("enemy/R10E.png"), pygame.image.load("enemy/R11E.png")] 9 | move_leftE = [pygame.image.load("enemy/L1E.png"), pygame.image.load("enemy/L2E.png"), pygame.image.load("enemy/L3E.png"), pygame.image.load("enemy/L4E.png"), pygame.image.load("enemy/L5E.png"), pygame.image.load("enemy/L6E.png"), pygame.image.load("enemy/L7E.png"), pygame.image.load("enemy/L8E.png"), pygame.image.load("enemy/L9E.png"), pygame.image.load("enemy/L10E.png"), pygame.image.load("enemy/L10E.png")] 10 | 11 | 12 | 13 | 14 | bg = pygame.image.load("bg.jpg") 15 | hero = pygame.image.load("hero/standing.png") 16 | 17 | screenWidth = 700 18 | screenHeight = 500 19 | clock = pygame.time.Clock() 20 | 21 | screen = pygame.display.set_mode((screenWidth, screenHeight)) 22 | pygame.display.set_caption("cs younes game") 23 | 24 | BLACK = (0, 0, 0) # RGB 25 | WHITE = (255, 255, 255) 26 | RED = (255, 0, 0) 27 | 28 | class Player(): 29 | def __init__(self, x, y, width, height): 30 | self.x = x 31 | self.y = y 32 | self.width = width 33 | self.height = height 34 | self.step = 5 35 | self.left = False 36 | self.right = False 37 | self.moves = 0 38 | self.speed = 10 39 | self.isJumping = False 40 | self.standing = True 41 | self.hitbox = (self.x + 20, self.y + 10, self.width - 40, self.height - 10) 42 | 43 | def draw(self, screen): 44 | if not self.standing: 45 | if self.left: 46 | screen.blit(move_left[self.moves // 2], (self.x, self.y)) 47 | self.moves += 1 48 | if self.moves == 18: 49 | self.moves = 0 50 | elif self.right: 51 | screen.blit(move_right[self.moves // 2], (self.x, self.y)) 52 | self.moves += 1 53 | if self.moves == 18: 54 | self.moves = 0 55 | else: 56 | if self.right: 57 | screen.blit(move_right[0], (self.x, self.y)) 58 | else: 59 | screen.blit(move_left[0], (self.x, self.y)) 60 | self.hitbox = (self.x + 20, self.y + 10, self.width - 40, self.height - 10) 61 | pygame.draw.rect(screen, RED, self.hitbox, 2) 62 | 63 | class Bullet: 64 | def __init__(self, x, y, radius, color, direction, step): 65 | self.x = x 66 | self.y = y 67 | self.radius = radius 68 | self.color = color 69 | self.direction = direction 70 | self.step = step * direction 71 | 72 | def draw(self, screen): 73 | pygame.draw.circle(screen, self.color,(self.x, self.y) ,self.radius) 74 | 75 | class Enemy: 76 | def __init__(self, x, y, width, height, end): 77 | self.x = x 78 | self.y = y 79 | self.width = width 80 | self.height = height 81 | self.end = end 82 | self.start = x 83 | self.step = 3 84 | self.moves = 0 85 | self.hitbox = (self.x + 20, self.y, self.width - 30, self.height) 86 | 87 | def draw(self, screen): 88 | self.move() 89 | if self.step < 0: 90 | screen.blit(move_leftE[self.moves // 2], (self.x, self.y)) 91 | self.moves += 1 92 | if self.moves == 11 * 2: 93 | self.moves = 0 94 | else: 95 | screen.blit(move_rightE[self.moves // 2], (self.x, self.y)) 96 | self.moves += 1 97 | if self.moves == 11 * 2: 98 | self.moves = 0 99 | 100 | 101 | 102 | 103 | def move(self): 104 | if self.step > 0: 105 | if self.x + self.step > self.end: 106 | self.step *= -1 107 | else: 108 | self.x += self.step 109 | else: 110 | if self.x - self.step < self.start: 111 | self.step *= -1 112 | else: 113 | self.x += self.step 114 | 115 | self.hitbox = (self.x + 20, self.y , self.width - 30, self.height) 116 | pygame.draw.rect(screen, RED, self.hitbox, 2) 117 | def hit(self): 118 | print("hit") 119 | 120 | 121 | man = Player(600, 400, 64, 64) 122 | enemy = Enemy(100, 400, 64, 64, 500) 123 | 124 | 125 | def redrawGame(): 126 | global moves 127 | 128 | screen.blit(bg, (0, 0)) 129 | enemy.draw(screen) 130 | man.draw(screen) 131 | 132 | for bullet in bullets: 133 | bullet.draw(screen) 134 | 135 | pygame.display.update() 136 | bullets = [] 137 | 138 | while True: 139 | clock.tick(30) 140 | for event in pygame.event.get(): 141 | if event.type == pygame.QUIT: 142 | quit() 143 | if event.type == pygame.KEYDOWN: 144 | if event.key == pygame.K_s: 145 | if len(bullets) < 5: 146 | direction = 0 147 | if man.right: 148 | direction = 1 149 | else: 150 | direction = -1 151 | bullets.append( 152 | Bullet(round(man.x + man.width // 2), round(man.y + man.height // 2), 5, RED, direction, 10)) 153 | keys = pygame.key.get_pressed() 154 | 155 | for bullet in bullets: 156 | if enemy.hitbox[0] < bullet.x < enemy.hitbox[0] + enemy.hitbox[2]: 157 | if enemy.hitbox[1] < bullet.y < enemy.hitbox[1] + enemy.hitbox[3]: 158 | bullets.remove(bullet) 159 | enemy.hit() 160 | 161 | if bullet.x < screenWidth and bullet.x > 0: 162 | bullet.x += bullet.step 163 | else: 164 | bullets.remove(bullet) 165 | 166 | 167 | 168 | 169 | 170 | if keys[pygame.K_LEFT] and man.x - man.step >= 0: 171 | man.x -= man.step 172 | man.left = True 173 | man.right = False 174 | man.standing = False 175 | elif keys[pygame.K_RIGHT] and man.x + man.width + man.step <= screenWidth: 176 | man.x += man.step 177 | man.right = True 178 | man.left = False 179 | man.standing = False 180 | else: 181 | man.standing = True 182 | man.moves = 0 183 | if not man.isJumping: 184 | if keys[pygame.K_SPACE]: 185 | man.isJumping = True 186 | else: 187 | if man.speed >= -10 : 188 | neg = 1 189 | if man.speed < 0: 190 | neg = -1 191 | man.y -= (man.speed ** 2) * 0.25 * neg 192 | man.speed -= 1 193 | else: 194 | man.speed = 10 195 | man.isJumping = False 196 | 197 | redrawGame() 198 | -------------------------------------------------------------------------------- /course_14.py: -------------------------------------------------------------------------------- 1 | import pygame 2 | successes, fails = pygame.init() 3 | print(successes, fails) 4 | 5 | move_right = [pygame.image.load("hero/R1.png"), pygame.image.load("hero/R2.png"), pygame.image.load("hero/R3.png"), pygame.image.load("hero/R4.png"), pygame.image.load("hero/R5.png"), pygame.image.load("hero/R6.png"), pygame.image.load("hero/R7.png"), pygame.image.load("hero/R8.png"), pygame.image.load("hero/R9.png")] 6 | move_left = [pygame.image.load("hero/L1.png"), pygame.image.load("hero/L2.png"), pygame.image.load("hero/L3.png"), pygame.image.load("hero/L4.png"), pygame.image.load("hero/L5.png"), pygame.image.load("hero/L6.png"), pygame.image.load("hero/L7.png"), pygame.image.load("hero/L8.png"), pygame.image.load("hero/L9.png")] 7 | 8 | move_rightE = [pygame.image.load("enemy/R1E.png"), pygame.image.load("enemy/R2E.png"), pygame.image.load("enemy/R3E.png"), pygame.image.load("enemy/R4E.png"), pygame.image.load("enemy/R5E.png"), pygame.image.load("enemy/R6E.png"), pygame.image.load("enemy/R7E.png"), pygame.image.load("enemy/R8E.png"), pygame.image.load("enemy/R9E.png"), pygame.image.load("enemy/R10E.png"), pygame.image.load("enemy/R11E.png")] 9 | move_leftE = [pygame.image.load("enemy/L1E.png"), pygame.image.load("enemy/L2E.png"), pygame.image.load("enemy/L3E.png"), pygame.image.load("enemy/L4E.png"), pygame.image.load("enemy/L5E.png"), pygame.image.load("enemy/L6E.png"), pygame.image.load("enemy/L7E.png"), pygame.image.load("enemy/L8E.png"), pygame.image.load("enemy/L9E.png"), pygame.image.load("enemy/L10E.png"), pygame.image.load("enemy/L10E.png")] 10 | 11 | 12 | 13 | 14 | bg = pygame.image.load("bg.jpg") 15 | hero = pygame.image.load("hero/standing.png") 16 | score = 0 17 | screenWidth = 700 18 | screenHeight = 500 19 | clock = pygame.time.Clock() 20 | 21 | screen = pygame.display.set_mode((screenWidth, screenHeight)) 22 | pygame.display.set_caption("cs younes game") 23 | 24 | BLACK = (0, 0, 0) # RGB 25 | WHITE = (255, 255, 255) 26 | RED = (255, 0, 0) 27 | 28 | class Player(): 29 | def __init__(self, x, y, width, height): 30 | self.x = x 31 | self.y = y 32 | self.width = width 33 | self.height = height 34 | self.step = 5 35 | self.left = False 36 | self.right = False 37 | self.moves = 0 38 | self.speed = 10 39 | self.isJumping = False 40 | self.standing = True 41 | self.hitbox = (self.x + 20, self.y + 10, self.width - 40, self.height - 10) 42 | 43 | def draw(self, screen): 44 | if not self.standing: 45 | if self.left: 46 | screen.blit(move_left[self.moves // 2], (self.x, self.y)) 47 | self.moves += 1 48 | if self.moves == 18: 49 | self.moves = 0 50 | elif self.right: 51 | screen.blit(move_right[self.moves // 2], (self.x, self.y)) 52 | self.moves += 1 53 | if self.moves == 18: 54 | self.moves = 0 55 | else: 56 | if self.right: 57 | screen.blit(move_right[0], (self.x, self.y)) 58 | else: 59 | screen.blit(move_left[0], (self.x, self.y)) 60 | self.hitbox = (self.x + 20, self.y + 10, self.width - 40, self.height - 10) 61 | pygame.draw.rect(screen, RED, self.hitbox, 2) 62 | 63 | class Bullet: 64 | def __init__(self, x, y, radius, color, direction, step): 65 | self.x = x 66 | self.y = y 67 | self.radius = radius 68 | self.color = color 69 | self.direction = direction 70 | self.step = step * direction 71 | 72 | def draw(self, screen): 73 | pygame.draw.circle(screen, self.color,(self.x, self.y) ,self.radius) 74 | 75 | class Enemy: 76 | def __init__(self, x, y, width, height, end): 77 | self.x = x 78 | self.y = y 79 | self.width = width 80 | self.height = height 81 | self.end = end 82 | self.start = x 83 | self.step = 3 84 | self.moves = 0 85 | self.hitbox = (self.x + 20, self.y, self.width - 30, self.height) 86 | 87 | def draw(self, screen): 88 | self.move() 89 | if self.step < 0: 90 | screen.blit(move_leftE[self.moves // 2], (self.x, self.y)) 91 | self.moves += 1 92 | if self.moves == 11 * 2: 93 | self.moves = 0 94 | else: 95 | screen.blit(move_rightE[self.moves // 2], (self.x, self.y)) 96 | self.moves += 1 97 | if self.moves == 11 * 2: 98 | self.moves = 0 99 | 100 | 101 | 102 | 103 | def move(self): 104 | if self.step > 0: 105 | if self.x + self.step > self.end: 106 | self.step *= -1 107 | else: 108 | self.x += self.step 109 | else: 110 | if self.x - self.step < self.start: 111 | self.step *= -1 112 | else: 113 | self.x += self.step 114 | 115 | self.hitbox = (self.x + 20, self.y , self.width - 30, self.height) 116 | pygame.draw.rect(screen, RED, self.hitbox, 2) 117 | def hit(self): 118 | print("hit") 119 | 120 | 121 | man = Player(600, 400, 64, 64) 122 | enemy = Enemy(100, 400, 64, 64, 500) 123 | 124 | font = pygame.font.SysFont("comicsans", 35, True) 125 | 126 | def redrawGame(): 127 | global moves 128 | 129 | text = font.render("Score = " + str(score), True, BLACK) 130 | 131 | screen.blit(bg, (0, 0)) 132 | screen.blit(text, (500, 50)) 133 | 134 | enemy.draw(screen) 135 | man.draw(screen) 136 | 137 | for bullet in bullets: 138 | bullet.draw(screen) 139 | 140 | pygame.display.update() 141 | bullets = [] 142 | 143 | while True: 144 | clock.tick(30) 145 | for event in pygame.event.get(): 146 | if event.type == pygame.QUIT: 147 | quit() 148 | if event.type == pygame.KEYDOWN: 149 | if event.key == pygame.K_s: 150 | if len(bullets) < 5: 151 | direction = 0 152 | if man.right: 153 | direction = 1 154 | else: 155 | direction = -1 156 | bullets.append( 157 | Bullet(round(man.x + man.width // 2), round(man.y + man.height // 2), 5, RED, direction, 10)) 158 | keys = pygame.key.get_pressed() 159 | 160 | for bullet in bullets: 161 | if enemy.hitbox[0] < bullet.x < enemy.hitbox[0] + enemy.hitbox[2]: 162 | if enemy.hitbox[1] < bullet.y < enemy.hitbox[1] + enemy.hitbox[3]: 163 | bullets.remove(bullet) 164 | enemy.hit() 165 | score += 1 166 | 167 | if bullet.x < screenWidth and bullet.x > 0: 168 | bullet.x += bullet.step 169 | else: 170 | bullets.remove(bullet) 171 | 172 | 173 | 174 | 175 | 176 | if keys[pygame.K_LEFT] and man.x - man.step >= 0: 177 | man.x -= man.step 178 | man.left = True 179 | man.right = False 180 | man.standing = False 181 | elif keys[pygame.K_RIGHT] and man.x + man.width + man.step <= screenWidth: 182 | man.x += man.step 183 | man.right = True 184 | man.left = False 185 | man.standing = False 186 | else: 187 | man.standing = True 188 | man.moves = 0 189 | if not man.isJumping: 190 | if keys[pygame.K_SPACE]: 191 | man.isJumping = True 192 | else: 193 | if man.speed >= -10 : 194 | neg = 1 195 | if man.speed < 0: 196 | neg = -1 197 | man.y -= (man.speed ** 2) * 0.25 * neg 198 | man.speed -= 1 199 | else: 200 | man.speed = 10 201 | man.isJumping = False 202 | 203 | redrawGame() 204 | -------------------------------------------------------------------------------- /course_15.py: -------------------------------------------------------------------------------- 1 | import pygame 2 | successes, fails = pygame.init() 3 | print(successes, fails) 4 | 5 | move_right = [pygame.image.load("hero/R1.png"), pygame.image.load("hero/R2.png"), pygame.image.load("hero/R3.png"), pygame.image.load("hero/R4.png"), pygame.image.load("hero/R5.png"), pygame.image.load("hero/R6.png"), pygame.image.load("hero/R7.png"), pygame.image.load("hero/R8.png"), pygame.image.load("hero/R9.png")] 6 | move_left = [pygame.image.load("hero/L1.png"), pygame.image.load("hero/L2.png"), pygame.image.load("hero/L3.png"), pygame.image.load("hero/L4.png"), pygame.image.load("hero/L5.png"), pygame.image.load("hero/L6.png"), pygame.image.load("hero/L7.png"), pygame.image.load("hero/L8.png"), pygame.image.load("hero/L9.png")] 7 | 8 | move_rightE = [pygame.image.load("enemy/R1E.png"), pygame.image.load("enemy/R2E.png"), pygame.image.load("enemy/R3E.png"), pygame.image.load("enemy/R4E.png"), pygame.image.load("enemy/R5E.png"), pygame.image.load("enemy/R6E.png"), pygame.image.load("enemy/R7E.png"), pygame.image.load("enemy/R8E.png"), pygame.image.load("enemy/R9E.png"), pygame.image.load("enemy/R10E.png"), pygame.image.load("enemy/R11E.png")] 9 | move_leftE = [pygame.image.load("enemy/L1E.png"), pygame.image.load("enemy/L2E.png"), pygame.image.load("enemy/L3E.png"), pygame.image.load("enemy/L4E.png"), pygame.image.load("enemy/L5E.png"), pygame.image.load("enemy/L6E.png"), pygame.image.load("enemy/L7E.png"), pygame.image.load("enemy/L8E.png"), pygame.image.load("enemy/L9E.png"), pygame.image.load("enemy/L10E.png"), pygame.image.load("enemy/L10E.png")] 10 | 11 | 12 | 13 | 14 | bg = pygame.image.load("bg.jpg") 15 | hero = pygame.image.load("hero/standing.png") 16 | score = 0 17 | screenWidth = 700 18 | screenHeight = 500 19 | clock = pygame.time.Clock() 20 | 21 | screen = pygame.display.set_mode((screenWidth, screenHeight)) 22 | pygame.display.set_caption("cs younes game") 23 | 24 | BLACK = (0, 0, 0) # RGB 25 | WHITE = (255, 255, 255) 26 | RED = (255, 0, 0) 27 | GREEN = (0, 100, 0) 28 | 29 | class Player(): 30 | def __init__(self, x, y, width, height): 31 | self.x = x 32 | self.y = y 33 | self.width = width 34 | self.height = height 35 | self.step = 5 36 | self.left = False 37 | self.right = False 38 | self.moves = 0 39 | self.speed = 10 40 | self.isJumping = False 41 | self.standing = True 42 | self.hitbox = (self.x + 20, self.y + 10, self.width - 40, self.height - 10) 43 | 44 | def draw(self, screen): 45 | if not self.standing: 46 | if self.left: 47 | screen.blit(move_left[self.moves // 2], (self.x, self.y)) 48 | self.moves += 1 49 | if self.moves == 18: 50 | self.moves = 0 51 | elif self.right: 52 | screen.blit(move_right[self.moves // 2], (self.x, self.y)) 53 | self.moves += 1 54 | if self.moves == 18: 55 | self.moves = 0 56 | else: 57 | if self.right: 58 | screen.blit(move_right[0], (self.x, self.y)) 59 | else: 60 | screen.blit(move_left[0], (self.x, self.y)) 61 | self.hitbox = (self.x + 20, self.y + 10, self.width - 40, self.height - 10) 62 | #pygame.draw.rect(screen, RED, self.hitbox, 2) 63 | 64 | class Bullet: 65 | def __init__(self, x, y, radius, color, direction, step): 66 | self.x = x 67 | self.y = y 68 | self.radius = radius 69 | self.color = color 70 | self.direction = direction 71 | self.step = step * direction 72 | 73 | def draw(self, screen): 74 | pygame.draw.circle(screen, self.color,(self.x, self.y) ,self.radius) 75 | 76 | class Enemy: 77 | def __init__(self, x, y, width, height, end): 78 | self.x = x 79 | self.y = y 80 | self.width = width 81 | self.height = height 82 | self.end = end 83 | self.start = x 84 | self.step = 3 85 | self.moves = 0 86 | self.hitbox = (self.x + 20, self.y, self.width - 30, self.height) 87 | self.health = 10 88 | self.visible = True 89 | 90 | def draw(self, screen): 91 | if self.visible: 92 | self.move() 93 | if self.step < 0: 94 | screen.blit(move_leftE[self.moves // 2], (self.x, self.y)) 95 | self.moves += 1 96 | if self.moves == 11 * 2: 97 | self.moves = 0 98 | else: 99 | screen.blit(move_rightE[self.moves // 2], (self.x, self.y)) 100 | self.moves += 1 101 | if self.moves == 11 * 2: 102 | self.moves = 0 103 | 104 | pygame.draw.rect(screen, RED, (self.hitbox[0], self.hitbox[1] - 15, 50, 10)) 105 | pygame.draw.rect(screen, GREEN, (self.hitbox[0], self.hitbox[1] - 15, self.health * 5, 10)) 106 | 107 | 108 | 109 | 110 | def move(self): 111 | if self.step > 0: 112 | if self.x + self.step > self.end: 113 | self.step *= -1 114 | else: 115 | self.x += self.step 116 | else: 117 | if self.x - self.step < self.start: 118 | self.step *= -1 119 | else: 120 | self.x += self.step 121 | 122 | self.hitbox = (self.x + 20, self.y , self.width - 30, self.height) 123 | #pygame.draw.rect(screen, RED, self.hitbox, 2) 124 | def hit(self): 125 | self.health -= 1 126 | if self.health == 0: 127 | self.visible = False 128 | print("hit") 129 | 130 | 131 | man = Player(600, 400, 64, 64) 132 | enemy = Enemy(100, 400, 64, 64, 500) 133 | 134 | font = pygame.font.SysFont("comicsans", 35, True) 135 | 136 | def redrawGame(): 137 | global moves 138 | 139 | text = font.render("Score = " + str(score), True, BLACK) 140 | 141 | screen.blit(bg, (0, 0)) 142 | screen.blit(text, (500, 50)) 143 | 144 | enemy.draw(screen) 145 | man.draw(screen) 146 | 147 | for bullet in bullets: 148 | bullet.draw(screen) 149 | 150 | pygame.display.update() 151 | bullets = [] 152 | 153 | while True: 154 | clock.tick(30) 155 | for event in pygame.event.get(): 156 | if event.type == pygame.QUIT: 157 | quit() 158 | if event.type == pygame.KEYDOWN: 159 | if event.key == pygame.K_s: 160 | if len(bullets) < 5: 161 | direction = 0 162 | if man.right: 163 | direction = 1 164 | else: 165 | direction = -1 166 | bullets.append( 167 | Bullet(round(man.x + man.width // 2), round(man.y + man.height // 2), 5, RED, direction, 10)) 168 | keys = pygame.key.get_pressed() 169 | 170 | for bullet in bullets: 171 | if enemy.hitbox[0] < bullet.x < enemy.hitbox[0] + enemy.hitbox[2]: 172 | if enemy.hitbox[1] < bullet.y < enemy.hitbox[1] + enemy.hitbox[3]: 173 | bullets.remove(bullet) 174 | enemy.hit() 175 | score += 1 176 | 177 | if bullet.x < screenWidth and bullet.x > 0: 178 | bullet.x += bullet.step 179 | else: 180 | bullets.remove(bullet) 181 | 182 | 183 | 184 | 185 | 186 | if keys[pygame.K_LEFT] and man.x - man.step >= 0: 187 | man.x -= man.step 188 | man.left = True 189 | man.right = False 190 | man.standing = False 191 | elif keys[pygame.K_RIGHT] and man.x + man.width + man.step <= screenWidth: 192 | man.x += man.step 193 | man.right = True 194 | man.left = False 195 | man.standing = False 196 | else: 197 | man.standing = True 198 | man.moves = 0 199 | if not man.isJumping: 200 | if keys[pygame.K_SPACE]: 201 | man.isJumping = True 202 | else: 203 | if man.speed >= -10 : 204 | neg = 1 205 | if man.speed < 0: 206 | neg = -1 207 | man.y -= (man.speed ** 2) * 0.25 * neg 208 | man.speed -= 1 209 | else: 210 | man.speed = 10 211 | man.isJumping = False 212 | 213 | redrawGame() 214 | -------------------------------------------------------------------------------- /course_16.py: -------------------------------------------------------------------------------- 1 | import pygame 2 | successes, fails = pygame.init() 3 | print(successes, fails) 4 | 5 | move_right = [pygame.image.load("hero/R1.png"), pygame.image.load("hero/R2.png"), pygame.image.load("hero/R3.png"), pygame.image.load("hero/R4.png"), pygame.image.load("hero/R5.png"), pygame.image.load("hero/R6.png"), pygame.image.load("hero/R7.png"), pygame.image.load("hero/R8.png"), pygame.image.load("hero/R9.png")] 6 | move_left = [pygame.image.load("hero/L1.png"), pygame.image.load("hero/L2.png"), pygame.image.load("hero/L3.png"), pygame.image.load("hero/L4.png"), pygame.image.load("hero/L5.png"), pygame.image.load("hero/L6.png"), pygame.image.load("hero/L7.png"), pygame.image.load("hero/L8.png"), pygame.image.load("hero/L9.png")] 7 | 8 | move_rightE = [pygame.image.load("enemy/R1E.png"), pygame.image.load("enemy/R2E.png"), pygame.image.load("enemy/R3E.png"), pygame.image.load("enemy/R4E.png"), pygame.image.load("enemy/R5E.png"), pygame.image.load("enemy/R6E.png"), pygame.image.load("enemy/R7E.png"), pygame.image.load("enemy/R8E.png"), pygame.image.load("enemy/R9E.png"), pygame.image.load("enemy/R10E.png"), pygame.image.load("enemy/R11E.png")] 9 | move_leftE = [pygame.image.load("enemy/L1E.png"), pygame.image.load("enemy/L2E.png"), pygame.image.load("enemy/L3E.png"), pygame.image.load("enemy/L4E.png"), pygame.image.load("enemy/L5E.png"), pygame.image.load("enemy/L6E.png"), pygame.image.load("enemy/L7E.png"), pygame.image.load("enemy/L8E.png"), pygame.image.load("enemy/L9E.png"), pygame.image.load("enemy/L10E.png"), pygame.image.load("enemy/L10E.png")] 10 | 11 | 12 | 13 | 14 | bg = pygame.image.load("bg.jpg") 15 | hero = pygame.image.load("hero/standing.png") 16 | score = 0 17 | screenWidth = 700 18 | screenHeight = 500 19 | clock = pygame.time.Clock() 20 | 21 | screen = pygame.display.set_mode((screenWidth, screenHeight)) 22 | pygame.display.set_caption("cs younes game") 23 | 24 | BLACK = (0, 0, 0) # RGB 25 | WHITE = (255, 255, 255) 26 | RED = (255, 0, 0) 27 | GREEN = (0, 100, 0) 28 | 29 | class Player(): 30 | def __init__(self, x, y, width, height): 31 | self.x = x 32 | self.y = y 33 | self.start_x = x 34 | self.start_y = y 35 | self.width = width 36 | self.height = height 37 | self.step = 5 38 | self.left = False 39 | self.right = False 40 | self.moves = 0 41 | self.speed = 10 42 | self.isJumping = False 43 | self.standing = True 44 | self.hitbox = (self.x + 20, self.y + 10, self.width - 40, self.height - 10) 45 | 46 | def draw(self, screen): 47 | if not self.standing: 48 | if self.left: 49 | screen.blit(move_left[self.moves // 2], (self.x, self.y)) 50 | self.moves += 1 51 | if self.moves == 18: 52 | self.moves = 0 53 | elif self.right: 54 | screen.blit(move_right[self.moves // 2], (self.x, self.y)) 55 | self.moves += 1 56 | if self.moves == 18: 57 | self.moves = 0 58 | else: 59 | if self.right: 60 | screen.blit(move_right[0], (self.x, self.y)) 61 | else: 62 | screen.blit(move_left[0], (self.x, self.y)) 63 | self.hitbox = (self.x + 20, self.y + 10, self.width - 40, self.height - 10) 64 | #pygame.draw.rect(screen, RED, self.hitbox, 2) 65 | 66 | def hit(self): 67 | self.x = self.start_x 68 | self.y = self.start_y 69 | self.moves = 0 70 | font1 = pygame.font.SysFont("comicsans", 80) 71 | text = font1.render("-5", 1, RED) 72 | screen.blit(text, (screenWidth // 2 - 1, 200)) 73 | pygame.display.update() 74 | 75 | i = 0 76 | while i < 150: 77 | i += 1 78 | pygame.time.delay(20) 79 | for event in pygame.event.get(): 80 | if event.type == pygame.QUIT: 81 | quit() 82 | 83 | 84 | class Bullet: 85 | def __init__(self, x, y, radius, color, direction, step): 86 | self.x = x 87 | self.y = y 88 | self.radius = radius 89 | self.color = color 90 | self.direction = direction 91 | self.step = step * direction 92 | 93 | def draw(self, screen): 94 | pygame.draw.circle(screen, self.color,(self.x, self.y) ,self.radius) 95 | 96 | class Enemy: 97 | def __init__(self, x, y, width, height, end): 98 | self.x = x 99 | self.y = y 100 | self.width = width 101 | self.height = height 102 | self.end = end 103 | self.start = x 104 | self.step = 3 105 | self.moves = 0 106 | self.hitbox = (self.x + 20, self.y, self.width - 30, self.height) 107 | self.health = 10 108 | self.visible = True 109 | 110 | def draw(self, screen): 111 | if self.visible: 112 | self.move() 113 | if self.step < 0: 114 | screen.blit(move_leftE[self.moves // 2], (self.x, self.y)) 115 | self.moves += 1 116 | if self.moves == 11 * 2: 117 | self.moves = 0 118 | else: 119 | screen.blit(move_rightE[self.moves // 2], (self.x, self.y)) 120 | self.moves += 1 121 | if self.moves == 11 * 2: 122 | self.moves = 0 123 | 124 | pygame.draw.rect(screen, RED, (self.hitbox[0], self.hitbox[1] - 15, 50, 10)) 125 | pygame.draw.rect(screen, GREEN, (self.hitbox[0], self.hitbox[1] - 15, self.health * 5, 10)) 126 | 127 | 128 | 129 | 130 | def move(self): 131 | if self.step > 0: 132 | if self.x + self.step > self.end: 133 | self.step *= -1 134 | else: 135 | self.x += self.step 136 | else: 137 | if self.x - self.step < self.start: 138 | self.step *= -1 139 | else: 140 | self.x += self.step 141 | 142 | self.hitbox = (self.x + 20, self.y , self.width - 30, self.height) 143 | #pygame.draw.rect(screen, RED, self.hitbox, 2) 144 | def hit(self): 145 | self.health -= 1 146 | if self.health == 0: 147 | self.visible = False 148 | print("hit") 149 | 150 | 151 | man = Player(600, 400, 64, 64) 152 | enemy = Enemy(100, 400, 64, 64, 500) 153 | 154 | font = pygame.font.SysFont("comicsans", 35, True) 155 | 156 | def redrawGame(): 157 | global moves 158 | 159 | text = font.render("Score = " + str(score), True, BLACK) 160 | 161 | screen.blit(bg, (0, 0)) 162 | screen.blit(text, (500, 50)) 163 | 164 | enemy.draw(screen) 165 | man.draw(screen) 166 | 167 | for bullet in bullets: 168 | bullet.draw(screen) 169 | 170 | pygame.display.update() 171 | bullets = [] 172 | 173 | while True: 174 | clock.tick(30) 175 | 176 | x_mid = (man.hitbox[0] + man.hitbox[0] + man.hitbox[2]) // 2 177 | y_mid = (man.hitbox[1] + man.hitbox[1] + man.hitbox[3]) // 2 178 | if enemy.hitbox[0] < x_mid < enemy.hitbox[0] + enemy.hitbox[2]: 179 | if enemy.hitbox[1] < y_mid < enemy.hitbox[1] + enemy.hitbox[3]: 180 | score -= 5 181 | man.hit() 182 | 183 | for event in pygame.event.get(): 184 | if event.type == pygame.QUIT: 185 | quit() 186 | if event.type == pygame.KEYDOWN: 187 | if event.key == pygame.K_s: 188 | if len(bullets) < 5: 189 | direction = 0 190 | if man.right: 191 | direction = 1 192 | else: 193 | direction = -1 194 | bullets.append( 195 | Bullet(round(man.x + man.width // 2), round(man.y + man.height // 2), 5, RED, direction, 10)) 196 | keys = pygame.key.get_pressed() 197 | 198 | for bullet in bullets: 199 | if enemy.hitbox[0] < bullet.x < enemy.hitbox[0] + enemy.hitbox[2]: 200 | if enemy.hitbox[1] < bullet.y < enemy.hitbox[1] + enemy.hitbox[3]: 201 | bullets.remove(bullet) 202 | enemy.hit() 203 | score += 1 204 | 205 | if bullet.x < screenWidth and bullet.x > 0: 206 | bullet.x += bullet.step 207 | else: 208 | bullets.remove(bullet) 209 | 210 | 211 | 212 | 213 | 214 | if keys[pygame.K_LEFT] and man.x - man.step >= 0: 215 | man.x -= man.step 216 | man.left = True 217 | man.right = False 218 | man.standing = False 219 | elif keys[pygame.K_RIGHT] and man.x + man.width + man.step <= screenWidth: 220 | man.x += man.step 221 | man.right = True 222 | man.left = False 223 | man.standing = False 224 | else: 225 | man.standing = True 226 | man.moves = 0 227 | if not man.isJumping: 228 | if keys[pygame.K_SPACE]: 229 | man.isJumping = True 230 | else: 231 | if man.speed >= -10 : 232 | neg = 1 233 | if man.speed < 0: 234 | neg = -1 235 | man.y -= (man.speed ** 2) * 0.25 * neg 236 | man.speed -= 1 237 | else: 238 | man.speed = 10 239 | man.isJumping = False 240 | 241 | redrawGame() 242 | -------------------------------------------------------------------------------- /course_17.py: -------------------------------------------------------------------------------- 1 | import pygame 2 | successes, fails = pygame.init() 3 | print(successes, fails) 4 | 5 | move_right = [pygame.image.load("hero/R1.png"), pygame.image.load("hero/R2.png"), pygame.image.load("hero/R3.png"), pygame.image.load("hero/R4.png"), pygame.image.load("hero/R5.png"), pygame.image.load("hero/R6.png"), pygame.image.load("hero/R7.png"), pygame.image.load("hero/R8.png"), pygame.image.load("hero/R9.png")] 6 | move_left = [pygame.image.load("hero/L1.png"), pygame.image.load("hero/L2.png"), pygame.image.load("hero/L3.png"), pygame.image.load("hero/L4.png"), pygame.image.load("hero/L5.png"), pygame.image.load("hero/L6.png"), pygame.image.load("hero/L7.png"), pygame.image.load("hero/L8.png"), pygame.image.load("hero/L9.png")] 7 | 8 | move_rightE = [pygame.image.load("enemy/R1E.png"), pygame.image.load("enemy/R2E.png"), pygame.image.load("enemy/R3E.png"), pygame.image.load("enemy/R4E.png"), pygame.image.load("enemy/R5E.png"), pygame.image.load("enemy/R6E.png"), pygame.image.load("enemy/R7E.png"), pygame.image.load("enemy/R8E.png"), pygame.image.load("enemy/R9E.png"), pygame.image.load("enemy/R10E.png"), pygame.image.load("enemy/R11E.png")] 9 | move_leftE = [pygame.image.load("enemy/L1E.png"), pygame.image.load("enemy/L2E.png"), pygame.image.load("enemy/L3E.png"), pygame.image.load("enemy/L4E.png"), pygame.image.load("enemy/L5E.png"), pygame.image.load("enemy/L6E.png"), pygame.image.load("enemy/L7E.png"), pygame.image.load("enemy/L8E.png"), pygame.image.load("enemy/L9E.png"), pygame.image.load("enemy/L10E.png"), pygame.image.load("enemy/L10E.png")] 10 | 11 | 12 | 13 | 14 | bg = pygame.image.load("bg.jpg") 15 | hero = pygame.image.load("hero/standing.png") 16 | score = 0 17 | screenWidth = 700 18 | screenHeight = 500 19 | clock = pygame.time.Clock() 20 | 21 | screen = pygame.display.set_mode((screenWidth, screenHeight)) 22 | pygame.display.set_caption("cs younes game") 23 | 24 | BLACK = (0, 0, 0) # RGB 25 | WHITE = (255, 255, 255) 26 | RED = (255, 0, 0) 27 | GREEN = (0, 100, 0) 28 | 29 | class Player(): 30 | def __init__(self, x, y, width, height): 31 | self.x = x 32 | self.y = y 33 | self.start_x = x 34 | self.start_y = y 35 | self.width = width 36 | self.height = height 37 | self.step = 5 38 | self.left = False 39 | self.right = False 40 | self.moves = 0 41 | self.speed = 10 42 | self.isJumping = False 43 | self.standing = True 44 | self.hitbox = (self.x + 20, self.y + 10, self.width - 40, self.height - 10) 45 | 46 | def draw(self, screen): 47 | if not self.standing: 48 | if self.left: 49 | screen.blit(move_left[self.moves // 2], (self.x, self.y)) 50 | self.moves += 1 51 | if self.moves == 18: 52 | self.moves = 0 53 | elif self.right: 54 | screen.blit(move_right[self.moves // 2], (self.x, self.y)) 55 | self.moves += 1 56 | if self.moves == 18: 57 | self.moves = 0 58 | else: 59 | if self.right: 60 | screen.blit(move_right[0], (self.x, self.y)) 61 | else: 62 | screen.blit(move_left[0], (self.x, self.y)) 63 | self.hitbox = (self.x + 20, self.y + 10, self.width - 40, self.height - 10) 64 | #pygame.draw.rect(screen, RED, self.hitbox, 2) 65 | 66 | def hit(self): 67 | self.x = self.start_x 68 | self.y = self.start_y 69 | self.isJumping = False 70 | self.speed = 10 71 | self.moves = 0 72 | font1 = pygame.font.SysFont("comicsans", 80) 73 | text = font1.render("-5", 1, RED) 74 | screen.blit(text, (screenWidth // 2 - 1, 200)) 75 | pygame.display.update() 76 | 77 | i = 0 78 | while i < 150: 79 | i += 1 80 | pygame.time.delay(20) 81 | for event in pygame.event.get(): 82 | if event.type == pygame.QUIT: 83 | quit() 84 | 85 | 86 | class Bullet: 87 | def __init__(self, x, y, radius, color, direction, step): 88 | self.x = x 89 | self.y = y 90 | self.radius = radius 91 | self.color = color 92 | self.direction = direction 93 | self.step = step * direction 94 | 95 | def draw(self, screen): 96 | pygame.draw.circle(screen, self.color,(self.x, self.y) ,self.radius) 97 | 98 | class Enemy: 99 | def __init__(self, x, y, width, height, end): 100 | self.x = x 101 | self.y = y 102 | self.width = width 103 | self.height = height 104 | self.end = end 105 | self.start = x 106 | self.step = 3 107 | self.moves = 0 108 | self.hitbox = (self.x + 20, self.y, self.width - 30, self.height) 109 | self.health = 10 110 | self.visible = True 111 | 112 | def draw(self, screen): 113 | if self.visible: 114 | self.move() 115 | if self.step < 0: 116 | screen.blit(move_leftE[self.moves // 2], (self.x, self.y)) 117 | self.moves += 1 118 | if self.moves == 11 * 2: 119 | self.moves = 0 120 | else: 121 | screen.blit(move_rightE[self.moves // 2], (self.x, self.y)) 122 | self.moves += 1 123 | if self.moves == 11 * 2: 124 | self.moves = 0 125 | 126 | pygame.draw.rect(screen, RED, (self.hitbox[0], self.hitbox[1] - 15, 50, 10)) 127 | pygame.draw.rect(screen, GREEN, (self.hitbox[0], self.hitbox[1] - 15, self.health * 5, 10)) 128 | 129 | 130 | 131 | 132 | def move(self): 133 | if self.step > 0: 134 | if self.x + self.step > self.end: 135 | self.step *= -1 136 | else: 137 | self.x += self.step 138 | else: 139 | if self.x - self.step < self.start: 140 | self.step *= -1 141 | else: 142 | self.x += self.step 143 | 144 | self.hitbox = (self.x + 20, self.y , self.width - 30, self.height) 145 | #pygame.draw.rect(screen, RED, self.hitbox, 2) 146 | def hit(self): 147 | self.health -= 1 148 | if self.health == 0: 149 | self.visible = False 150 | self.hitbox = (0, 0, 0, 0) 151 | 152 | print("hit") 153 | 154 | 155 | man = Player(600, 400, 64, 64) 156 | enemy = Enemy(100, 400, 64, 64, 500) 157 | 158 | font = pygame.font.SysFont("comicsans", 35, True) 159 | 160 | def redrawGame(): 161 | global moves 162 | 163 | text = font.render("Score = " + str(score), True, BLACK) 164 | 165 | screen.blit(bg, (0, 0)) 166 | screen.blit(text, (500, 50)) 167 | 168 | enemy.draw(screen) 169 | man.draw(screen) 170 | 171 | for bullet in bullets: 172 | bullet.draw(screen) 173 | 174 | pygame.display.update() 175 | bullets = [] 176 | 177 | while True: 178 | clock.tick(30) 179 | 180 | x_mid = (man.hitbox[0] + man.hitbox[0] + man.hitbox[2]) // 2 181 | y_mid = (man.hitbox[1] + man.hitbox[1] + man.hitbox[3]) // 2 182 | if enemy.hitbox[0] < x_mid < enemy.hitbox[0] + enemy.hitbox[2]: 183 | if enemy.hitbox[1] < y_mid < enemy.hitbox[1] + enemy.hitbox[3]: 184 | score -= 5 185 | man.hit() 186 | 187 | for event in pygame.event.get(): 188 | if event.type == pygame.QUIT: 189 | quit() 190 | if event.type == pygame.KEYDOWN: 191 | if event.key == pygame.K_s: 192 | if len(bullets) < 5: 193 | direction = 0 194 | if man.right: 195 | direction = 1 196 | else: 197 | direction = -1 198 | bullets.append( 199 | Bullet(round(man.x + man.width // 2), round(man.y + man.height // 2), 5, RED, direction, 10)) 200 | keys = pygame.key.get_pressed() 201 | 202 | for bullet in bullets: 203 | if enemy.hitbox[0] < bullet.x < enemy.hitbox[0] + enemy.hitbox[2]: 204 | if enemy.hitbox[1] < bullet.y < enemy.hitbox[1] + enemy.hitbox[3]: 205 | bullets.remove(bullet) 206 | enemy.hit() 207 | score += 1 208 | 209 | if bullet.x < screenWidth and bullet.x > 0: 210 | bullet.x += bullet.step 211 | else: 212 | bullets.remove(bullet) 213 | 214 | 215 | 216 | 217 | 218 | if keys[pygame.K_LEFT] and man.x - man.step >= 0: 219 | man.x -= man.step 220 | man.left = True 221 | man.right = False 222 | man.standing = False 223 | elif keys[pygame.K_RIGHT] and man.x + man.width + man.step <= screenWidth: 224 | man.x += man.step 225 | man.right = True 226 | man.left = False 227 | man.standing = False 228 | else: 229 | man.standing = True 230 | man.moves = 0 231 | if not man.isJumping: 232 | if keys[pygame.K_SPACE]: 233 | man.isJumping = True 234 | else: 235 | if man.speed >= -10 : 236 | neg = 1 237 | if man.speed < 0: 238 | neg = -1 239 | man.y -= (man.speed ** 2) * 0.25 * neg 240 | man.speed -= 1 241 | else: 242 | man.speed = 10 243 | man.isJumping = False 244 | 245 | redrawGame() 246 | -------------------------------------------------------------------------------- /course_18.py: -------------------------------------------------------------------------------- 1 | import pygame 2 | successes, fails = pygame.init() 3 | print(successes, fails) 4 | 5 | move_right = [pygame.image.load("hero/R1.png"), pygame.image.load("hero/R2.png"), pygame.image.load("hero/R3.png"), pygame.image.load("hero/R4.png"), pygame.image.load("hero/R5.png"), pygame.image.load("hero/R6.png"), pygame.image.load("hero/R7.png"), pygame.image.load("hero/R8.png"), pygame.image.load("hero/R9.png")] 6 | move_left = [pygame.image.load("hero/L1.png"), pygame.image.load("hero/L2.png"), pygame.image.load("hero/L3.png"), pygame.image.load("hero/L4.png"), pygame.image.load("hero/L5.png"), pygame.image.load("hero/L6.png"), pygame.image.load("hero/L7.png"), pygame.image.load("hero/L8.png"), pygame.image.load("hero/L9.png")] 7 | 8 | move_rightE = [pygame.image.load("enemy/R1E.png"), pygame.image.load("enemy/R2E.png"), pygame.image.load("enemy/R3E.png"), pygame.image.load("enemy/R4E.png"), pygame.image.load("enemy/R5E.png"), pygame.image.load("enemy/R6E.png"), pygame.image.load("enemy/R7E.png"), pygame.image.load("enemy/R8E.png"), pygame.image.load("enemy/R9E.png"), pygame.image.load("enemy/R10E.png"), pygame.image.load("enemy/R11E.png")] 9 | move_leftE = [pygame.image.load("enemy/L1E.png"), pygame.image.load("enemy/L2E.png"), pygame.image.load("enemy/L3E.png"), pygame.image.load("enemy/L4E.png"), pygame.image.load("enemy/L5E.png"), pygame.image.load("enemy/L6E.png"), pygame.image.load("enemy/L7E.png"), pygame.image.load("enemy/L8E.png"), pygame.image.load("enemy/L9E.png"), pygame.image.load("enemy/L10E.png"), pygame.image.load("enemy/L10E.png")] 10 | 11 | 12 | bulletSound = pygame.mixer.Sound("sounds/bullet.wav") 13 | hitSound = pygame.mixer.Sound("sounds/hit.wav") 14 | 15 | bg = pygame.image.load("bg.jpg") 16 | hero = pygame.image.load("hero/standing.png") 17 | score = 0 18 | screenWidth = 700 19 | screenHeight = 500 20 | clock = pygame.time.Clock() 21 | 22 | screen = pygame.display.set_mode((screenWidth, screenHeight)) 23 | pygame.display.set_caption("cs younes game") 24 | 25 | BLACK = (0, 0, 0) # RGB 26 | WHITE = (255, 255, 255) 27 | RED = (255, 0, 0) 28 | GREEN = (0, 100, 0) 29 | 30 | class Player(): 31 | def __init__(self, x, y, width, height): 32 | self.x = x 33 | self.y = y 34 | self.start_x = x 35 | self.start_y = y 36 | self.width = width 37 | self.height = height 38 | self.step = 5 39 | self.left = False 40 | self.right = False 41 | self.moves = 0 42 | self.speed = 10 43 | self.isJumping = False 44 | self.standing = True 45 | self.hitbox = (self.x + 20, self.y + 10, self.width - 40, self.height - 10) 46 | 47 | def draw(self, screen): 48 | if not self.standing: 49 | if self.left: 50 | screen.blit(move_left[self.moves // 2], (self.x, self.y)) 51 | self.moves += 1 52 | if self.moves == 18: 53 | self.moves = 0 54 | elif self.right: 55 | screen.blit(move_right[self.moves // 2], (self.x, self.y)) 56 | self.moves += 1 57 | if self.moves == 18: 58 | self.moves = 0 59 | else: 60 | if self.right: 61 | screen.blit(move_right[0], (self.x, self.y)) 62 | else: 63 | screen.blit(move_left[0], (self.x, self.y)) 64 | self.hitbox = (self.x + 20, self.y + 10, self.width - 40, self.height - 10) 65 | #pygame.draw.rect(screen, RED, self.hitbox, 2) 66 | 67 | def hit(self): 68 | self.x = self.start_x 69 | self.y = self.start_y 70 | self.isJumping = False 71 | self.speed = 10 72 | self.moves = 0 73 | font1 = pygame.font.SysFont("comicsans", 80) 74 | text = font1.render("-5", 1, RED) 75 | screen.blit(text, (screenWidth // 2 - 1, 200)) 76 | pygame.display.update() 77 | 78 | i = 0 79 | while i < 150: 80 | i += 1 81 | pygame.time.delay(20) 82 | for event in pygame.event.get(): 83 | if event.type == pygame.QUIT: 84 | quit() 85 | 86 | 87 | class Bullet: 88 | def __init__(self, x, y, radius, color, direction, step): 89 | self.x = x 90 | self.y = y 91 | self.radius = radius 92 | self.color = color 93 | self.direction = direction 94 | self.step = step * direction 95 | 96 | def draw(self, screen): 97 | pygame.draw.circle(screen, self.color,(self.x, self.y) ,self.radius) 98 | 99 | class Enemy: 100 | def __init__(self, x, y, width, height, end): 101 | self.x = x 102 | self.y = y 103 | self.width = width 104 | self.height = height 105 | self.end = end 106 | self.start = x 107 | self.step = 3 108 | self.moves = 0 109 | self.hitbox = (self.x + 20, self.y, self.width - 30, self.height) 110 | self.health = 10 111 | self.visible = True 112 | 113 | def draw(self, screen): 114 | if self.visible: 115 | self.move() 116 | if self.step < 0: 117 | screen.blit(move_leftE[self.moves // 2], (self.x, self.y)) 118 | self.moves += 1 119 | if self.moves == 11 * 2: 120 | self.moves = 0 121 | else: 122 | screen.blit(move_rightE[self.moves // 2], (self.x, self.y)) 123 | self.moves += 1 124 | if self.moves == 11 * 2: 125 | self.moves = 0 126 | 127 | pygame.draw.rect(screen, RED, (self.hitbox[0], self.hitbox[1] - 15, 50, 10)) 128 | pygame.draw.rect(screen, GREEN, (self.hitbox[0], self.hitbox[1] - 15, self.health * 5, 10)) 129 | 130 | 131 | 132 | 133 | def move(self): 134 | if self.step > 0: 135 | if self.x + self.step > self.end: 136 | self.step *= -1 137 | else: 138 | self.x += self.step 139 | else: 140 | if self.x - self.step < self.start: 141 | self.step *= -1 142 | else: 143 | self.x += self.step 144 | 145 | self.hitbox = (self.x + 20, self.y , self.width - 30, self.height) 146 | #pygame.draw.rect(screen, RED, self.hitbox, 2) 147 | def hit(self): 148 | hitSound.play() 149 | self.health -= 1 150 | if self.health == 0: 151 | self.visible = False 152 | self.hitbox = (0, 0, 0, 0) 153 | 154 | print("hit") 155 | 156 | 157 | man = Player(600, 400, 64, 64) 158 | enemy = Enemy(100, 400, 64, 64, 500) 159 | 160 | font = pygame.font.SysFont("comicsans", 35, True) 161 | 162 | def redrawGame(): 163 | global moves 164 | 165 | text = font.render("Score = " + str(score), True, BLACK) 166 | 167 | screen.blit(bg, (0, 0)) 168 | screen.blit(text, (500, 50)) 169 | 170 | enemy.draw(screen) 171 | man.draw(screen) 172 | 173 | for bullet in bullets: 174 | bullet.draw(screen) 175 | 176 | pygame.display.update() 177 | bullets = [] 178 | 179 | while True: 180 | clock.tick(30) 181 | 182 | x_mid = (man.hitbox[0] + man.hitbox[0] + man.hitbox[2]) // 2 183 | y_mid = (man.hitbox[1] + man.hitbox[1] + man.hitbox[3]) // 2 184 | if enemy.hitbox[0] < x_mid < enemy.hitbox[0] + enemy.hitbox[2]: 185 | if enemy.hitbox[1] < y_mid < enemy.hitbox[1] + enemy.hitbox[3]: 186 | score -= 5 187 | man.hit() 188 | 189 | for event in pygame.event.get(): 190 | if event.type == pygame.QUIT: 191 | quit() 192 | if event.type == pygame.KEYDOWN: 193 | if event.key == pygame.K_s: 194 | if len(bullets) < 5: 195 | bulletSound.play() 196 | direction = 0 197 | if man.right: 198 | direction = 1 199 | else: 200 | direction = -1 201 | bullets.append( 202 | Bullet(round(man.x + man.width // 2), round(man.y + man.height // 2), 5, RED, direction, 10)) 203 | keys = pygame.key.get_pressed() 204 | 205 | for bullet in bullets: 206 | if enemy.hitbox[0] < bullet.x < enemy.hitbox[0] + enemy.hitbox[2]: 207 | if enemy.hitbox[1] < bullet.y < enemy.hitbox[1] + enemy.hitbox[3]: 208 | bullets.remove(bullet) 209 | enemy.hit() 210 | score += 1 211 | 212 | if bullet.x < screenWidth and bullet.x > 0: 213 | bullet.x += bullet.step 214 | else: 215 | bullets.remove(bullet) 216 | 217 | 218 | 219 | 220 | 221 | if keys[pygame.K_LEFT] and man.x - man.step >= 0: 222 | man.x -= man.step 223 | man.left = True 224 | man.right = False 225 | man.standing = False 226 | elif keys[pygame.K_RIGHT] and man.x + man.width + man.step <= screenWidth: 227 | man.x += man.step 228 | man.right = True 229 | man.left = False 230 | man.standing = False 231 | else: 232 | man.standing = True 233 | man.moves = 0 234 | if not man.isJumping: 235 | if keys[pygame.K_SPACE]: 236 | man.isJumping = True 237 | else: 238 | if man.speed >= -10 : 239 | neg = 1 240 | if man.speed < 0: 241 | neg = -1 242 | man.y -= (man.speed ** 2) * 0.25 * neg 243 | man.speed -= 1 244 | else: 245 | man.speed = 10 246 | man.isJumping = False 247 | 248 | redrawGame() 249 | -------------------------------------------------------------------------------- /enemy/L10E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/enemy/L10E.png -------------------------------------------------------------------------------- /enemy/L11E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/enemy/L11E.png -------------------------------------------------------------------------------- /enemy/L1E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/enemy/L1E.png -------------------------------------------------------------------------------- /enemy/L2E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/enemy/L2E.png -------------------------------------------------------------------------------- /enemy/L3E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/enemy/L3E.png -------------------------------------------------------------------------------- /enemy/L4E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/enemy/L4E.png -------------------------------------------------------------------------------- /enemy/L5E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/enemy/L5E.png -------------------------------------------------------------------------------- /enemy/L6E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/enemy/L6E.png -------------------------------------------------------------------------------- /enemy/L7E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/enemy/L7E.png -------------------------------------------------------------------------------- /enemy/L8E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/enemy/L8E.png -------------------------------------------------------------------------------- /enemy/L9E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/enemy/L9E.png -------------------------------------------------------------------------------- /enemy/R10E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/enemy/R10E.png -------------------------------------------------------------------------------- /enemy/R11E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/enemy/R11E.png -------------------------------------------------------------------------------- /enemy/R1E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/enemy/R1E.png -------------------------------------------------------------------------------- /enemy/R2E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/enemy/R2E.png -------------------------------------------------------------------------------- /enemy/R3E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/enemy/R3E.png -------------------------------------------------------------------------------- /enemy/R4E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/enemy/R4E.png -------------------------------------------------------------------------------- /enemy/R5E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/enemy/R5E.png -------------------------------------------------------------------------------- /enemy/R6E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/enemy/R6E.png -------------------------------------------------------------------------------- /enemy/R7E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/enemy/R7E.png -------------------------------------------------------------------------------- /enemy/R8E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/enemy/R8E.png -------------------------------------------------------------------------------- /enemy/R9E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/enemy/R9E.png -------------------------------------------------------------------------------- /game0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/game0.png -------------------------------------------------------------------------------- /hero/L1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/hero/L1.png -------------------------------------------------------------------------------- /hero/L2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/hero/L2.png -------------------------------------------------------------------------------- /hero/L3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/hero/L3.png -------------------------------------------------------------------------------- /hero/L4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/hero/L4.png -------------------------------------------------------------------------------- /hero/L5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/hero/L5.png -------------------------------------------------------------------------------- /hero/L6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/hero/L6.png -------------------------------------------------------------------------------- /hero/L7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/hero/L7.png -------------------------------------------------------------------------------- /hero/L8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/hero/L8.png -------------------------------------------------------------------------------- /hero/L9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/hero/L9.png -------------------------------------------------------------------------------- /hero/R1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/hero/R1.png -------------------------------------------------------------------------------- /hero/R2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/hero/R2.png -------------------------------------------------------------------------------- /hero/R3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/hero/R3.png -------------------------------------------------------------------------------- /hero/R4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/hero/R4.png -------------------------------------------------------------------------------- /hero/R5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/hero/R5.png -------------------------------------------------------------------------------- /hero/R6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/hero/R6.png -------------------------------------------------------------------------------- /hero/R7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/hero/R7.png -------------------------------------------------------------------------------- /hero/R8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/hero/R8.png -------------------------------------------------------------------------------- /hero/R9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/hero/R9.png -------------------------------------------------------------------------------- /hero/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/hero/bg.jpg -------------------------------------------------------------------------------- /hero/standing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/hero/standing.png -------------------------------------------------------------------------------- /sounds/bullet.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/sounds/bullet.wav -------------------------------------------------------------------------------- /sounds/hit.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/younes38/pygame-tutorial/9e19720de74c2d7912e015fb21b4bc1ca290a2dd/sounds/hit.wav --------------------------------------------------------------------------------