Advertisement
Guest User

Untitled

a guest
Apr 10th, 2020
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.24 KB | None | 0 0
  1. import pyglet
  2. from typing import overload
  3.  
  4. def move(keyboard, x, y, w, h, speed, sw=600, sh=800):
  5.     true = [True]
  6.     if keyboard[pyglet.window.key.UP] and y + h <= sw:
  7.             y += speed
  8.     if keyboard[pyglet.window.key.DOWN] and y >= 0:
  9.             y -= speed
  10.     if keyboard[pyglet.window.key.RIGHT] and x + w <= sh:
  11.             x += speed
  12.     if keyboard[pyglet.window.key.LEFT] and x >= 0:
  13.             x -= speed
  14.     #print(sh, '  ', x, '  ', x + w)
  15.     return x, y, w, h
  16.  
  17. class EntData():
  18.     '''
  19.    className = Your class name
  20.    name = Non obiazatelno
  21.    '''
  22.     def __init__(self, ClassName, isCol = True, name = None):
  23.         self.__ClassName = ClassName
  24.         self.__BaseName = name
  25.         self.__Material = isCol
  26.     def getClassName(self):
  27.         return self.__ClassName
  28.     def getColosion(self):
  29.         return self.__Material
  30.     def getName(self):
  31.         return self.__BaseName
  32. class BaseEntity():
  33.     '''
  34.    Base class for Entity.
  35.    super().__init__(x, y, w, h, --->EntData object<---)
  36.    '''
  37.     def __init__(self, x, y, w, h, EntClass):
  38.         self.x, self.y, self.w, self.h, self.CBaseData = x, y, w, h, EntClass
  39.     def check_colosion(self, ent, call_time=0):
  40.         if not self.CBaseData.getColosion() or not ent.CBaseData.getColosion():
  41.             return False
  42.         if (self.x <= (ent.x + ent.w) or self.x + self.w <= (ent.x)) and self.x >= ent.x:
  43.             if (self.y <= (ent.y + ent.h) or self.y + self.h <= (ent.y)) and self.y >= ent.y:
  44.                 return True
  45.         return False    
  46.    
  47.     def remove(self):
  48.         del self.x; del self.y; del self.w; del self.h; del self.CBaseData;
  49.         del self
  50.        
  51. class EntList():
  52.     '''
  53.    CREATE ONLY ONE OBJECT!!!
  54.    '''
  55.     def __init__(self, ents = []):
  56.         self.lEnts = ents
  57.     def EntAdd(self, ent = None):
  58.         if ent == None:
  59.             return
  60.         self.lEnts.append(ent)
  61.     def GetByIndex(self, i):
  62.         return self.lEnts[i]
  63.     def GetIndexByClassName(self, name):
  64.         n = 0
  65.         for i in self.lEnts:
  66.             if i.CBaseData.getClassName() == name:
  67.                 return n
  68.             n += 1
  69.         return False
  70.        
  71.     def clear(self):
  72.         self.lEnts.clear()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement