Changeset 110

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

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

Error: Failed to load processor r
No macro or processor named 'r' found

and

Error: Failed to load processor //r
No macro or processor named '//r' found

for red text.

Location:
Alpha
Files:
3 modified

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.