Advertisement
V3N0M_Z

Untitled

Jun 7th, 2019
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.06 KB | None | 0 0
  1. import pygame
  2. import sys
  3. from pygame.locals import *
  4. from pygame import gfxdraw
  5. pygame.init()
  6.  
  7. BG_Color = (61, 61, 61)
  8. FPS = 60
  9. fpsClock = pygame.time.Clock()
  10. userScreen = pygame.display.set_mode(
  11. (0, 0), pygame.FULLSCREEN)
  12. sX, sY = userScreen.get_size()
  13. init_fullScreen = True
  14. p0X, p0Y = sX/2 ,((sY/2)+10)+50
  15. p1X, p1Y = sX/2 ,((sY/2)-10)-50
  16.  
  17.  
  18. def draw():
  19. #   Middle Border
  20.     pygame.gfxdraw.box(userScreen,
  21.     pygame.Rect(0, (sY/2)-10, sX, 20), (255, 255, 255))
  22. #   Right Border
  23.     pygame.gfxdraw.box(userScreen,
  24.     pygame.Rect(sX-20, 0, sX, sY), (255, 255, 255))
  25. #   Left Border
  26.     pygame.gfxdraw.box(userScreen,
  27.     pygame.Rect(0, 0, 20, sY), (255, 255, 255))
  28. #   Top Border
  29.     pygame.gfxdraw.box(userScreen,
  30.     pygame.Rect(0, 0, sX, 50), (255, 255, 255))
  31. #   Bottom Border
  32.     pygame.gfxdraw.box(userScreen,
  33.     pygame.Rect(0, sY-50, sX, 50), (255, 255, 255))
  34. #   Player One Object
  35.     pygame.gfxdraw.filled_circle(userScreen, p0X, p0Y, 50, (255, 255, 255))
  36. #   Player Two Object
  37.     pygame.gfxdraw.filled_circle(userScreen, p1X, p1Y, 50, (255, 255, 255))
  38. def cPos(player, x, state):
  39.     if player == p0:
  40.         if x == 'X':
  41.             if state == 'RIGHT':
  42.                 if p0X+10 > sX-70:
  43.                     return sX-70
  44.                 return p0X+10
  45.             elif state == 'LEFT':
  46.                 if p0X-10 < 70:
  47.                     return 70
  48.                 return p0X-10
  49.         elif x == 'Y':
  50.             if state == 'UP':
  51.                 if p0Y-10 < ((sY/2)+10)+50:
  52.                     return ((sY/2)+10)+50
  53.                 return p0Y-10
  54.             elif state == 'DOWN':
  55.                 if p0Y+10 > sY-100:
  56.                     return sY-100
  57.                 return p0Y+10
  58.     elif player == p1:
  59.         if x == 'X':
  60.             if state == 'RIGHT':
  61.                 if p1X+10 > sX-70:
  62.                     return sX-70
  63.                 return p1X+10
  64.             elif state == 'LEFT':
  65.                 if p1X-10 < 70:
  66.                     return 70
  67.                 return p1X-10
  68.         elif x == 'Y':
  69.             if state == 'UP':
  70.                 if p1Y-10 < 100:
  71.                     return 100
  72.                 return p1Y-10
  73.             elif state == 'DOWN':
  74.                 if p1Y+10 > ((sY/2)-10)-50:
  75.                     return ((sY/2)-10)-50
  76.                 return p1Y+10
  77. def retMovement(x, y):
  78.     global p0X, p0Y, p1X, p1Y
  79.     if x == p0:
  80.         if y == 'RIGHT':
  81.             p0X = cPos(x, 'X', 'RIGHT')
  82.         elif y == 'LEFT':
  83.             p0X = cPos(x, 'X', 'LEFT')
  84.         elif y == 'UP':
  85.             p0Y = cPos(x, 'Y', 'UP')
  86.         elif y == 'DOWN':
  87.             p0Y = cPos(x, 'Y', 'DOWN')
  88.     elif x == p1:
  89.         if y == 'RIGHT':
  90.             p1X = cPos(x, 'X', 'RIGHT')
  91.         elif y == 'LEFT':
  92.             p1X = cPos(x, 'X', 'LEFT')
  93.         elif y == 'UP':
  94.             p1Y = cPos(x, 'Y', 'UP')
  95.         elif y == 'DOWN':
  96.             p1Y = cPos(x, 'Y', 'DOWN')
  97. p0 = []
  98. p1 = []
  99. while True:
  100.     if len(p0) > 0:
  101.         for x in p0:
  102.             retMovement(p0, x)
  103.     if len(p1) > 0:
  104.         for x in p1:
  105.             retMovement(p1, x)
  106.     userScreen.fill(BG_Color)
  107.     draw()
  108.     for event in pygame.event.get():
  109.         if event.type == pygame.QUIT:
  110.             pygame.quit()
  111.             sys.exit()
  112.         elif event.type == pygame.KEYDOWN:
  113.             if event.key == pygame.K_ESCAPE:
  114.                 if init_fullScreen:
  115.                     init_fullScreen = False
  116.                     userScreen = pygame.display.set_mode(
  117.                     (sX, sY))
  118.                 else:
  119.                     init_fullScreen = True
  120.                     userScreen = pygame.display.set_mode(
  121.                     (0, 0), pygame.FULLSCREEN)
  122.             if event.key == pygame.K_RIGHT:
  123.                  p0.insert(len(p0), 'RIGHT')
  124.             if event.key == pygame.K_d:
  125.                  p1.insert(len(p1), 'RIGHT')
  126.             if event.key == pygame.K_LEFT:
  127.                  p0.insert(len(p0), 'LEFT')
  128.             if event.key == pygame.K_a:
  129.                  p1.insert(len(p1), 'LEFT')
  130.             if event.key == pygame.K_UP:
  131.                  p0.insert(len(p0), 'UP')
  132.             if event.key == pygame.K_w:
  133.                  p1.insert(len(p1), 'UP')
  134.             if event.key == pygame.K_DOWN:
  135.                  p0.insert(len(p0), 'DOWN')
  136.             if event.key == pygame.K_s:
  137.                  p1.insert(len(p1), 'DOWN')
  138.         elif event.type == pygame.KEYUP:
  139.             if event.key == pygame.K_RIGHT:
  140.                 p0.remove('RIGHT')
  141.             if event.key == pygame.K_d:
  142.                 p1.remove('RIGHT')
  143.             if event.key == pygame.K_LEFT:
  144.                 p0.remove('LEFT')
  145.             if event.key == pygame.K_a:
  146.                 p1.remove('LEFT')
  147.             if event.key == pygame.K_UP:
  148.                 p0.remove('UP')
  149.             if event.key == pygame.K_w:
  150.                 p1.remove('UP')
  151.             if event.key == pygame.K_DOWN:
  152.                 p0.remove('DOWN')
  153.             if event.key == pygame.K_s:
  154.                 p1.remove('DOWN')
  155.     pygame.display.update()
  156.     fpsClock.tick(FPS)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement