Python 3 game only the start ;) more coming to add to the game


SUBMITTED BY: Wormlee2010

DATE: May 27, 2021, 6:48 p.m.

FORMAT: Python 3

SIZE: 2.8 kB

HITS: 460

  1. starter file please watch the video.
  2. import pygame
  3. from pygame.locals import *
  4. import os
  5. import sys
  6. import math
  7. pygame.init()
  8. W, H = 800, 447
  9. win = pygame.display.set_mode((W,H))
  10. pygame.display.set_caption('Side Scroller')
  11. bg = pygame.image.load(os.path.join('images','bg.png')).convert()
  12. bgX = 0
  13. bgX2 = bg.get_width()
  14. clock = pygame.time.Clock()
  15. class player(object):
  16. run = [pygame.image.load(os.path.join('images', str(x) + '.png')) for x in range(8,16)]
  17. jump = [pygame.image.load(os.path.join('images', str(x) + '.png')) for x in range(1,8)]
  18. slide = [pygame.image.load(os.path.join('images', 'S1.png')),pygame.image.load(os.path.join('images', 'S2.png')),pygame.image.load(os.path.join('images', 'S2.png')),pygame.image.load(os.path.join('images', 'S2.png')), pygame.image.load(os.path.join('images', 'S2.png')),pygame.image.load(os.path.join('images', 'S2.png')), pygame.image.load(os.path.join('images', 'S2.png')), pygame.image.load(os.path.join('images', 'S2.png')), pygame.image.load(os.path.join('images', 'S3.png')), pygame.image.load(os.path.join('images', 'S4.png')), pygame.image.load(os.path.join('images', 'S5.png'))]
  19. jumpList = [1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4]
  20. def __init__(self, x, y, width, height):
  21. self.x = x
  22. self.y = y
  23. self.width = width
  24. self.height = height
  25. self.jumping = False
  26. self.sliding = False
  27. self.slideCount = 0
  28. self.jumpCount = 0
  29. self.runCount = 0
  30. self.slideUp = False
  31. def draw(self, win):
  32. if self.jumping:
  33. self.y -= self.jumpList[self.jumpCount] * 1.2
  34. win.blit(self.jump[self.jumpCount//18], (self.x,self.y))
  35. self.jumpCount += 1
  36. if self.jumpCount > 108:
  37. self.jumpCount = 0
  38. self.jumping = False
  39. self.runCount = 0
  40. elif self.sliding or self.slideUp:
  41. if self.slideCount < 20:
  42. self.y += 1
  43. elif self.slideCount == 80:
  44. self.y -= 19
  45. self.sliding = False
  46. self.slideUp = True
  47. if self.slideCount >= 110:
  48. self.slideCount = 0
  49. self.slideUp = False
  50. self.runCount = 0
  51. win.blit(self.slide[self.slideCount//10], (self.x,self.y))
  52. self.slideCount += 1
  53. else:
  54. if self.runCount > 42:
  55. self.runCount = 0
  56. win.blit(self.run[self.runCount//6], (self.x,self.y))
  57. self.runCount += 1

comments powered by Disqus