Exemplo n.º 1
0
    def test_addEvent(self):
        EM.events = []
        SM.init()
        event1 = Event(Zeit(14, 30), Zeit(15, 00))
        event2 = Event(Zeit(16, 30), Zeit(17, 00))
        event3 = Event(Zeit(14, 45), Zeit(17, 00))
        lsg1 = Event(Zeit(15, 0), Zeit(16, 30))

        EM.addEvent(event1)
        EM.addEvent(event2)
        # hinzufügen ohne Überlapp
        self.assertEqual(
            str(EM.events[0]),
            f"Start 14:30 Ende 15:00 am {EM.events[0].startzeit.erhalteDatum()}"
        )
        self.assertEqual(
            str(EM.events[1]),
            f"Start 16:30 Ende 17:00 am {EM.events[1].startzeit.erhalteDatum()}"
        )

        # mit überlapp
        EM.addEvent(event3)

        self.assertTrue(EM.hatEvent(lsg1))
        self.assertTrue(EM.hatEvent(event1))
        self.assertTrue(EM.hatEvent(event2))
Exemplo n.º 2
0
    def Test_pixelZeit(self):
        SM.canvasHeight = 600
        z = Zeit(12, 0)
        zeit1 = SM.pixelZuZeit(500)
        y1 = SM.zeitZuPixel(zeit1)
        y2 = SM.zeitZuPixel(z)
        zeit2 = SM.pixelZuZeit(y2)

        self.assertEqual(500, y1)
        self.assertEqual(z, zeit2)
Exemplo n.º 3
0
 def test_zeichnen(self):
     from TimeManager import TimeManager as TM
     from Event import Event
     SM.init()
     testEvent = Event(Zeit(10, 00), TM.mittagspauseStart, False,
                       "testevent")
     testNachmEvent = Event(Zeit(16, 00), Zeit(18, 30), False, "testNachm")
     testEvent2 = Event(Zeit(9, 30), Zeit(11, 30), False, "test")
     testEvent.zeichne()
     testNachmEvent.zeichne()
     testEvent2.zeichne()
     SM.run()
Exemplo n.º 4
0
    def Test_zeitZuPixel(self):
        SM.canvasHeight = 500
        TM.aufstehzeit = Zeit(10, 0)
        TM.schlafenszeit = Zeit(18, 0)

        zeit1 = TM.aufstehzeit
        zeit2 = Zeit(11, 0)

        lsg1 = 50  # erster Valider Wert
        lsg2 = 100

        y1 = SM.zeitZuPixel(zeit1)
        y2 = SM.zeitZuPixel(zeit2)

        self.assertEqual(y1, lsg1)
        self.assertEqual(y2, lsg2)
Exemplo n.º 5
0
    def Test_pixelZuZeit(self):
        SM.canvasHeight = 500
        TM.aufstehzeit = Zeit(10, 0)
        TM.schlafenszeit = Zeit(18, 0)

        y1 = 50  # erster Valider Wert
        y2 = 100

        lsg1 = TM.aufstehzeit
        lsg2 = Zeit(11, 0)

        zeit1 = SM.pixelZuZeit(y1)
        zeit2 = SM.pixelZuZeit(y2)

        self.assertEqual(str(zeit1), str(lsg1))
        self.assertEqual(str(zeit2), str(lsg2))
Exemplo n.º 6
0
	def __init__(self):
		# create main game window
		super(GameController, self).__init__(1280, 720, "Panda Runner")

		# setup various managers
		self.screenManager = ScreenManager(self)
		self.stateManager = StateManager(self)
		self.spriteManager = SpriteManager()

		# load spritesheet and probably sounds in the future
		self.loadResources()
		self.start()
Exemplo n.º 7
0
def main():
    ScreenManager.init()
    TM.ladeZeiten()
    EM.ladeEvents()
    ScreenManager.zeichneHintergrund()
    ScreenManager.root.protocol("WM_DELETE_WINDOW", beenden)
    ScreenManager.run()
Exemplo n.º 8
0
    def verschiebeZeit(zeit, nach):
        from ScreenManager import ScreenManager
        from EventManager import EventManager as EM

        if zeit == TimeManager.mittagspauseStart:
            EM.verschiebeZeitNach(EM.mittagspause, True, nach)
            return
        elif zeit == TimeManager.mittagspauseEnde:
            EM.verschiebeZeitNach(EM.mittagspause, False, nach)
            return

        if zeit == TimeManager.aufstehzeit:
            if nach > EM.findeKleinsteStartzeit(): return None
        elif zeit == TimeManager.schlafenszeit:
            if nach < EM.findeGroessteEndzeit(): return None
        zeit.stunde = nach.stunde
        zeit.minute = nach.minute
        zeit.text = nach.text
        ScreenManager.zeichneHintergrund()
        ScreenManager.zeichneEventsNeu()
        #TimeManager.speichereZeiten()
        return zeit
Exemplo n.º 9
0
class GameController(pyglet.window.Window):
	"""docstring for GameController"""
	def __init__(self):
		# create main game window
		super(GameController, self).__init__(1280, 720, "Panda Runner")

		# setup various managers
		self.screenManager = ScreenManager(self)
		self.stateManager = StateManager(self)
		self.spriteManager = SpriteManager()

		# load spritesheet and probably sounds in the future
		self.loadResources()
		self.start()

	def start(self):
		# schedule update function to be called every frame
		# I need to add some sort of FPS setting here
		clock.schedule(self.update)

		# instantiate the main game instance
		# this will be changed to the menu instance when it's implemented
		gameState = Game(self)
		self.stateManager.addState('game', gameState)
		self.stateManager.setState('game')

	# prepare various resources such as sprite sheets and sounds
	def loadResources(self):
		self.spriteManager.newSheet('main', 'sprites.png')

	# Main update function
	def update(self, dt):
		self.screenManager.update(dt)
		self.draw()

	#main draw function
	def draw(self):
		self.screenManager.draw()
Exemplo n.º 10
0
    def zeichne(self):
        from ScreenManager import ScreenManager as SM
        from TimeManager import TimeManager as TM
        from Farbkonzept import Farbkonzept


        x1 = SM.canvasWidth/30
        y1 = SM.zeitZuPixel(self.startzeit)

        x2 = x1*29
        y2 = SM.zeitZuPixel(self.endzeit)

        if len(self.form) == 0:
            if self.endzeit <= TM.mittagspauseStart:
                self.form.append(SM.canvas.create_rectangle(x1, y1, x2, y2 ,fill=Farbkonzept.vormittag(), outline=''))
            if self.startzeit >= TM.mittagspauseEnde:
                self.form.append(SM.canvas.create_rectangle(x1, y1, x2, y2, fill=Farbkonzept.nachmittag(), outline=''))
            if self.startzeit >= TM.mittagspauseStart and self.endzeit <=TM.mittagspauseEnde:
                self.form.append(SM.canvas.create_rectangle(x1, y1, x2, y2 ,fill=Farbkonzept.mittagspause(),outline=''))
            self.form.append(SM.canvas.create_text(SM.canvasWidth/2, int(y1 + (y2 - y1) / 2), text=self.text, font=("Lora",9)))

        else:
            SM.canvas.coords(self.form[0], x1, y1, x2, y2)
            SM.canvas.coords(self.form[1], SM.canvasWidth/2, int(y1 + (y2-y1)/2))
            if self.endzeit <= TM.mittagspauseStart:
                SM.canvas.itemconfig(self.form[0], fill=Farbkonzept.vormittag())
            elif self.startzeit >= TM.mittagspauseEnde:
                SM.canvas.itemconfig(self.form[0], fill=Farbkonzept.nachmittag())
            elif self.startzeit >= TM.mittagspauseStart and self.endzeit <= TM.mittagspauseEnde:
                SM.canvas.itemconfig(self.form[0], fill=Farbkonzept.mittagspause())
            self.zeichneText()

        self.startzeit.zeichne()
        self.endzeit.zeichne()

        if self.startzeit == TM.aufstehzeit or self.endzeit == TM.schlafenszeit:
            SM.zeichneHintergrund()
Exemplo n.º 11
0
def main():
  # initialize pygame
  pygame.init()
  screen = pygame.display.set_mode((800, 600))

  # set window title
  pygame.display.set_caption("Mayday")

  # set mouse visible
  pygame.mouse.set_visible(1)
  # set key repeat (copied from tutorial, not sure if needed)
  #pygame.key.set_repeat(1, 30)

  # create clock object used to limit the framerate
  clock = pygame.time.Clock()

  # create the screen manager
  screenManager = ScreenManager()

  screenManager.addScreen(Menu(), True)
 
  # main loop
  running = True
  while running:
    # limit to 30 fps
    clock.tick(30)
 
    # get all events
    for event in pygame.event.get():
      # quit game if quit event is registered
      if event.type == pygame.QUIT:
        running = False
      
      # other events are handed down to the screen
      screenManager.update(event)
 
    # draw stuff
    screenManager.draw(screen);

    # actually draw the stuff
    pygame.display.flip()
Exemplo n.º 12
0
def Run(isDebugging=False):

    if isDebugging == False:

        device = Device("127.0.0.1:62001")
        device.Connect()
        profile = Profile("GaChien")
        profile.Load()
        gameManager = GameManager(device, profile)
        screenManager = ScreenManager()

        while True:
            screenshot = device.CaptureScreen()
            if screenshot.image is None:
                print("Can not capture screenshot. Retry...")
                time.sleep(5)
                continue

            screen = screenManager.GetScreen(screenshot)
            screen.ShowName()

            gameManager.SetScreen(screen)
            gameManager.Play()

            print("")
            time.sleep(5)

    else:

        device = Device(None)
        device.Connect()
        profile = Profile("GaChien")
        profile.Load()
        gameManager = GameManager(device, profile)
        screenManager = ScreenManager()

        print("Debugging...")
        filePath = os.path.abspath("PendingScreens/Screenshot.png")
        screenshot = ScreenShot(filePath)

        screen = screenManager.GetScreen(screenshot)
        screen.ShowName()

        gameManager.SetScreen(screen)
        gameManager.Play()
Exemplo n.º 13
0
    def Test_Farben(self):
        SM.init()
        # root = Tk()
        # canvas = Canvas(root, width=250, height=400)
        # canvas.pack() #beim rectangle(x1,y1,x2,y2) koo der linken oberen und rechten unteren ecke

        #recvm = SM.canvas.create_rectangle(50, 50, 200, 100, fill=Farbkonzept.vormittag())
        #recvmm = SM.canvas.create_rectangle(50, 100, 200, 150, fill=Farbkonzept.vormittag_markiert())
        #recmi = SM.canvas.create_rectangle(50, 150, 200, 200, fill=Farbkonzept.mittagspause())
        #recmim = SM.canvas.create_rectangle(50, 200, 200, 250, fill=Farbkonzept.mittagspause_markiert())
        #recnm = SM.canvas.create_rectangle(50, 250, 200, 300, fill=Farbkonzept.nachmittag())
        #recnmm = SM.canvas.create_rectangle(50, 300, 200, 350, fill=Farbkonzept.nachmittag_markiert())
        self.text = SM.canvas.create_text(100, 20, text="Position")
        SM.canvas.create_text(100,
                              50,
                              text=f"{SM.canvasHeight} vs {SM.screenHeight}")
        SM.canvas.bind("<Button-1>", self.callbackClick)
        SM.zeichneHintergrund()

        SM.run()
Exemplo n.º 14
0
from ScreenManager import Box, ScreenManager
from ScreenManager import BoundedBox, TextBox
from ScreenManager import ListSelect
from ScreenManager.Window import getScreenSize
from ScreenManager import ModalWindow
import gevent


def printString(string):
    print(string)


def raiseWindow(box2, options):
    ModalWindow.RaiseListSelect(box2, options, printString)


if __name__ == '__main__':
    options = ['hello', 'this is a longer one. I hope it works']
    manager = ScreenManager()
    box1 = BoundedBox(0, 0, 10, 10)
    box2 = TextBox(x=10, y=10, width=20, height=10)
    #box2 = ListSelect(options, x = 10, y = 10, width = 20, height = 10)
    manager.addBox(box1)
    manager.addBox(box2)
    gevent.spawn_later(1, raiseWindow, box2, options)
    manager.setRoot(root)
    manager.run()
Exemplo n.º 15
0
    def zeichne(self):
        from ScreenManager import ScreenManager as SM
        from Farbkonzept import Farbkonzept

        x1 = SM.canvasWidth / 30
        y1 = SM.zeitZuPixel(self)
        x2 = x1 * 29
        x_mitteStart = SM.canvasWidth / 2 - 2 * x1
        x_mitteEnde = SM.canvasWidth / 2 + 2 * x1
        yVerschiebung = SM.canvasHeight / 80
        xVerschiebung = x1 * 3

        if len(self.form) == 0:

            if self.event is None:  #achtung form kann jetzt 2 oder 3 einträge haben
                self.form.append(
                    SM.canvas.create_line(x1,
                                          y1,
                                          x_mitteStart,
                                          y1,
                                          fill=Farbkonzept.Linien()))
                self.form.append(
                    SM.canvas.create_line(x_mitteEnde,
                                          y1,
                                          x2,
                                          y1,
                                          fill=Farbkonzept.Linien()))
                self.form.append(
                    SM.canvas.create_text(SM.canvasWidth / 2,
                                          y1,
                                          text=self.text,
                                          font=("cinzel", 9)))
            elif self.event.startzeit == self:
                self.form.append(
                    SM.canvas.create_line(x1,
                                          y1,
                                          x2,
                                          y1,
                                          fill=Farbkonzept.Linien()))
                self.form.append(
                    SM.canvas.create_text(xVerschiebung,
                                          y1 + yVerschiebung,
                                          text=self.text,
                                          font=("cinzel", 9)))
            elif self.event.endzeit == self:
                self.form.append(
                    SM.canvas.create_line(x1,
                                          y1,
                                          x2,
                                          y1,
                                          fill=Farbkonzept.Linien()))
                self.form.append(
                    SM.canvas.create_text(SM.canvasWidth - xVerschiebung,
                                          y1 - yVerschiebung,
                                          text=self.text,
                                          font=("cinzel", 9)))
            #elif what happended
        else:
            if self.event is None:
                SM.canvas.coords(self.form[0], x1, y1, x_mitteStart, y1)
                SM.canvas.coords(self.form[1], x_mitteEnde, y1, x2, y1)
                SM.canvas.delete(self.form[2])
                self.form[2] = SM.canvas.create_text(SM.canvasWidth / 2,
                                                     y1,
                                                     text=self.text,
                                                     font=("cinzel", 10))
                SM.canvas.coords(self.form[2], SM.canvasWidth / 2, y1)
                SM.canvas.itemconfig(self.form[0], fill=Farbkonzept.Linien())
                SM.canvas.itemconfig(self.form[1], fill=Farbkonzept.Linien())
                SM.canvas.itemconfig(self.form[2], text=self.text)
            elif self.event.startzeit == self:
                SM.canvas.coords(self.form[0], x1, y1, x2, y1)
                SM.canvas.coords(self.form[1], xVerschiebung,
                                 y1 + yVerschiebung)
                SM.canvas.itemconfig(self.form[0], fill=Farbkonzept.Linien())
                SM.canvas.itemconfig(self.form[1], text=self.text)
            elif self.event.endzeit == self:
                SM.canvas.coords(self.form[0], x1, y1, x2, y1)
                SM.canvas.coords(self.form[1], SM.canvasWidth - xVerschiebung,
                                 y1 - yVerschiebung)
                SM.canvas.itemconfig(self.form[0], fill=Farbkonzept.Linien())
                SM.canvas.itemconfig(
                    self.form[1], text=self.text
                )  #könnten hier jeweils noch mit fill die textfarbe ändern
Exemplo n.º 16
0
 def callbackClick(self, event):
     SM.canvas.itemconfig(self.text,
                          text=str(event.x) + " " + str(event.y) + " " +
                          str(SM.pixelZuZeit(event.y)))