root/traintris/tutorial.py @ 306

Revision 306, 2.5 KB (checked in by andefodahl, 23 months ago)

fixed the font

Line 
1import pygame
2from constants import *
3from comments import *
4from constants import *
5from graphics import *
6from eventmanager import *
7from button import *
8
9class Tutorial:
10    """ A class that is the wrapper for the tutorial of the game. """
11   
12    def __init__(self, screen, evManager):
13        self.evManager = evManager
14        self.evManager.RegisterListener(self)
15        self.comments = Comments().comments
16        self.counter = 1
17        self.buttonList = []
18        self.screen = screen
19        self.graphics = Graphics(screen)
20        self.buttonList.append(Button("Continue", "menubutton", (195,85), (self.screen.get_width()/2 + 120, self.screen.get_height()/2 + 110), CONSTANTS.CATEGORY))
21        for button in self.buttonList:
22            self.graphics.drawButton(button.text, button.size, button.images, button.mode, button.pos)
23        self.continueTutorial()
24   
25    def continueTutorial(self):
26        string1 = self.comments["tutorial" + str(self.counter)]
27        string2 = self.comments["tutorial" + str(self.counter+1)]
28        if self.counter == 13:
29            string3 = ""
30            string4 = ""
31        else:
32            string3 = self.comments["tutorial" + str(self.counter+2)]
33            string4 = self.comments["tutorial" + str(self.counter+3)]
34        self.graphics.drawDialogBox(string1, string2, string3, string4, pygame.Color("black"))
35        for button in self.buttonList:
36            self.graphics.drawButton(button.text, button.size, button.images, button.mode, button.pos)
37        pygame.display.update()
38       
39   
40    def Notify(self, event):
41        if isinstance(event, MouseClickEvent):
42            for button in self.buttonList:
43                if button.mode != CONSTANTS.DEPRESSED:
44                    if event.x > button.pos[0] and event.x < button.pos[0]+button.size[0] \
45                    and event.y > button.pos[1] and event.y < button.pos[1]+button.size[1] \
46                    and event.type == 'up':
47                        if button.type == CONSTANTS.CATEGORY and self.counter < 11:
48                            self.counter += 4
49                            self.continueTutorial()
50                        elif button.type == CONSTANTS.CATEGORY and self.counter > 10:
51                            ev = TutorialEnd()
52                            self.evManager.Post(ev)
53                        button.mode = CONSTANTS.HOVER
54                    else:
55                        button.mode = CONSTANTS.NEUTRAL
Note: See TracBrowser for help on using the browser.