Changeset 110


Ignore:
Timestamp:
04/12/2012 01:38:51 PM (3 years ago)
Author:
kvigue
Message:

-drawText now parses the string being drawn for new line and color indicators. n for newline, and r for red text.

Location:
Alpha
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • Alpha/constants.py

    r108 r110  
    5454                             self.VICTORY, self.END) = range(4)
    5555        self.DIFFICULTY = (self.EASY, self.MEDIUM, self.HARD) = range(3)
    56         self.INTROTEXT = [["Level 0 Puzzle 0 INTRO",
     56        self.INTROTEXT = [["This is all [[r]]placeholder[[\\r]] text\\nbut hopefully we'll have real text someday!\\n\\nThe goal of this game is to create the Goal Number\\nat the top by toggling the binary digits at the\\nbottom!",
    5757                           "Level 0 Puzzle 1 INTRO",
    5858                           None],
     
    6464                           "Level 2 Puzzle 2 INTRO"]]
    6565
    66         self.ENDTEXT = [["Level 0 Puzzle 0 END",
     66        self.ENDTEXT = [["Hooray for [[r]]t[[\\r]]e[[r]]s[[\\r]]t[[r]]i[[\\r]]n[[r]]g[[\\r]]!!!",
    6767                         "Level 0 Puzzle 1 END",
    6868                         None],
  • Alpha/graphics.py

    r105 r110  
    4848    def drawText(self, text, x, y, textSize, color, drawpos="left"):
    4949        """draws a string"""
    50         text = pygame.font.Font(None, textSize).render(text, 1, color)
    51         textRect = text.get_rect()
    52        
    53         if drawpos == "right":
    54             x += -textRect.right
    55         elif drawpos == "center":
    56             x += -textRect.centerx
    57             y += -textRect.centery
    58         globalVars.screen.blit(text, (x,y))
     50        if text != "":
     51            textLines = []
     52            line = ""
     53            while text != "":
     54                if text[0] == "\\" and text[1] == "n":
     55                    text = text[2:]
     56                    textLines.append(line)
     57                    line = ""
     58                else:
     59                    line += text[0]
     60                    text = text[1:]
     61
     62            textLines.append(line)
     63            prevLineHeight = 0
     64            for line in textLines:
     65                lineChunks = []
     66                lineChunk = ""
     67                textColor = color
     68                while line != "":
     69                    if line[0:5] == "[[r]]":
     70                        lineChunks.append(pygame.font.Font(None, textSize).render(lineChunk, 1, textColor))
     71                        lineChunk = ""
     72                        textColor = pygame.Color("red")
     73                        line = line[5:]
     74                    elif line[0:6] == "[[\\r]]":
     75                        lineChunks.append(pygame.font.Font(None, textSize).render(lineChunk, 1, textColor))
     76                        lineChunk = ""
     77                        textColor = color
     78                        line = line[6:]
     79                    else:
     80                        lineChunk += line[0]
     81                        line = line[1:]
     82                lineChunks.append(pygame.font.Font(None, textSize).render(lineChunk, 1, textColor))
     83                y += prevLineHeight
     84                prevLineChunkWidth = 0
     85                originalx = x
     86                for lineChunk in lineChunks:
     87                    textRect = lineChunk.get_rect()
     88                    x += prevLineChunkWidth
     89                    prevLineChunkWidth = textRect.width
     90                    prevLineHeight = textRect.height
     91                    if drawpos == "right":
     92                        x += -textRect.right
     93                    elif drawpos == "center":
     94                        x += -textRect.centerx
     95                        y += -textRect.centery
     96                    globalVars.screen.blit(lineChunk, (x,y))
     97                x = originalx
    5998
    6099    def drawImage(self, imageName, pos):
  • Alpha/scores.txt

    r109 r110  
    44p2
    55S'Survival'
    6 p3
    7 tp4
     6tp3
     7a(I782593
     8S'Kevin'
     9p4
     10S'Story'
     11p5
     12tp6
     13a(I64174
     14S'Kevin'
     15p7
     16S'Story'
     17tp8
     18a(I2200
     19g4
     20S'Survival'
     21p9
     22tp10
     23a(I2200
     24g4
     25g9
     26tp11
     27a(I0
     28g4
     29g5
     30tp12
    831a.
Note: See TracChangeset for help on using the changeset viewer.