Example #1
0
    def drawGame(self):
        Y_TEXT_POSITION = 15
        TEXT_SIZE = 14
        arcade.set_background_color((5, 2, 27))
        self.coin_list.draw()
        self.bullet_list.draw()
        self.player_list.draw()

        minutes = int(self.total_time) // 60
        seconds = int(self.total_time) % 60

        for star in self.star_list:
            star.draw()

        arcade.draw_text(f"Score : {self.score}", 15, Y_TEXT_POSITION,
                         arcade.color.WHITE, TEXT_SIZE)
        arcade.draw_text(f"Level: {self.level}", 10, 35, arcade.color.WHITE,
                         15)
        arcade.draw_text(f"Time : {minutes:02d}:{seconds:02d}",
                         SCREEN_WIDTH - 15,
                         Y_TEXT_POSITION,
                         arcade.color.WHITE,
                         TEXT_SIZE,
                         align="right",
                         anchor_x="right",
                         anchor_y="baseline")
Example #2
0
 def draw(self, surface):
     rect = pygame.Rect(int(0), int(0), int(self.mWorldWidth),
                        int(self.mWorldHeight))
     pygame.draw.rect(surface, (0, 0, 0), rect, 0)
     for star in self.mStars:
         star.draw(surface)
     self.mShip.draw(surface)
     for r in self.mRocks:
         r.draw(surface)
     for bullet in self.mBullets:
         bullet.draw(surface)
     return
Example #3
0
    def draw_Intro(self):
        arcade.set_background_color((5, 2, 27))
        for star in self.star_list:
            star.draw()

        arcade.draw_text("Space Ship",
                         SCREEN_WIDTH / 2, (SCREEN_HEIGHT / 2) + 68,
                         arcade.color.WHITE,
                         54,
                         align="center",
                         anchor_x="center",
                         anchor_y="center")

        arcade.draw_text("Press SPACE to restart",
                         SCREEN_WIDTH / 2, (SCREEN_HEIGHT / 2),
                         arcade.color.WHITE,
                         24,
                         align="center",
                         anchor_x="center",
                         anchor_y="center")
Example #4
0
#!/bin/env python3

from record import start, finish
from star import draw

r = 100
n = 5

start(2*r, 2*r, 0, 0, 50, __file__)

draw(r, n)

finish()
Example #5
0
def main():
    config = Null()
    config.keyScrollSpeed = 2000.0
    config.musicVolume = .5

    view = Null()
    view.pos = v((0, 0))
    view.sprites = {}
    view.cursor = {}
    view.units = []
    view.selarea = None
    view.begin_pos = None
    view.scroll_start = None
    view.selection = []
    view.players = []
    view.ct = 0.0
    view.scrollleft = False
    view.scrollright = False
    view.scrollup = False
    view.scrolldown = False
    view.uisprites = []
    view.config = config
    view.tilepalcount = 0
    view.followselection = False

    init(sys.argv, view)

    dt = .001
    mp = 0
    #view.pathfind.set_map(chr(0)*view.mapdim[0]*view.mapdim[1])
    clock = pygame.time.Clock()
    while True:
        for event in pygame.event.get():
            if handle_event(event, view): return

        #view.path = pathf(view.occu)
        view.occu = list([list(x) for x in view.mapw])

        for player in view.players:
            player.food = v(0, 0, 0)
            player.hunger = v(0, 0, 0)
        for unit in view.units:
            unit.update(dt, view)

        if view.scrollleft:
            view.pos = view.pos + v(-1.0, 0.0) * config.keyScrollSpeed * dt
        if view.scrollright:
            view.pos = view.pos + v(1.0, 0.0) * config.keyScrollSpeed * dt
        if view.scrollup:
            view.pos = view.pos + v(0.0, -1.0) * config.keyScrollSpeed * dt
        if view.scrolldown:
            view.pos = view.pos + v(0.0, 1.0) * config.keyScrollSpeed * dt

        if view.followselection and view.selection != []:
            poss = [x.pos for x in view.selection]
            poss = sum(poss) / len(poss)
            view.pos = poss - v(640, 480) / 2

        if view.pos[0] < 0: view.pos[0] = 0
        if view.pos[1] < 0: view.pos[1] = 0
        maxx = view.mapdim[0] * 32 - view.screen.get_width()
        maxy = (view.mapdim[1] - 12) * 32
        if view.pos[0] > maxx: view.pos[0] = maxx
        if view.pos[1] > maxy: view.pos[1] = maxy
        view.pos = v([int(x) for x in view.pos])

        view.screen.fill((0, 0, 0))
        if view.tileset == "platform":
            star.draw(view)
        draw_tiles(view)

        tempunits = []
        for unit in view.units:
            tempunits.append((unit.level, unit.pos[1], unit))
        tempunits.sort()
        view.minimapover = pygame.surface.Surface((128, 128), pygame.SRCALPHA,
                                                  32)
        for unit in tempunits:
            unit[2].draw(view)

        for sprite in view.uisprites:
            sprite.draw(view)
            sprite.update()

        if view.selarea:
            pygame.draw.rect(view.screen, (16, 252, 24), view.selarea, 1)

        #68 w 3 down
        player = view.players[0]
        player.raceindex = 1
        player.minerals = 50
        player.gas = 0
        #print player.food, player.hunger
        icons = [
            (0, player.minerals, (16, 252, 24)),
            (player.raceindex + 1, player.gas, (16, 252, 24)),
        ]
        for raceindex in range(3):
            food = player.food[raceindex]
            hunger = player.hunger[raceindex]
            if not food and not hunger:  # heh
                continue
            if food >= hunger:
                color = (16, 252, 24)
            else:
                color = (200, 24, 24)
            icons.append((raceindex + 4, str(hunger) + "/" + str(food), color))

        sprite = view.sprites["icons"]
        x = 640
        icons.reverse()
        for icon in icons:
            x -= 68
            view.screen.blit(sprite[icon[0]], (x, 3))
            text = font.render(10, str(icon[1]), "game5")
            view.screen.blit(text, (x + 16, 3))

        view.screen.blit(view.sprites['ConsoleTerran'], (0, 0))

        view.screen.blit(view.minimap,
                         v(6, 348) + (64, 64) - v(view.minimap.get_size()) / 2)
        view.screen.blit(view.minimapover,
                         v(6, 348) + (64, 64) - v(view.minimap.get_size()) / 2)
        topleft = v(6, 348) + (64, 64) - v(view.minimap.get_size()) / 2
        pygame.draw.line(view.screen, (204, 204, 208), topleft + (0, -1),
                         topleft + (128, -1))
        bottomright = v(6, 348) + (64, 64) + v(view.minimap.get_size()) / 2
        pygame.draw.line(view.screen, (172, 152, 148), bottomright,
                         bottomright + (-128, 0))

        pygame.draw.rect(
            view.screen, (255, 255, 255),
            (v(6, 348) +
             (64, 64) - v(view.minimap.get_size()) / 2 + view.pos / 32,
             (20, 13)), 1)
        #print view.mapdim

        (173, 389)
        if len(view.selection) == 0:
            pass
        elif len(view.selection) == 1:
            u = view.selection[0]
            if u.id:
                w = view.sprites["Wireframe"][u.id]
                w.set_palette(get_wpalette(u))
                view.screen.blit(w, (168, 388))
            if u.health != None:
                s = str(int(u.health)) + "/" + str(u.maxhealth)
                t = font.render(8, s, "game5", True)
                view.screen.blit(t, v(199, 457) - v(t.get_size()) / 2)
            s = u.name
            t = font.render(10, u.name, "game0", True)
            view.screen.blit(t, v(315, 394) - v(t.get_size()) / 2)
        else:
            pass  #multiple grpwire.grp
        #buttons

        view.screen.blit(view.sprites["TerranButtons"][4], (3, 320))
        view.screen.blit(view.sprites["TerranButtons"][0], (416, 388))

        view.screen.blit(font.render(8, "MENU", "game1"), (435, 394))
        mp += .5
        mp = mp % 10
        view.screen.blit(view.movie[int(mp)], (413, 410))
        #pygame.draw.rect(view.screen, (128,128,128), ((413,410),(60,56)))
        view.screen.blit(view.sprites["TerranOverlay"], (413, 410))

        if debug:
            surf = font.render(8, str(int(clock.get_fps() + .5)), "game0")
            view.screen.blit(surf, (0, 0))

        if pygame.mouse.get_focused():
            view.ct += dt * 8
            cursor = 'CursorArrow'
            u = get_unit_at_point(pygame.mouse.get_pos() + view.pos, view)
            if u:
                if u.player == view.players[0]: cursor = 'CursorTarget2Green'
                elif u.player == -1: cursor = 'CursorTarget2Yellow'
                else: cursor = 'CursorTarget2Red'
            if view.selarea: cursor = 'CursorDrag'
            if view.scroll_start: cursor = None
            if view.sprites['ConsoleTerran'].get_at(
                    pygame.mouse.get_pos()) != (0, 0, 0, 255):
                cursor = "CursorArrow"
            if cursor == "CursorArrow": view.ct = view.ct % 4.0
            elif cursor in ("CursorTarget2Green", "CursorTarget2Yellow",
                            "CursorTarget2Red"):
                view.ct = view.ct % 14.0
            else:
                view.ct = 0

            if cursor:
                sprite = view.sprites[cursor][int(view.ct)]
                view.screen.blit(
                    sprite,
                    v(pygame.mouse.get_pos()) - v(sprite.get_size()) / 2)
        try:
            a
        except NameError:
            a = 0.
        a += dt
        a = a % 5
        view.screen.blit(ui.progress_bar(a / 5, view), (281, 426))
        pygame.display.update()
        pygame.mixer.music.set_volume(view.config.musicVolume)
        #sendp(cPickle.dumps(view.units),view)
        #try:
        # while True:
        #  view.units = cPickle.loads(view.socket.recvfrom(2**20)[0])
        #except socket.error: pass
        if debug:
            clock.tick()
        else:
            clock.tick(30)
        dt = clock.get_time() / 1000.0
Example #6
0
#!/bin/env python3

from record import start, finish
from star import draw

r = 100
n = 5

start(2 * r, 2 * r, 0, 0, 50, __file__)

draw(r, n)

finish()
Example #7
0
import leaf
import turtle
import math
from threading import Thread

#create window and turtle
window = turtle.Screen()
window.bgcolor("black")

if __name__ == '__main__':
    for i in range(1, 5):  #draw leafs through multithreading
        t = Thread(target=leaf.draw, args=(i, ))
        t.start()

starlen = (math.sqrt((10**2) * 2) / 2) / math.cos(math.radians(75))
centrstar = turtle.Turtle()
centrstar.color("white", "white")
centrstar.speed(40)
centrstar.right(45)
centrstar.forward(10)
centrstar.right(60)
centrstar.begin_fill()  #begin fill white

for i in range(1, 5):
    star.draw(centrstar, starlen)

centrstar.end_fill()
centrstar.hideturtle()

#tidy up window
window.exitonclick()
Example #8
0
def main():
    config = Null()
    config.keyScrollSpeed = 2000.0
    config.musicVolume = .5
    
    view = Null()
    view.pos = v((0,0))
    view.sprites = {}
    view.cursor = {}
    view.units = []
    view.selarea = None
    view.begin_pos = None
    view.scroll_start = None
    view.selection = []
    view.players = []
    view.ct = 0.0
    view.scrollleft = False
    view.scrollright = False
    view.scrollup = False
    view.scrolldown = False
    view.uisprites = []
    view.config = config
    view.tilepalcount = 0
    view.followselection = False
    
    init(sys.argv, view)
    
    dt = .001
    mp = 0
    #view.pathfind.set_map(chr(0)*view.mapdim[0]*view.mapdim[1])
    clock = pygame.time.Clock()
    while True:
        for event in pygame.event.get():
            if handle_event(event, view): return
            
            
            
        #view.path = pathf(view.occu)
        view.occu = list([list(x) for x in view.mapw])
        
        for player in view.players:
            player.food = v(0,0,0)
            player.hunger = v(0,0,0)
        for unit in view.units:
            unit.update(dt, view)
            
        if view.scrollleft: view.pos = view.pos + v(-1.0,0.0)*config.keyScrollSpeed*dt
        if view.scrollright: view.pos = view.pos + v(1.0,0.0)*config.keyScrollSpeed*dt
        if view.scrollup: view.pos = view.pos + v(0.0,-1.0)*config.keyScrollSpeed*dt
        if view.scrolldown: view.pos = view.pos + v(0.0,1.0)*config.keyScrollSpeed*dt
        
        if view.followselection and view.selection != []:
            poss = [x.pos for x in view.selection]
            poss = sum(poss)/len(poss)
            view.pos = poss - v(640,480)/2
            
        if view.pos[0] < 0: view.pos[0] = 0
        if view.pos[1] < 0: view.pos[1] = 0
        maxx = view.mapdim[0]*32 - view.screen.get_width()
        maxy = (view.mapdim[1]-12)*32
        if view.pos[0] > maxx: view.pos[0] = maxx
        if view.pos[1] > maxy: view.pos[1] = maxy
        view.pos = v([int(x) for x in view.pos])
        
        view.screen.fill((0,0,0))
        if view.tileset == "platform":
            star.draw(view)
        draw_tiles(view)
        
        tempunits = []
        for unit in view.units:
            tempunits.append((unit.level,unit.pos[1],unit))
        tempunits.sort()
        view.minimapover = pygame.surface.Surface((128,128),pygame.SRCALPHA,32)
        for unit in tempunits:
            unit[2].draw(view)
            
        for sprite in view.uisprites:
            sprite.draw(view)
            sprite.update()
            
        if view.selarea: pygame.draw.rect(view.screen, (16,252,24), view.selarea, 1)
        
        #68 w 3 down
        player = view.players[0]
        player.raceindex = 1
        player.minerals = 50
        player.gas = 0
        #print player.food, player.hunger
        icons = [
            (0, player.minerals, (16, 252, 24)),
            (player.raceindex+1, player.gas, (16, 252, 24)),
        ]
        for raceindex in range(3):
            food = player.food[raceindex]
            hunger = player.hunger[raceindex]
            if not food and not hunger: # heh
                continue
            if food >= hunger:
                color = (16, 252, 24)
            else:
                color = (200,24,24)
            icons.append((raceindex+4, str(hunger)+"/"+str(food), color))
            
        sprite = view.sprites["icons"]
        x = 640
        icons.reverse()
        for icon in icons:
            x -= 68
            view.screen.blit(sprite[icon[0]],(x,3))
            text = font.render(10, str(icon[1]), "game5")
            view.screen.blit(text, (x+16, 3))
            
        view.screen.blit(view.sprites['ConsoleTerran'],(0,0))
        
        view.screen.blit(view.minimap, v(6,348)+(64,64)-v(view.minimap.get_size())/2)
        view.screen.blit(view.minimapover, v(6,348)+(64,64)-v(view.minimap.get_size())/2)
        topleft = v(6,348)+(64,64)-v(view.minimap.get_size())/2
        pygame.draw.line(view.screen, (204,204,208), topleft+(0,-1), topleft+(128,-1))
        bottomright = v(6,348)+(64,64)+v(view.minimap.get_size())/2
        pygame.draw.line(view.screen, (172,152,148), bottomright, bottomright+(-128,0))
        
        pygame.draw.rect(view.screen,(255,255,255), (v(6,348)+(64,64)-v(view.minimap.get_size())/2+view.pos/32,(20,13)),1)
        #print view.mapdim
        
        
        (173,389)
        if len(view.selection) == 0:
            pass
        elif len(view.selection) == 1:
            u = view.selection[0]
            if u.id:
                w = view.sprites["Wireframe"][u.id]
                w.set_palette(get_wpalette(u))
                view.screen.blit(w, (168,388))
            if u.health != None:
                s = str(int(u.health))+"/"+str(u.maxhealth)
                t = font.render(8, s, "game5", True)
                view.screen.blit(t,v(199,457)-v(t.get_size())/2)
            s = u.name
            t = font.render(10, u.name, "game0", True)
            view.screen.blit(t,v(315,394)-v(t.get_size())/2)
        else:
            pass #multiple grpwire.grp
        #buttons
        
        view.screen.blit(view.sprites["TerranButtons"][4], (3,320))
        view.screen.blit(view.sprites["TerranButtons"][0], (416,388))
        
        view.screen.blit(font.render(8,"MENU", "game1"),(435,394))
        mp += .5
        mp = mp % 10
        view.screen.blit(view.movie[int(mp)], (413,410))
        #pygame.draw.rect(view.screen, (128,128,128), ((413,410),(60,56)))
        view.screen.blit(view.sprites["TerranOverlay"], (413, 410))
        
        if debug:
            surf = font.render(8, str(int(clock.get_fps()+.5)), "game0")
            view.screen.blit(surf,(0,0))
            
        if pygame.mouse.get_focused():
            view.ct += dt * 8
            cursor = 'CursorArrow'
            u = get_unit_at_point(pygame.mouse.get_pos()+view.pos,view)
            if u:
                if u.player == view.players[0]: cursor = 'CursorTarget2Green'
                elif u.player == -1: cursor = 'CursorTarget2Yellow'
                else: cursor = 'CursorTarget2Red'
            if view.selarea: cursor = 'CursorDrag'
            if view.scroll_start: cursor = None
            if view.sprites['ConsoleTerran'].get_at(pygame.mouse.get_pos()) != (0,0,0,255):
                cursor = "CursorArrow"
            if cursor == "CursorArrow": view.ct = view.ct % 4.0
            elif cursor in ("CursorTarget2Green","CursorTarget2Yellow","CursorTarget2Red"): view.ct = view.ct % 14.0
            else: view.ct = 0
            
            if cursor:
                sprite = view.sprites[cursor][int(view.ct)]
                view.screen.blit(sprite, v(pygame.mouse.get_pos())-v(sprite.get_size())/2)
        try: a
        except NameError: a = 0.
        a += dt
        a = a % 5
        view.screen.blit(ui.progress_bar(a/5,view),(281,426))
        pygame.display.update()
        pygame.mixer.music.set_volume(view.config.musicVolume)
        #sendp(cPickle.dumps(view.units),view)
        #try:
        # while True:
        #  view.units = cPickle.loads(view.socket.recvfrom(2**20)[0])
        #except socket.error: pass
        if debug:
            clock.tick()
        else:
            clock.tick(30)
        dt = clock.get_time()/1000.0