Esempio n. 1
0
    def __init__(self, settings):
        Menu.__init__(self, 'NEW GAME')
        self.new_button = Button(
            (SETTINGS.canvas_actual_width / 2, 200, 200, 60), "NEW GAME")
        self.custom_button = Button(
            (SETTINGS.canvas_actual_width / 2, 270, 200, 60), "CUSTOM  MAPS")
        self.tutorial_button = Button(
            (SETTINGS.canvas_actual_width / 2, 325, 200, 30), "TUTORIAL")
        self.back_button = Button(
            (SETTINGS.canvas_actual_width / 2, 500, 200, 60), "BACK")

        self.loading = TEXT.Text(0, 0, "LOADING...", SETTINGS.BLACK,
                                 "DUGAFONT.ttf", 74)
        self.loading.update_pos((SETTINGS.canvas_actual_width / 2) -
                                (self.loading.layout.get_width() / 2) + 8,
                                (SETTINGS.canvas_target_height / 2) -
                                (self.loading.layout.get_height() / 2))

        self.nolevels = TEXT.Text(0, 0, "NO  CUSTOM  LEVELS", SETTINGS.RED,
                                  "DUGAFONT.ttf", 50)
        self.nolevels.update_pos((SETTINGS.canvas_actual_width / 2) -
                                 (self.nolevels.layout.get_width() / 2) + 8,
                                 (SETTINGS.canvas_target_height / 2) -
                                 (self.nolevels.layout.get_height() / 2))
        self.timer = 0
        self.no_levels_on = False
        self.settings = settings
Esempio n. 2
0
    def load_items(self):
        print("Loading")
        self.item_names = []
        self.item_ids = []
        for i in SETTINGS.item_types:
            img = pygame.image.load(os.path.join(*i['filepath']))
            img = pygame.transform.scale(img, (64, 64))
            self.items.append(img)

            self.item_ids.append(i['id'])
            self.item_names.append(i['type'])

        self.nextitemtext = TEXT.Text(self.width - 28, 165, '>',
                                      SETTINGS.BLACK, 'DUGAFONT.ttf', 20)
        self.nextitem = pygame.Surface((30, 40))
        self.nextitemrct = self.nextitem.get_rect()
        self.nextitemrct.topleft = (self.width - 40, 150)
        self.nextitem.fill(SETTINGS.WHITE)

        self.previtemtext = TEXT.Text(self.width - 135, 165, '<',
                                      SETTINGS.BLACK, 'DUGAFONT.ttf', 20)
        self.previtem = pygame.Surface((30, 40))
        self.previtemrct = self.previtem.get_rect()
        self.previtemrct.topleft = (self.width - 140, 150)
        self.previtem.fill(SETTINGS.WHITE)

        self.itemtypetext = TEXT.Text(self.width - 140, 110, 'ITEM TYPE',
                                      SETTINGS.WHITE, 'DUGAFONT.ttf', 20)
        self.itemrect = self.items[current_item].get_rect()
        self.itemrect.topleft = (self.width - 107, 110)
Esempio n. 3
0
    def __init__(self):
        Menu.__init__(self, 'CREDITS')
        self.back_button = Button(
            (SETTINGS.canvas_actual_width / 2, 500, 200, 60), "BACK")

        #Created by
        self.createdby = TEXT.Text(0, 0, 'CREATED  BY', SETTINGS.LIGHTGRAY,
                                   "DUGAFONT.ttf", 24)
        self.createdby.update_pos((SETTINGS.canvas_actual_width / 2) -
                                  (self.createdby.layout.get_width() / 2) + 8,
                                  130)

        self.maxwellsalmon = TEXT.Text(0, 0, 'TALISMAN', SETTINGS.DARKGRAY,
                                       "DUGAFONT.ttf", 38)
        self.maxwellsalmon.update_pos(
            (SETTINGS.canvas_actual_width / 2) -
            (self.maxwellsalmon.layout.get_width() / 2) + 8, 160)

        #Music
        self.musicby = TEXT.Text(0, 0, 'MUSIC  BY', SETTINGS.LIGHTGRAY,
                                 "DUGAFONT.ttf", 20)
        self.musicby.update_pos((SETTINGS.canvas_actual_width / 2) -
                                (self.musicby.layout.get_width() / 2) + 8, 210)

        self.eli = TEXT.Text(0, 0, 'HUD-LUM @ SOUNDCLOUD', SETTINGS.DARKGRAY,
                             "DUGAFONT.ttf", 30)
        self.eli.update_pos((SETTINGS.canvas_actual_width / 2) -
                            (self.eli.layout.get_width() / 2) + 8, 240)

        #Maps
        self.contributions = TEXT.Text(0, 0, 'THANKS  TO', SETTINGS.LIGHTGRAY,
                                       "DUGAFONT.ttf", 20)
        self.contributions.update_pos(
            (SETTINGS.canvas_actual_width / 2) -
            (self.contributions.layout.get_width() / 2) + 8, 290)

        self.contributors = TEXT.Text(
            0, 0, 'POELE,  OLE,  ROCKETTHEMINIFIG,  ANDY BOY,  J4CKINS',
            SETTINGS.DARKGRAY, "DUGAFONT.ttf", 20)
        self.contributors.update_pos(
            (SETTINGS.canvas_actual_width / 2) -
            (self.contributors.layout.get_width() / 2) + 8, 320)
        self.contributors2 = TEXT.Text(0, 0, 'THEFATHOBBITS,  STARLITEPONY',
                                       SETTINGS.DARKGRAY, "DUGAFONT.ttf", 20)
        self.contributors2.update_pos(
            (SETTINGS.canvas_actual_width / 2) -
            (self.contributors2.layout.get_width() / 2) + 8, 345)

        self.specialthanks = TEXT.Text(
            0, 0,
            'THANKS  TO  THE  PYGAME  COMMUNITY  FOR  HELP  AND  MOTIVATION',
            SETTINGS.DARKGRAY, "DUGAFONT.ttf", 15)
        self.specialthanks.update_pos(
            (SETTINGS.canvas_actual_width / 2) -
            (self.specialthanks.layout.get_width() / 2) + 8, 380)

        self.and_you = TEXT.Text(0, 0, 'THANKS  TO  YOU  FOR  PLAYING!',
                                 SETTINGS.GREEN, "DUGAFONT.ttf", 22)
        self.and_you.update_pos((SETTINGS.canvas_actual_width / 2) -
                                (self.and_you.layout.get_width() / 2) + 8, 410)
Esempio n. 4
0
    def __init__(self):
        self.health = SETTINGS.player_health
        self.armor = SETTINGS.player_armor
        self.ammo = 0

        self.sprite = pygame.image.load(os.path.join('graphics',
                                                     'hud.png')).convert()
        self.sprite = pygame.transform.scale(
            self.sprite,
            (SETTINGS.canvas_actual_width,
             SETTINGS.window_height - SETTINGS.canvas_target_height))
        self.rect = self.sprite.get_rect()
        self.rect.topleft = (0, SETTINGS.canvas_target_height)

        self.text = [
            TEXT.Text(int(self.rect.width / 35),
                      self.rect.y + int(self.rect.height / 2.5),
                      'PLAYER ARMOR', SETTINGS.DARKGRAY, 'DUGAFONT.ttf', 35),
            TEXT.Text(int(self.rect.width / 3.4),
                      self.rect.y + int(self.rect.height / 2.5),
                      'PLAYER HEALTH', SETTINGS.DARKGRAY, 'DUGAFONT.ttf', 35),
            TEXT.Text(int(self.rect.width / 1.8),
                      self.rect.y + int(self.rect.height / 2.5), 'AMMUNITION',
                      SETTINGS.DARKGRAY, 'DUGAFONT.ttf', 35)
        ]

        self.arrow_spritesheet = pygame.image.load(
            os.path.join('graphics', 'arrows.png')).convert_alpha()

        self.arrow = self.arrow_spritesheet.subsurface(0, 0, 17,
                                                       17).convert_alpha()
        self.arrow = pygame.transform.scale(self.arrow, (50, 50))
        self.original_arrow = self.arrow
        self.arrow_rect = self.arrow.get_rect()
        self.arrow_rect.center = (self.rect.topright[0] - 46,
                                  self.rect.topright[1] + 66)
        self.arrow_center = (self.arrow_rect.centerx -
                             self.arrow_rect.width / 2,
                             self.arrow_rect.centery -
                             self.arrow_rect.height / 2)

        self.arrow2 = self.arrow_spritesheet.subsurface(0, 17, 17,
                                                        17).convert_alpha()
        self.arrow2 = pygame.transform.scale(self.arrow2, (50, 50))
        self.original_arrow2 = self.arrow2
        self.arrow3 = self.arrow_spritesheet.subsurface(0, 34, 17,
                                                        17).convert_alpha()
        self.arrow3 = pygame.transform.scale(self.arrow3, (50, 50))
        self.original_arrow3 = self.arrow3
Esempio n. 5
0
    def __init__(self, title):
        self.title = TEXT.Text(0, 0, title, SETTINGS.BLACK, "DUGAFONT.ttf",
                               120)
        self.title.update_pos((SETTINGS.canvas_actual_width / 2) -
                              (self.title.layout.get_width() / 2) + 8, 20)

        self.background_image = None
Esempio n. 6
0
    def run(self):

        count = 1

        for im in self.handles:

            wx.PostEvent(
                self.frame,
                CommitReturnFunction(im.name + ' (' + str(count) + ' of ',
                                     self.id, 0))

            text = im.dateText

            pil = Image.open(im.path)

            ptsize = int(
                round(im.font.GetPointSize() * pil.size[1] /
                      im.thumbX.size[1]))

            f = ImageFont.truetype(self.fonts[im.font.GetFaceName()], ptsize)

            draw = ImageDraw.Draw(pil)

            position = TEXT.calcXY(draw.textsize(text, font=f), pil.size,
                                   im.align, im.position)

            draw.text(position,
                      text,
                      fill=im.fontcolor.GetAsString(flags=wx.C2S_HTML_SYNTAX),
                      font=f)

            del draw

            path = os.path.join(im.rootDir, 'Labelled')

            if not os.path.isdir(path):
                os.makedirs(path)

            tmp = im.name.split('.')
            tmp.insert(-1, "_dl.")

            filename = ''.join(tmp)

            filename = os.path.join(path, filename)

            pil.save(filename, "JPEG", quality=95)

            count += 1

        wx.PostEvent(self.frame, CommitReturnFunction("COMPLETE!", self.id, 1))

        time.sleep(1)

        wx.PostEvent(self.frame, CommitReturnFunction("Ready...", self.id, 2))
Esempio n. 7
0
    def __init__(self):
        self.area = pygame.Surface((200, 300)).convert()
        self.rect = self.area.get_rect()
        self.rect.topleft = SETTINGS.canvas_actual_width - 220, SETTINGS.canvas_target_height - 280
        self.area.fill((200, 200, 200))

        self.title = TEXT.Text(0, 0, 'THANKS   FOR   PLAYING',
                               SETTINGS.DARKGRAY, "DUGAFONT.ttf", 19)
        self.title.update_pos(
            (self.rect.width / 2) - (self.title.layout.get_width() / 2) + 2, 5)

        self.pleas = [
            'You  have  been  playing  PyGame',
            'for  over  two  hours  now.  I', 'really  hope  you  enjoy  it.',
            'If  you  do,  please  consider',
            'buying  it.  If  you  have  al-',
            'ready  bought  it,  thank  you',
            'very  much!  If  you  don\'t  think',
            'it  is  worth  money,  please  let',
            'me  know  what  to  improve.',
            'Well,  I\'m  happy  to  have  you',
            'playing,  so  I  added  you  to', 'the  credits!'
        ]
        self.texts = []

        self.pos = 30

        self.button = Button((SETTINGS.canvas_actual_width - 120,
                              SETTINGS.canvas_target_height - 15, 192, 40),
                             "LEAVE ME ALONE!")

        for i in range(len(self.pleas)):
            self.texts.append(
                TEXT.Text(0, 0, self.pleas[i], SETTINGS.WHITE, "DUGAFONT.ttf",
                          15))
            self.texts[i].update_pos(
                (self.rect.width / 2) -
                (self.texts[i].layout.get_width() / 2) + 2, self.pos)
            self.pos += 17
Esempio n. 8
0
    def Update(self, bitmapHandle=None, listing=None):
        """ Updates the Labelled Image using the current parameters and
            Listing is a tuple that provides the imlist handle and index"""

        bmp = Conversions.piltoimage(self.thumbX.copy()).ConvertToBitmap()
        bmp = TEXT.write(self.dateText,bmp,self.align,self.font,self.fontcolor,self.position)

        if(bitmapHandle):
            bitmapHandle.SetBitmap(bmp)
            bitmapHandle.Center()
            bitmapHandle.Refresh()
        else:
            return bmp
Esempio n. 9
0
    def __init__(self, xywh, text):
        #ADD CLICK SOUND
        self.surface = pygame.Surface((xywh[2], xywh[3]))
        self.rect = self.surface.get_rect()
        self.rect.center = (xywh[0], xywh[1])
        self.clicked = False

        self.text = TEXT.Text(0, 0, text, SETTINGS.WHITE, "DUGAFONT.ttf", 24)
        self.text.update_pos(xywh[0] - self.text.layout.get_width() / 2,
                             xywh[1] - (self.text.layout.get_height() / 2) + 2)

        self.filling = SETTINGS.LIGHTGRAY
        self.sound = pygame.mixer.Sound(
            os.path.join('sounds', 'other', 'button.ogg'))
Esempio n. 10
0
    def Update(self, bitmapHandle=None, listing=None):
        """ Updates the Labelled Image using the current parameters and
            Listing is a tuple that provides the imlist handle and index"""

        bmp = Conversions.piltoimage(self.thumbX.copy()).ConvertToBitmap()
        bmp = TEXT.write(self.dateText, bmp, self.align, self.font,
                         self.fontcolor, self.position)

        if (bitmapHandle):
            bitmapHandle.SetBitmap(bmp)
            bitmapHandle.Center()
            bitmapHandle.Refresh()
        else:
            return bmp
Esempio n. 11
0
    def run(self):

        count = 1

        for im in self.handles:

            wx.PostEvent(self.frame,
                CommitReturnFunction(im.name + ' (' + str(count) + ' of ', self.id, 0))

            text = im.dateText

            pil = Image.open(im.path)

            ptsize = int(round(im.font.GetPointSize()*pil.size[1]/im.thumbX.size[1]))

            f = ImageFont.truetype(self.fonts[im.font.GetFaceName()],ptsize)

            draw = ImageDraw.Draw(pil)

            position = TEXT.calcXY(draw.textsize(text, font=f),pil.size,im.align,im.position)

            draw.text(position, text, fill=im.fontcolor.GetAsString(flags=wx.C2S_HTML_SYNTAX),
                        font=f)

            del draw

            path = os.path.join(im.rootDir,'Labelled')

            if not os.path.isdir(path):
                os.makedirs(path)

            tmp = im.name.split('.')
            tmp.insert(-1,"_dl.")

            filename = ''.join(tmp)

            filename = os.path.join(path,filename)

            pil.save(filename, "JPEG", quality=95)

            count += 1



        wx.PostEvent(self.frame, CommitReturnFunction("COMPLETE!", self.id, 1))

        time.sleep(1)

        wx.PostEvent(self.frame, CommitReturnFunction("Ready...", self.id, 2))
Esempio n. 12
0
    def __init__(self, sprite):
        self.health = SETTINGS.player_health
        self.armor = SETTINGS.player_armor
        self.ammo = 0

        self.sprite = pygame.image.load(sprite).convert()
        self.sprite = pygame.transform.scale(
            self.sprite,
            (SETTINGS.canvas_actual_width,
             SETTINGS.window_height - SETTINGS.canvas_target_height))
        self.rect = self.sprite.get_rect()
        self.rect.topleft = (0, SETTINGS.canvas_target_height)

        self.text = [
            TEXT.Text(int(self.rect.width / 35),
                      self.rect.y + int(self.rect.height / 2.5),
                      'PLAYER ARMOR', SETTINGS.DARKGRAY, 'DUGAFONT.ttf', 35),
            TEXT.Text(int(self.rect.width / 3.4),
                      self.rect.y + int(self.rect.height / 2.5),
                      'PLAYER HEALTH', SETTINGS.DARKGRAY, 'DUGAFONT.ttf', 35),
            TEXT.Text(int(self.rect.width / 1.8),
                      self.rect.y + int(self.rect.height / 2.5), 'AMMUNITION',
                      SETTINGS.DARKGRAY, 'DUGAFONT.ttf', 35)
        ]
Esempio n. 13
0
    def load_npcs(self):
        global current_npc, npc_face
        self.npc_stats = []
        self.npc_textures = []

        for i in SETTINGS.npc_types:
            self.npc_stats.append(i)

            img = pygame.image.load(os.path.join(*i['filepath']))
            img2 = img.subsurface(0, 0, 64, 128).convert_alpha()
            img2 = pygame.transform.scale(img2, (64, 64))
            self.npc_textures.append(img2)

        self.npcrect = self.npc_textures[current_npc].get_rect()
        self.npcrect.topleft = (self.width - 107, 210)
        self.npctypetext = TEXT.Text(self.width - 140, 195,
                                     self.npc_stats[current_npc]['name'],
                                     SETTINGS.WHITE, 'DUGAFONT.ttf', 20)

        self.nextnpctext = TEXT.Text(self.width - 28, 235, '>', SETTINGS.BLACK,
                                     'DUGAFONT.ttf', 20)
        self.nextnpc = pygame.Surface((30, 40))
        self.nextnpcrct = self.nextnpc.get_rect()
        self.nextnpcrct.topleft = (self.width - 40, 230)
        self.nextnpc.fill(SETTINGS.WHITE)

        self.prevnpctext = TEXT.Text(self.width - 135, 235, '<',
                                     SETTINGS.BLACK, 'DUGAFONT.ttf', 20)
        self.prevnpc = pygame.Surface((30, 40))
        self.prevnpcrct = self.prevnpc.get_rect()
        self.prevnpcrct.topleft = (self.width - 135, 230)
        self.prevnpc.fill(SETTINGS.WHITE)

        #face
        self.npcfacetext = TEXT.Text(self.width - 100, 290, str(npc_face),
                                     SETTINGS.WHITE, 'DUGAFONT.ttf', 24)

        self.npcfrect = pygame.Rect(self.width - 100, 280, 64, 64)

        self.nextnpcftext = TEXT.Text(self.width - 28, 295, '>',
                                      SETTINGS.BLACK, 'DUGAFONT.ttf', 20)
        self.nextnpcf = pygame.Surface((30, 40))
        self.nextnpcfrct = self.nextnpcf.get_rect()
        self.nextnpcfrct.topleft = (self.width - 40, 280)
        self.nextnpcf.fill(SETTINGS.WHITE)

        self.prevnpcftext = TEXT.Text(self.width - 135, 295, '<',
                                      SETTINGS.BLACK, 'DUGAFONT.ttf', 20)
        self.prevnpcf = pygame.Surface((30, 40))
        self.prevnpcfrct = self.prevnpcf.get_rect()
        self.prevnpcfrct.topleft = (self.width - 135, 280)
        self.prevnpcf.fill(SETTINGS.WHITE)
Esempio n. 14
0
    def update_strings(self):

        self.graphics_button = Button(
            (SETTINGS.canvas_actual_width / 2, 150, 300, 30),
            "GRAPHICS: %s" % self.strings[self.graphics_index])
        self.fov_button = Button(
            (SETTINGS.canvas_actual_width / 2, 200, 300, 30),
            "FOV: %s" % self.degrees[self.fov_index])
        self.sensitivity_button = Button(
            (SETTINGS.canvas_actual_width / 2, 250, 300, 30),
            "SENSITIVITY: %s" % self.strings[self.sens_index])
        self.volume_button = Button(
            (SETTINGS.canvas_actual_width / 2, 300, 300, 30),
            "MASTER  VOLUME: %s" % self.strings[self.vol_index])
        self.music_button = Button(
            (SETTINGS.canvas_actual_width / 2, 350, 300, 30),
            "MUSIC  VOLUME: %s" % self.music_strings[self.music_index])
        self.fullscreen_button = Button(
            (SETTINGS.canvas_actual_width / 2, 400, 300, 30),
            "FULLSCREEN: %s" % self.onoff[self.fs_index])
        self.back_button = Button(
            (SETTINGS.canvas_actual_width / 2, 500, 200, 60), "BACK")

        self.restart = TEXT.Text(0, 0, 'RESTART GAME TO APPLY CHANGES',
                                 SETTINGS.LIGHTGRAY, "DUGAFONT.ttf", 20)
        self.restart.update_pos((SETTINGS.canvas_actual_width / 2) -
                                (self.restart.layout.get_width() / 2), 580)

        self.current_settings = {
            'graphics': self.strings_to_data['graphics'][self.graphics_index],
            'fov': self.strings_to_data['fov'][self.fov_index],
            'sensitivity':
            self.strings_to_data['sensitivity'][self.sens_index],
            'volume': self.strings_to_data['volume'][self.vol_index],
            'music volume':
            self.strings_to_data['music volume'][self.music_index],
            'fullscreen': self.strings_to_data['fullscreen'][self.fs_index],
        }

        self.save = True
#----------------------------

# ============================= #
# obtain wiki article word hash #
# ============================= #
wikiFileList = os.listdir('.')
wikiHash = {}
Idx_processedFile = 0
for Idx_wikiFile in range(len(wikiFileList)):
    fileName = wikiFileList[Idx_wikiFile]
    if re.search("text\.", fileName):
        fileHash = {}
        print "now processing : %s" % (fileName)
        if os.path.isfile(fileName + '.np'):
            os.remove(fileName + '.np')
        fileName_preproc = TEXT.PREPROCESS(fileName)
        # .np and .np.sort are generated
        fileObject = open(fileName_preproc)
        wordList = fileObject.read().splitlines()
        fileObject.close()
        wordHash = {}
        for word in wordList:
            if dictHash.has_key(word):
                # to ensure only popular words / english are included
                if wordHash.has_key(word): wordHash[word] += 1
                else: wordHash[word] = 1
        #-------
        del word
        #-------
        fileHash['_wordprofile'] = wordHash
        fileHash['_title'] = fileName
Esempio n. 16
0
    def __init__(self, width, height):
        global mode, ltype, segtypes
        self.width = max(width, 438)
        self.height = max(height, 438)
        self.canvas = pygame.display.set_mode((self.width, self.height))
        self.segtype = 0
        pygame.display.set_caption("DUGA Map Editor")
        self.stop = False
        self.items = []
        self.showauthor = False

        self.tile_textures = []
        for i in range(len(TEXTURES.all_textures)):
            texture = TEXTURES.all_textures[i]
            t = pygame.image.load(texture).convert_alpha()
            t = pygame.transform.scale(t, (64, 64))
            if SETTINGS.texture_type[i] == 'vdoor':
                t = pygame.transform.rotate(t, 90)
            self.tile_textures.append(t)

        #Author
        self.authortext = TEXT.Text(self.width - 135, 5, 'Author: %s',
                                    SETTINGS.LIGHTGRAY, 'DUGAFONT.ttf', 11)

        #Export
        self.exporttext = TEXT.Text(20, self.height - 32, 'EXPORT',
                                    SETTINGS.BLACK, 'DUGAFONT.ttf', 14)
        self.exportbtn = pygame.Surface((64, 32))
        self.exportrct = self.exportbtn.get_rect()
        self.exportrct.topleft = (15, self.height - 40)
        self.exportbtn.fill(SETTINGS.WHITE)

        #Selected mode
        self.selecttext = TEXT.Text(100, self.height - 32, mode,
                                    SETTINGS.GREEN, 'DUGAFONT.ttf', 24)

        #Tile
        self.nxttext = TEXT.Text(self.width - 28, 60, '>', SETTINGS.BLACK,
                                 'DUGAFONT.ttf', 20)
        self.nexttile = pygame.Surface((30, 40))
        self.nexttilerct = self.nexttile.get_rect()
        self.nexttilerct.topleft = (self.width - 40, 50)
        self.nexttile.fill(SETTINGS.WHITE)
        self.prvtext = TEXT.Text(self.width - 135, 60, '<', SETTINGS.BLACK,
                                 'DUGAFONT.ttf', 20)
        self.prevtile = pygame.Surface((30, 40))
        self.prevtilerct = self.prevtile.get_rect()
        self.prevtilerct.topleft = (self.width - 140, 50)
        self.prevtile.fill(SETTINGS.WHITE)
        self.tiletypetext = TEXT.Text(self.width - 95, 15, 'TEXTURE TYPE',
                                      SETTINGS.WHITE, 'DUGAFONT.ttf', 20)

        self.tilerect = self.tile_textures[current_id].get_rect()
        self.tilerect.topleft = (self.width - 107, 40)

        #startpos
        self.startpossurf = pygame.Surface((64, 64))
        self.startposrct = self.startpossurf.get_rect()
        self.startposrct.topleft = (self.width - 105, 335)
        self.startpossurf.fill(SETTINGS.DARKRED)
        self.startpostxt = TEXT.Text(self.width - 95, 345, 'START',
                                     SETTINGS.WHITE, 'DUGAFONT.ttf', 15)
        self.startpostxt2 = TEXT.Text(self.width - 95, 370, 'POS',
                                      SETTINGS.WHITE, 'DUGAFONT.ttf', 15)

        #Segment?
        if ltype == "segment":
            #Doors
            self.doortxt = TEXT.Text(30, self.height - 110, 'ENTRANCES',
                                     SETTINGS.BLUE, 'DUGAFONT.ttf', 20)
            #up
            self.doorup = pygame.Surface((20, 20))
            self.dooruprct = self.doorup.get_rect()
            self.dooruprct.topleft = (30, self.height - 80)
            self.doorup.fill(SETTINGS.WHITE)
            self.dooruptxt = TEXT.Text(36, self.height - 76, '^',
                                       SETTINGS.BLACK, 'DUGAFONT.ttf', 20)
            #down
            self.doordown = pygame.Surface((20, 20))
            self.doordownrct = self.doordown.get_rect()
            self.doordownrct.topleft = (55, self.height - 80)
            self.doordown.fill(SETTINGS.WHITE)
            self.doordowntxt = TEXT.Text(60, self.height - 80, 'v',
                                         SETTINGS.BLACK, 'DUGAFONT.ttf', 20)
            #left
            self.doorleft = pygame.Surface((20, 20))
            self.doorleftrct = self.doorleft.get_rect()
            self.doorleftrct.topleft = (80, self.height - 80)
            self.doorleft.fill(SETTINGS.WHITE)
            self.doorlefttxt = TEXT.Text(85, self.height - 80, '<',
                                         SETTINGS.BLACK, 'DUGAFONT.ttf', 20)
            #right
            self.doorright = pygame.Surface((20, 20))
            self.doorrightrct = self.doorright.get_rect()
            self.doorrightrct.topleft = (105, self.height - 80)
            self.doorright.fill(SETTINGS.WHITE)
            self.doorrighttxt = TEXT.Text(110, self.height - 80, '>',
                                          SETTINGS.BLACK, 'DUGAFONT.ttf', 20)

            #typeleft
            self.segtypeleft = pygame.Surface((20, 20))
            self.segtypeleftrct = self.segtypeleft.get_rect()
            self.segtypeleftrct.topleft = (20, self.height - 140)
            self.segtypeleft.fill(SETTINGS.WHITE)
            self.segtypelefttxt = TEXT.Text(25, self.height - 140, '<',
                                            SETTINGS.BLACK, 'DUGAFONT.ttf', 20)

            #segtype
            self.segtypetxt = TEXT.Text(20, self.height - 160, 'SEGMENT TYPE',
                                        SETTINGS.DARKGREEN, 'DUGAFONT.ttf', 20)
            self.csegtypetxt = TEXT.Text(45, self.height - 140,
                                         segtypes[self.segtype],
                                         SETTINGS.LIGHTGREEN, 'DUGAFONT.ttf',
                                         20)

            #typeright
            self.segtyperight = pygame.Surface((20, 20))
            self.segtyperightrct = self.segtypeleft.get_rect()
            self.segtyperightrct.topleft = (130, self.height - 140)
            self.segtyperight.fill(SETTINGS.WHITE)
            self.segtyperighttxt = TEXT.Text(135, self.height - 140, '>',
                                             SETTINGS.BLACK, 'DUGAFONT.ttf',
                                             20)
Esempio n. 17
0
    def __init__(self):
        self.text = TEXT.Text(0, 0, "INTET!", SETTINGS.BLACK, "DUGAFONT.ttf",
                              26)

        #Strings
        self.welcome = {
            'string':
            "WELCOME  TO  META!  PRESS  'E'  TO  OPEN  THE  DOOR",
            'tiles': [[1, 11], [1, 10], [2, 10], [2, 11], [2, 12], [3, 10],
                      [3, 11], [3, 12], [4, 10], [4, 11], [4, 12], [5, 11]]
        }

        self.items1 = {
            'string': "PICK  UP  THE  ARMOR  AND  HEALTH  ON  THE  GROUND",
            'tiles': [
                [2, 6],
                [3, 6],
                [4, 6],
                [2, 7],
                [3, 7],
                [4, 7],
            ]
        }

        self.arrow = {
            'string': "FOLLOW  THE  GREEN  ARROW  IN  THE  LOWER  CORNER",
            'tiles': [[2, 5], [3, 5], [4, 5]]
        }

        self.exits = {
            'string':
            "PRESS  'E' ON  THE  EXIT  TO  FINISH  THE  FIRST  TUTORIAL",
            'tiles': [
                [2, 1],
                [3, 1],
                [4, 1],
                [2, 2],
                [3, 2],
                [4, 2],
            ]
        }

        self.second = {
            'string': "META  HAS  PRIMARY,  SECONDARY  AND  MELEE  WEPONS",
            'tiles': [[2, 17], [3, 16], [3, 17], [3, 18], [4, 16], [4, 17]]
        }

        self.weapons = {
            'string':
            "PICK  UP  THE  WEAPONS  AND  SWITCH  WITH  '1, 2, 3'",
            'tiles': [[2, 12], [3, 12], [4, 12], [1, 13], [2, 13], [3, 13],
                      [4, 13], [5, 13], [1, 14], [2, 14], [3, 14], [4, 14],
                      [5, 14]]
        }

        self.ammo = {
            'string':
            "EACH  GUN  HAS  A  TYPE  OF  AMMO.  RELOAD  WITH  'R'",
            'tiles': [[2, 7], [3, 7], [4, 7], [2, 8], [3, 8], [4, 8], [2, 9],
                      [3, 9], [4, 9]]
        }

        self.compare = {
            'string':
            "FOR  BETTER  AIM,  RIGHT  CLICK.  GO  STAND  ON  THE  GUN",
            'tiles': [[2, 3], [4, 3], [2, 4], [3, 4], [4, 4], [2, 5], [3, 5],
                      [4, 5]]
        }

        self.gauss = {
            'string':
            "OPEN  INVENTORY  WITH  'I'  AND  CLICK  ON  GROUND  SLOT",
            'tiles': [[3, 3]]
        }

        self.combat = {
            'string':
            "TIME  FOR  SOME  COMBAT!",
            'tiles': [
                [2, 14],
                [3, 14],
                [2, 15],
                [3, 15],
                [4, 15],
                [2, 16],
                [3, 16],
                [4, 16],
            ]
        }

        self.items = {
            'string':
            "ENEMIES  HAVE  DIFFERENT  BEHAVIOURS.  NOW, GEAR  UP!",
            'tiles': [
                [2, 10],
                [3, 10],
                [4, 10],
                [2, 11],
                [3, 11],
                [4, 11],
                [2, 12],
                [3, 12],
                [4, 12],
            ]
        }

        self.enemy = {
            'string':
            "KILL HIM!!  LEFT  CLICK  TO  SHOOT!",
            'tiles': [
                [2, 4],
                [3, 4],
                [4, 4],
                [5, 4],
                [1, 5],
                [2, 5],
                [3, 5],
                [4, 5],
                [5, 5],
                [1, 6],
                [2, 6],
                [3, 6],
                [4, 6],
                [5, 6],
                [1, 7],
                [2, 7],
                [3, 7],
                [4, 7],
                [5, 7],
                [1, 8],
                [2, 8],
                [3, 8],
                [4, 8],
                [5, 8],
            ]
        }

        self.done = {
            'string': "WELL  DONE!  NOW,  LET'S  PLAY!",
            'tiles': [
                [2, 1],
                [3, 1],
                [4, 4],
                [3, 2],
                [4, 2],
            ]
        }
Esempio n. 18
0
    def __init__(self, ammo_dict):
        self.bg = pygame.image.load(os.path.join('graphics', 'inventory.png')).convert_alpha()
        self.rect = self.bg.get_rect()
        self.rect.center = (int(SETTINGS.canvas_actual_width/2), int(SETTINGS.canvas_target_height/2))
        
        self.held_ammo = {}
        for x in ammo_dict:
            self.held_ammo[x] = 0

        SETTINGS.held_ammo = self.held_ammo
        SETTINGS.max_ammo = ammo_dict

        #Menu
        self.menu = pygame.Surface((160, 200)).convert()
        self.menu_rect = self.menu.get_rect()
        self.menudraw = False
        self.selected = None

        self.submenus = []
        self.submenu_rects = []

        for i in range(0, 9):
            if i == 0 or i == 8:
                self.submenus.append(self.menu.subsurface(0, 0, self.menu_rect.width, 30).convert())
                self.submenu_rects.append(self.submenus[i].get_rect())
            else:
                self.submenus.append(self.menu.subsurface(0, 0, self.menu_rect.width, 20).convert())
                self.submenu_rects.append(self.submenus[i].get_rect())
            
            if i % 2 == 0:
                self.submenus[i].fill((65,65,65))
            else:
                self.submenus[i].fill((55,55,55))
        
        #Close button
        self.closebtn = pygame.Surface((176, 64)).convert_alpha()
        self.closebtn_rect = self.closebtn.get_rect()
        self.closebtn_rect.topleft = (self.rect.x + 353, self.rect.y + 353)
        self.closebtn.fill((100,100,100,100))

        #Primary weapon
        self.primaryslot = pygame.Surface((272, 80)).convert_alpha()
        self.primaryslot_rect = self.primaryslot.get_rect()
        self.primaryslot_rect.topleft = (self.rect.x + 33, self.rect.y + 33)
        self.primaryslot.fill((100,100,100,100))

        #Secondary weapon
        self.secondslot = pygame.Surface((176, 81)).convert_alpha()
        self.secondslot_rect = self.secondslot.get_rect()
        self.secondslot_rect.topleft = (self.rect.x + 33, self.rect.y + 129)
        self.secondslot.fill((100,100,100,100))

        #Melee weapon
        self.meleeslot = pygame.Surface((176, 81)).convert_alpha()
        self.meleeslot_rect = self.meleeslot.get_rect()
        self.meleeslot_rect.topleft = (self.rect.x + 33, self.rect.y + 225)
        self.meleeslot.fill((100,100,100,100))

        #Ammo textures
        self.ammotexture1 = pygame.image.load(os.path.join(*[x for x in SETTINGS.item_types if x['type'] == 'bullet'][0]['filepath'])).subsurface(0,112,64,16).convert_alpha()
        self.ammotexture2 = pygame.image.load(os.path.join(*[x for x in SETTINGS.item_types if x['type'] == 'shell'][0]['filepath'])).subsurface(0,112,64,16).convert_alpha()
        self.ammotexture3 = pygame.image.load(os.path.join(*[x for x in SETTINGS.item_types if x['type'] == 'ferromag'][0]['filepath'])).subsurface(0,112,64,16).convert_alpha()

        self.ammotexture1 = pygame.transform.scale(self.ammotexture1, (128, 32))
        self.ammotexture2 = pygame.transform.scale(self.ammotexture2, (128, 32))
        self.ammotexture3 = pygame.transform.scale(self.ammotexture3, (128, 32))
        

        #Ammo 1
        self.ammoslot1 = pygame.Surface((191,79)).convert_alpha()
        self.ammoslot1_rect = self.ammoslot1.get_rect()
        self.ammoslot1_rect.topleft = (self.rect.x + 320, self.rect.y + 33)
        self.ammoslot1.fill((100,100,100,100))

        #Ammo 2
        self.ammoslot2 = pygame.Surface((191,79)).convert_alpha()
        self.ammoslot2_rect = self.ammoslot2.get_rect()
        self.ammoslot2_rect.topleft = (self.rect.x + 320, self.rect.y + 129)
        self.ammoslot2.fill((100,100,100,100))

        #Ammo 3
        self.ammoslot3 = pygame.Surface((191,79)).convert_alpha()
        self.ammoslot3_rect = self.ammoslot3.get_rect()
        self.ammoslot3_rect.topleft = (self.rect.x + 320, self.rect.y + 225)
        self.ammoslot3.fill((100,100,100,100))

        #Ground weapon
        self.groundslot = pygame.Surface((272, 80)).convert_alpha()
        self.groundslot_rect = self.groundslot.get_rect()
        self.groundslot_rect.topleft = (self.rect.x + 33, self.rect.y + 336)
        self.groundslot.fill((100,100,100,75))

        #Stuff
        self.mousepos = pygame.mouse.get_pos()
        self.timer = 0
        self.closing = False
        self.text = [TEXT.Text(0, 0, 'NAME', SETTINGS.WHITE, 'DUGAFONT.ttf', 18),
                     TEXT.Text(0, 0, 'DAMAGE: --', SETTINGS.LIGHTGRAY, 'DUGAFONT.ttf', 15),
                     TEXT.Text(0, 0, 'SPREAD: --', SETTINGS.LIGHTGRAY, 'DUGAFONT.ttf', 15),
                     TEXT.Text(0, 0, 'ACCURACY: --', SETTINGS.LIGHTGRAY, 'DUGAFONT.ttf', 15),
                     TEXT.Text(0, 0, 'RANGE: --', SETTINGS.LIGHTGRAY, 'DUGAFONT.ttf', 15),
                     TEXT.Text(0, 0, 'MAGAZINE SIZE: --', SETTINGS.LIGHTGRAY, 'DUGAFONT.ttf', 15),
                     TEXT.Text(0, 0, 'RELOAD TIME: --', SETTINGS.LIGHTGRAY, 'DUGAFONT.ttf', 15),
                     TEXT.Text(0, 0, 'AMMO TYPE: --', SETTINGS.LIGHTGRAY, 'DUGAFONT.ttf', 15),
                     TEXT.Text(0, 0, 'DROP', SETTINGS.WHITE, 'DUGAFONT.ttf', 18)]
        
        self.ammotext = [TEXT.Text(480, 116, '-- / --', SETTINGS.DARKGRAY, 'DUGAFONT.ttf', 24),
                         TEXT.Text(480, 212, '-- / --', SETTINGS.DARKGRAY, 'DUGAFONT.ttf', 24),
                         TEXT.Text(480, 308, '-- / --', SETTINGS.DARKGRAY, 'DUGAFONT.ttf', 24)]
Esempio n. 19
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import serial
import sys
import QP
import MT2625
import argparse
import os.path
from os.path import join
from TEXT import *

msg = TEXT()


def res(cond=False, ok_txt="", err_txt=""):
    if cond:
        msg.ok(ok_txt)
    else:
        msg.error(err_txt)


''' Argument Parser '''
usage_str = "\033[36mbla.py [--backup] --cfg <cfg_file>\n       bla.py [--backup] <app_file>\033[0m"
parser = argparse.ArgumentParser(usage=usage_str)
parser.add_argument("--backup", help="Backup NVDM", action="store_true")
parser.add_argument("--cfg",
                    help="Loads cfg instead of app file",
                    action="store_true")
parser.add_argument("fp", help="Full path to app-file or cfg file")
Esempio n. 20
0
import pygame
import SETTINGS
import ITEMS
import TEXT
import random

title = TEXT.Text(0, 0, "None :-)", SETTINGS.BLACK, "DUGAFONT.ttf", 60)
author = TEXT.Text(0, 0, "None :-)", SETTINGS.BLACK, "DUGAFONT.ttf", 40)

hurt_intensity = 128
dead_intensity = 0
heal_intensity = 85
armor_intensity = 85
fade_value = 0
title_timer = 0

int_to_string = {
    0: 'FIRST',
    1: 'SECOND',
    2: 'THIRD',
    3: 'FOURTH',
    4: 'FIFTH',
    5: 'SIXTH',
    6: 'SEVENTH',
    7: 'EIGHTH',
    8: 'NINTH',
    9: 'TENTH',
    10: 'ELEVENTH',
    11: 'TWELVTH',
    12: 'THIRTEENTH',
    13: 'FOURTEENTH',
Esempio n. 21
0
    def __init__(self):
        Menu.__init__(self, 'STATISTICS')

        self.area = pygame.Surface((600, 300))
        self.area_rect = self.area.get_rect()
        self.area_rect.center = (SETTINGS.canvas_actual_width / 2,
                                 SETTINGS.canvas_target_height / 2)
        self.area.fill((200, 200, 200))

        self.middle_area = pygame.Surface((200, 300))
        self.middle_area.fill((180, 180, 180))

        self.back_button = Button(
            (SETTINGS.canvas_actual_width / 2, 500, 200, 60), "BACK")
        self.score_testing = copy.copy(SETTINGS.statistics)

        self.highlights = []
        for i in range(6):
            if i == 0:
                self.highlights.append(
                    pygame.Surface((600, 35)).convert_alpha())
            else:
                self.highlights.append(
                    pygame.Surface((600, 30)).convert_alpha())
            self.highlights[i].fill((0, 0, 0, 20))

        #High scores
        self.best_scores = [
            'HIGHEST SCORES',
            'ENEMIES  KILLED : %s' % SETTINGS.statistics['best enemies'],
            'DAMAGE  DEALT : %s' % SETTINGS.statistics['best ddealt'],
            'DAMAGE  TAKEN : %s' % SETTINGS.statistics['best dtaken'],
            'SHOTS  FIRED : %s' % SETTINGS.statistics['best shots'],
            'LEVEL  STREAK : %s' % SETTINGS.statistics['best levels']
        ]

        self.texts = []
        self.pos = 10

        for i in range(len(self.best_scores)):
            if i == 0:
                self.texts.append(
                    TEXT.Text(0, 0, self.best_scores[i], SETTINGS.DARKGRAY,
                              "DUGAFONT.ttf", 18))
            else:
                self.texts.append(
                    TEXT.Text(0, 0, self.best_scores[i], SETTINGS.WHITE,
                              "DUGAFONT.ttf", 18))
            self.texts[i].update_pos(10, self.pos)
            self.pos += 30

        #Last play scores
        self.last_scores = [
            'LAST PLAY',
            'ENEMIES  KILLED : %s' % SETTINGS.statistics['last enemies'],
            'DAMAGE  DEALT : %s' % SETTINGS.statistics['last ddealt'],
            'DAMAGE  TAKEN : %s' % SETTINGS.statistics['last dtaken'],
            'SHOTS  FIRED : %s' % SETTINGS.statistics['last shots'],
            'LEVEL  STREAK : %s' % SETTINGS.statistics['last levels']
        ]
        self.last_texts = []
        self.pos = 10

        for i in range(len(self.last_scores)):
            if i == 0:
                self.last_texts.append(
                    TEXT.Text(0, 0, self.last_scores[i], SETTINGS.DARKGRAY,
                              "DUGAFONT.ttf", 18))
            else:
                if self.last_scores[i] == self.best_scores[
                        i] and self.last_scores[i].find(' 0') == -1:
                    self.last_texts.append(
                        TEXT.Text(0, 0, self.last_scores[i], (100, 100, 200),
                                  "DUGAFONT.ttf", 18))
                else:
                    self.last_texts.append(
                        TEXT.Text(0, 0, self.last_scores[i], SETTINGS.WHITE,
                                  "DUGAFONT.ttf", 18))
            self.last_texts[i].update_pos(210, self.pos)
            self.pos += 30

        #all time statistics
        #format play time

        self.all_scores = [
            'ALL TIME',
            'ENEMIES  KILLED : %s' % SETTINGS.statistics['all enemies'],
            'DAMAGE  DEALT : %s' % SETTINGS.statistics['all ddealt'],
            'DAMAGE  TAKEN : %s' % SETTINGS.statistics['all dtaken'],
            'SHOTS  FIRED : %s' % SETTINGS.statistics['all shots'],
            'LEVEL  STREAK : %s' % SETTINGS.statistics['all levels'],
            'TIME PLAYED : {:02d}h {:02d}m'.format(
                *divmod(SETTINGS.statistics['playtime'], 60))
        ]
        self.all_texts = []
        self.pos = 10

        for i in range(len(self.all_scores)):
            if i == 0:
                self.all_texts.append(
                    TEXT.Text(0, 0, self.all_scores[i], SETTINGS.DARKGRAY,
                              "DUGAFONT.ttf", 18))
            else:
                self.all_texts.append(
                    TEXT.Text(0, 0, self.all_scores[i], SETTINGS.WHITE,
                              "DUGAFONT.ttf", 18))
            self.all_texts[i].update_pos(410, self.pos)
            self.pos += 30
Esempio n. 22
0
#Probably temporary object init
#SETTINGS.current_level = 5 #temporary
if __name__ == '__main__':
    gameLoad = Load()
    gameLoad.load_resources()
    gameLoad.load_entities()

    mapGenerator = GENERATION.Generator()
    mapGenerator.generate_levels(5, 4)

    gameLoad.get_canvas_size()

    #Setup and classes

    thanks = TEXT.Text(150, 250, "THANKS  FOR  PLAYING  DUGA  TECH  DEMO",
                       SETTINGS.WHITE, "DUGAFONT.ttf", 24)

    #Classes for later use
    gameMap = MAP.Map(SETTINGS.levels_list[SETTINGS.current_level].array)
    gameCanvas = Canvas(SETTINGS.canvas_map_width, SETTINGS.canvas_map_height)
    gamePlayer = PLAYER.Player(SETTINGS.player_pos)
    gameRaycast = RAYCAST.Raycast(gameCanvas.canvas, gameCanvas.window)
    gameInv = INVENTORY.inventory({'bullet': 150, 'shell': 25, 'ferromag': 50})
    gameHUD = HUD.hud(path.join('graphics', 'hud.png'))

    #More loading - Level specific
    gameLoad.load_new_level()

    #Run at last
    main_loop()
Esempio n. 23
0
    i = f.render("M", False, (0, 0, 0))
    pygame.display.set_icon(i)
    gameLoad = Load()
    gameLoad.load_resources()
    gameLoad.load_entities()
    gameLoad.load_custom_levels()

    mapGenerator = GENERATION.Generator()
    mapGenerator.generate_levels(1, 2)
    SETTINGS.levels_list = SETTINGS.glevels_list

    gameLoad.get_canvas_size()

    #Setup and classes

    text = TEXT.Text(0, 0, "YOU  WON", SETTINGS.WHITE, "DUGAFONT.ttf", 48)
    beta = TEXT.Text(5, 5, "META  ALFA  BUILD  V.1.6", SETTINGS.WHITE,
                     "DUGAFONT.ttf", 20)
    text.update_pos(
        SETTINGS.canvas_actual_width / 2 - text.layout.get_width() / 2,
        SETTINGS.canvas_target_height / 2 - text.layout.get_height() / 2)

    #Classes for later use
    gameMap = MAP.Map(SETTINGS.levels_list[SETTINGS.current_level].array)
    gameCanvas = Canvas(SETTINGS.canvas_map_width, SETTINGS.canvas_map_height)
    gamePlayer = PLAYER.Player(SETTINGS.player_pos)
    gameRaycast = RAYCAST.Raycast(gameCanvas.canvas, gameCanvas.window)
    gameInv = INVENTORY.inventory({'bullet': 150, 'shell': 25, 'ferromag': 50})
    gameHUD = HUD.hud()

    #More loading - Level specific
Esempio n. 24
0
    def __init__(self):
        self.health = SETTINGS.player_health
        self.armor = SETTINGS.player_armor
        self.ammo = 0
        self.scale_width = 0
        self.scale_height = 0

        self.sprite = pygame.image.load(os.path.join('graphics',
                                                     'hud.png')).convert()
        if SETTINGS.original_aspect:
            self.sprite = pygame.transform.scale(
                self.sprite,
                (SETTINGS.canvas_actual_width,
                 SETTINGS.window_height - SETTINGS.canvas_target_height))
            self.rect = self.sprite.get_rect()
        else:
            self.rect = self.sprite.get_rect()
            # get the unscaled dimensions for figuring out the scale of the transform once done
            self.scale_width = self.rect.width
            self.scale_height = self.rect.height
            self.sprite = pygame.transform.scale(
                self.sprite,
                (SETTINGS.canvas_target_width,
                 int(self.rect.height * SETTINGS.canvas_aspect_ratio)))
            self.rect = self.sprite.get_rect()

            self.scale_width = self.rect.width / self.scale_width
            self.scale_height = self.rect.height / self.scale_height
            # use relative postioning to set the actual playable area
            SETTINGS.canvas_game_area_height = SETTINGS.canvas_target_height - self.rect.height

        self.rect.topleft = (0, SETTINGS.canvas_game_area_height)

        self.text = [
            TEXT.Text(int(self.rect.width / 35),
                      self.rect.y + int(self.rect.height / 2.5),
                      'PLAYER ARMOR', SETTINGS.DARKGRAY, 'DUGAFONT.ttf', 35),
            TEXT.Text(int(self.rect.width / 3.4),
                      self.rect.y + int(self.rect.height / 2.5),
                      'PLAYER HEALTH', SETTINGS.DARKGRAY, 'DUGAFONT.ttf', 35),
            TEXT.Text(int(self.rect.width / 1.8),
                      self.rect.y + int(self.rect.height / 2.5), 'AMMUNITION',
                      SETTINGS.DARKGRAY, 'DUGAFONT.ttf', 35)
        ]

        self.arrow_spritesheet = pygame.image.load(
            os.path.join('graphics', 'arrows.png')).convert_alpha()

        self.arrow = self.arrow_spritesheet.subsurface(0, 0, 17,
                                                       17).convert_alpha()
        self.arrow = pygame.transform.scale(self.arrow, (50, 50))
        self.original_arrow = self.arrow
        self.arrow_rect = self.arrow.get_rect()
        if SETTINGS.original_aspect:
            self.arrow_rect.center = (self.rect.topright[0] - 46,
                                      self.rect.topright[1] + 66)
        else:
            self.arrow_rect.center = (self.rect.topright[0] -
                                      math.ceil(46 * self.scale_width),
                                      self.rect.topright[1] +
                                      math.ceil(66 * self.scale_height))
        self.arrow_center = (self.arrow_rect.centerx -
                             self.arrow_rect.width / 2,
                             self.arrow_rect.centery -
                             self.arrow_rect.height / 2)

        self.arrow2 = self.arrow_spritesheet.subsurface(0, 17, 17,
                                                        17).convert_alpha()
        self.arrow2 = pygame.transform.scale(self.arrow2, (50, 50))
        self.original_arrow2 = self.arrow2
        self.arrow3 = self.arrow_spritesheet.subsurface(0, 34, 17,
                                                        17).convert_alpha()
        self.arrow3 = pygame.transform.scale(self.arrow3, (50, 50))
        self.original_arrow3 = self.arrow3
Esempio n. 25
0
    def __init__(self):
        Menu.__init__(self, 'CREDITS')
        self.back_button = Button(
            (SETTINGS.canvas_actual_width / 2, 500, 200, 60), "BACK")

        #Created by
        self.createdby = TEXT.Text(0, 0, 'CREATED  BY', SETTINGS.LIGHTGRAY,
                                   "DUGAFONT.ttf", 24)
        self.createdby.update_pos((SETTINGS.canvas_actual_width / 2) -
                                  (self.createdby.layout.get_width() / 2) + 8,
                                  130)

        self.maxwellsalmon = TEXT.Text(0, 0, 'HakermanOfficial',
                                       SETTINGS.DARKGRAY, "DUGAFONT.ttf", 38)
        self.maxwellsalmon.update_pos(
            (SETTINGS.canvas_actual_width / 2) -
            (self.maxwellsalmon.layout.get_width() / 2) + 8, 160)

        #Music
        self.musicby = TEXT.Text(0, 0, 'MUSIC  BY', SETTINGS.LIGHTGRAY,
                                 "DUGAFONT.ttf", 20)
        self.musicby.update_pos((SETTINGS.canvas_actual_width / 2) -
                                (self.musicby.layout.get_width() / 2) + 8, 210)

        self.eli = TEXT.Text(0, 0, 'HUD-LUM @ SOUNDCLOUD', SETTINGS.DARKGRAY,
                             "DUGAFONT.ttf", 30)
        self.eli.update_pos((SETTINGS.canvas_actual_width / 2) -
                            (self.eli.layout.get_width() / 2) + 8, 240)

        #Maps
        self.contributions = TEXT.Text(0, 0, 'THANKS  TO', SETTINGS.LIGHTGRAY,
                                       "DUGAFONT.ttf", 20)
        self.contributions.update_pos(
            (SETTINGS.canvas_actual_width / 2) -
            (self.contributions.layout.get_width() / 2) + 8, 290)

        self.contributors = TEXT.Text(
            0, 0, 'POELE,  OLE,  ROCKETTHEMINIFIG,  ANDY BOY,  J4CKINS',
            SETTINGS.DARKGRAY, "DUGAFONT.ttf", 20)
        self.contributors.update_pos(
            (SETTINGS.canvas_actual_width / 2) -
            (self.contributors.layout.get_width() / 2) + 8, 320)
        self.contributors2 = TEXT.Text(0, 0, 'THEFATHOBBITS,  STARLITEPONY',
                                       SETTINGS.DARKGRAY, "DUGAFONT.ttf", 20)
        self.contributors2.update_pos(
            (SETTINGS.canvas_actual_width / 2) -
            (self.contributors2.layout.get_width() / 2) + 8, 345)

        self.specialthanks = TEXT.Text(
            0, 0,
            'THANKS  TO  THE  PYGAME  COMMUNITY  FOR  HELP  AND NEVER GIVING THIS UP',
            SETTINGS.DARKGRAY, "DUGAFONT.ttf", 15)
        self.specialthanks.update_pos(
            (SETTINGS.canvas_actual_width / 2) -
            (self.specialthanks.layout.get_width() / 2) + 8, 380)

        self.and_you = TEXT.Text(
            0, 0,
            'SPECIAL  THANKS  TO  MAXWELLSALMON  FOR  HELPING  WITH  ALL  THE  TEXTURES  AND  ANIMATIONS!',
            SETTINGS.RED, "DUGAFONT.ttf", 15)
        self.and_you.update_pos((SETTINGS.canvas_actual_width / 3) -
                                (self.and_you.layout.get_width() / 3) + 8, 410)