Advertisement
skip420

game_for_war

Jun 19th, 2022
949
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.25 KB | None | 0 0
  1. # startup and foundation of game for war.
  2.  
  3.  
  4. import pygame
  5. import sys
  6. import os
  7.  
  8. '''
  9. Variables
  10. '''
  11.  
  12. worldx = 960
  13. worldy = 720
  14. fps = 40
  15. ani = 4
  16. world = pygame.display.set_mode([worldx, worldy])
  17.  
  18. BLUE = (25, 25, 200)
  19. BLACK = (23, 23, 23)
  20. WHITE = (254, 254, 254)
  21. ALPHA = (0, 255, 0)
  22.  
  23. '''
  24. Objects
  25. '''
  26.  
  27.  
  28. class Player(pygame.sprite.Sprite):
  29.     """
  30.    Spawn a player
  31.    """
  32.  
  33.     def __init__(self):
  34.         pygame.sprite.Sprite.__init__(self)
  35.         self.movex = 0
  36.         self.movey = 0
  37.         self.frame = 0
  38.         self.images = []
  39.         for i in range(1, 5):
  40.             img = pygame.image.load(os.path.join(  '/home/skip420/Desktop/PYGame/images/player/bluetank.png')).convert()
  41.             img.convert_alpha()  # optimise alpha
  42.             img.set_colorkey(ALPHA)  # set alpha
  43.             self.images.append(img)
  44.             self.image = self.images[0]
  45.             self.rect = self.image.get_rect()
  46.  
  47.     def control(self, x, y):
  48.         """
  49.        control player movement
  50.        """
  51.         self.movex += x
  52.         self.movey += y
  53.  
  54.     def update(self):
  55.         """
  56.        Update sprite position
  57.        """
  58.  
  59.         self.rect.x = self.rect.x + self.movex
  60.         self.rect.y = self.rect.y + self.movey
  61.  
  62.         # moving left
  63.         if self.movex < 0:
  64.             self.frame += 1
  65.             if self.frame > 3*ani:
  66.                 self.frame = 0
  67.             self.image = pygame.transform.flip(self.images[self.frame // ani], True, False)
  68.  
  69.         # moving right
  70.         if self.movex > 0:
  71.             self.frame += 1
  72.             if self.frame > 3*ani:
  73.                 self.frame = 0
  74.             self.image = self.images[self.frame//ani]
  75.  
  76.  
  77. '''
  78. Setup
  79. '''
  80.  
  81. backdrop = pygame.image.load(os.path.join('images', '/home/skip420/Desktop/PYGame/images/background/Normal-day-in-desert2.gif'))
  82. clock = pygame.time.Clock()
  83. pygame.init()
  84. backdropbox = world.get_rect()
  85. main = True
  86.  
  87. player = Player()  # spawn player
  88. player.rect.x = 0  # go to x
  89. player.rect.y = 0  # go to y
  90. player_list = pygame.sprite.Group()
  91. player_list.add(player)
  92. steps = 10
  93.  
  94. '''
  95. Main Loop
  96. '''
  97.  
  98. while main:
  99.     for event in pygame.event.get():
  100.         if event.type == pygame.QUIT:
  101.             pygame.quit()
  102.             try:
  103.                 sys.exit()
  104.             finally:
  105.                 main = False
  106.  
  107.         if event.type == pygame.KEYDOWN:
  108.             if event.key == ord('q'):
  109.                 pygame.quit()
  110.                 try:
  111.                     sys.exit()
  112.                 finally:
  113.                     main = False
  114.             if event.key == pygame.K_LEFT or event.key == ord('a'):
  115.                 player.control(-steps, 0)
  116.             if event.key == pygame.K_RIGHT or event.key == ord('d'):
  117.                 player.control(steps, 0)
  118.             if event.key == pygame.K_UP or event.key == ord('w'):
  119.                 print('jump')
  120.  
  121.         if event.type == pygame.KEYUP:
  122.             if event.key == pygame.K_LEFT or event.key == ord('a'):
  123.                 player.control(steps, 0)
  124.             if event.key == pygame.K_RIGHT or event.key == ord('d'):
  125.                 player.control(-steps, 0)
  126.  
  127.     world.blit(backdrop, backdropbox)
  128.     player.update()
  129.     player_list.draw(world)
  130.     pygame.display.flip()
  131.     clock.tick(fps)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement