All pastes #897840 Raw Edit

Anonymous

public text v1 · immutable
·published 2008-02-09 21:46 UTC
rendered paste body
#! /usr/bin/env python



import pygame

from pygame.locals import *

from twisted.internet.protocol import DatagramProtocol
from twisted.internet import reactor, task

class Network(DatagramProtocol):
    
    def datagramReceived(self, data, (host, port)):
      print "received %r from %s:%d" % (data, host, port)
      


class Player(pygame.sprite.Sprite):

    def __init__(self):

        pygame.sprite.Sprite.__init__(self, self.containers)

        self.image = pygame.Surface((32, 32))

        clr=75

        for i in range(32):

            clr += 4

            self.image.fill((clr, 0, 0), (i, 0, 1, 32))

        self.rect = self.image.get_rect()



    def update(self):

        self.rect.center = pygame.mouse.get_pos()
        #Network.transport.write(self.rect.x, ('208.101.16.146', 9999))



class Other(pygame.sprite.Sprite):

    def __init__(self):

        pygame.sprite.Sprite.__init__(self, self.containers)

        self.image = pygame.Surface((32, 32))

        clr=75

        for i in range(32):

            clr += 4

            self.image.fill((0, clr, 0), (i, 0, 1, 32))
            

        self.rect = self.image.get_rect()



    def setCenter(self, pos):

        self.rect.center = pos



class Game:



    def __init__(self):
        pygame.init()
              
        event_loop = task.LoopingCall(self.pygame_loop)
        event_loop.start(0.2, now=True)
        self.display_loop = task.LoopingCall(self.update)
        
    def pygame_loop(self):
        for event in pygame.event.get():
            #print event

            if((event.type == KEYDOWN and event.key == K_ESCAPE) or
             event.type == QUIT):
                reactor.stop()
            
    def update(self):
        print "lol"

        pygame.display.set_caption("Online Test Thingy")

        self.screen = pygame.display.set_mode((640, 480), HWSURFACE|DOUBLEBUF)

        self.sprites = pygame.sprite.RenderUpdates()

        Player.containers = self.sprites

        Other.containers = self.sprites

        self.other = Other()

        self.player = Player()

        pygame.mouse.set_visible(0)



        self.other.setCenter((320, 240))

        self.screen.fill((0, 0, 255))

        clr=55

        for i in range(65):

            clr += 3

            self.screen.fill((0, 0, clr), (i*10, 0, 10, 480))

        self.sprites.draw(self.screen)

        self.sprites.update()

        pygame.display.flip()



if __name__ == "__main__":

    

    Game()
    reactor.listenUDP(0, Network())
    reactor.run()