Advertisement
Guest User

Tron 2 Python

a guest
Apr 6th, 2020
907
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.17 KB | None | 0 0
  1. import pygame
  2. import sys
  3.  
  4. class spieler:
  5.     def __init__(self, name, farbe, startX, startY, leben):
  6.         self.name = name
  7.         self.farbe = farbe
  8.         self.x = startX
  9.         self.y = startY
  10.         self.startX = startX
  11.         self.startY = startY
  12.         self.xBeweg = 0
  13.         self.yBeweg = 0
  14.         self.leben = leben
  15.         self.start = True
  16.     def moveDrawCol(self):
  17.         self.x += self.xBeweg
  18.         self.y += self.yBeweg
  19.  
  20.         if self.x < 0 or self.x >= 699 or self.y < 0 or self.y >= 699:
  21.             self.leben -= 1
  22.             return False
  23.         farbe = screen.get_at((self.x, self.y))
  24.         if (farbe == (0,150,255) or farbe == (255,150,0)) and self.start != True:
  25.             self.leben -= 1
  26.             return False
  27.         else:
  28.             screen.set_at((self.x, self.y), self.farbe)
  29.             return True
  30.     def richtung(self, xBeweg, yBeweg):
  31.         self.start = False
  32.         self.xBeweg = xBeweg
  33.         self.yBeweg = yBeweg
  34.     def richtungGeben(self):
  35.         return (self.xBeweg,self.yBeweg)
  36.     def lebenGeben(self):
  37.         return self.leben
  38.     def reset(self):
  39.         self.start = True
  40.         self.x = self.startX
  41.         self.y = self.startY
  42.         self.xBeweg = 0
  43.         self.yBeweg = 0
  44.     def nameGeben(self):
  45.         return self.name
  46.  
  47. def textObjekt(text, font):
  48.     textFlaeche = font.render(text, True, (255,255,255))
  49.     return textFlaeche, textFlaeche.get_rect()
  50.  
  51. print("Name des Spielers mit den Pfeiltasten?")
  52. name = input()
  53. sp1 = spieler(name, (255,150,0), 200, 300, 2)
  54. print("Name des Spielers mit WASD?")
  55. name = input()
  56. sp2 = spieler(name, (0,150,255), 500, 300 ,2)
  57. print("Okay, los geht's!")
  58.  
  59. pygame.init()
  60. clock = pygame.time.Clock()
  61. font = pygame.font.SysFont('calibri', 40)
  62. screen = pygame.display.set_mode([700,700])
  63.  
  64. while sp1.lebenGeben() > 0 and sp2.lebenGeben() > 0:
  65.     go = True
  66.     while go:
  67.         for event in pygame.event.get():
  68.             if event.type == pygame.QUIT: sys.exit()
  69.             if event.type == pygame.KEYDOWN:
  70.                 if event.key == pygame.K_UP and sp1.richtungGeben()[1] != 1:
  71.                     sp1.richtung(0, -1)
  72.                 elif event.key == pygame.K_RIGHT and sp1.richtungGeben()[0] != -1:
  73.                     sp1.richtung(1, 0)
  74.                 elif event.key == pygame.K_DOWN and sp1.richtungGeben()[1] != -1:
  75.                     sp1.richtung(0, 1)
  76.                 elif event.key == pygame.K_LEFT and sp1.richtungGeben()[0] != 1:
  77.                     sp1.richtung(-1, 0)
  78.  
  79.                 if event.key == pygame.K_w and sp2.richtungGeben()[1] != 1:
  80.                     sp2.richtung(0, -1)
  81.                 elif event.key == pygame.K_d and sp2.richtungGeben()[0] != -1:
  82.                     sp2.richtung(1, 0)
  83.                 elif event.key == pygame.K_s and sp2.richtungGeben()[1] != -1:
  84.                     sp2.richtung(0, 1)
  85.                 elif event.key == pygame.K_a and sp2.richtungGeben()[0] != 1:
  86.                     sp2.richtung(-1, 0)
  87.  
  88.         if sp1.moveDrawCol() == False or sp2.moveDrawCol() == False:
  89.             screen.fill((0,0,0))
  90.             sp1.reset()
  91.             sp2.reset()
  92.             go = False
  93.  
  94.         textGrund,textKasten = textObjekt(sp1.nameGeben() + ": " + str(sp1.lebenGeben()) + "     " + sp2.nameGeben() + ": " + str(sp2.lebenGeben()), font)
  95.         textKasten.center = ((350,40))
  96.         screen.blit(textGrund, textKasten)
  97.  
  98.         pygame.display.update()
  99.         clock.tick(190)
  100.  
  101. if sp1.lebenGeben() == 0:
  102.     name = sp2.nameGeben()
  103. else:
  104.     name = sp1.nameGeben()
  105.  
  106. textGrund, textKasten = textObjekt(name + " hat gewonnen", font)
  107. textKasten.center = ((350,350))
  108. screen.blit(textGrund, textKasten)
  109.  
  110. pygame.display.update()
  111. pygame.time.wait(3000)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement