Back to index

freevial  1.2
Public Member Functions | Public Attributes
score.Score Class Reference

List of all members.

Public Member Functions

def __init__
def barra_pos
def show_end_screen
def juguem

Public Attributes

 game
 help_overlay
 help_on_screen
 score_color_text
 score_mida_text
 score_fons
 score_mascara_de_fons
 score_element
 score_element_sel
 score_element_sobre
 score_element_sel_offsetx
 score_element_sel_offsety
 score_teams_offsetx
 score_teams_offsety
 score_resultat_visible
 score_figureta_visible
 score_figureta_mode
 score_figureta_mascara
 score_figureta_offsetx
 score_figureta_offsety
 score_figureta_individual_pos
 score_figureta_show_hide
 score_so_sub
 score_so_sub_vol
 score_so_sub2
 score_so_sub2_vol
 score_ok
 score_ok_vol
 score_locked
 score_locked_pos
 score_so_de_fons
 score_so_de_fons_vol
 score_desplaca_el_fons
 score_ones_al_fons
 score_caixes
 show_corrects
 corrects_coord
 total_corrects
 final_stats
 ypos
 mou_fons
 figureta
 mascara_de_fons
 fons
 element_score
 seleccio_score
 so_sub
 so_sub2
 so_ok
 sfc_llum
 correct_done_image
 correct_notdone_image
 sfc_cursor

Detailed Description

Definition at line 42 of file score.py.


Constructor & Destructor Documentation

def score.Score.__init__ (   self,
  game 
)

Definition at line 44 of file score.py.

00044 
00045        def __init__( self, game ):
00046               
00047               self.game = game
00048               game.skin.set_domain( 'score' )           
00049               
00050               self.help_overlay = createHelpScreen( 'score' )
00051               
00052               self.help_on_screen = helpOnScreen( HOS_SCORE_MODE0 )
00053               
00054               self.score_color_text = game.skin.configGetRGB( 'color_text' )
00055               self.score_mida_text = game.skin.configGetInt( 'mida_text')
00056               
00057               self.score_fons = game.skin.configGet( 'background')
00058               self.score_mascara_de_fons = game.skin.configGet( 'background_mask')
00059               self.score_element = game.skin.configGet( 'element')
00060               self.score_element_sel = game.skin.configGet( 'sel_element')
00061               self.score_element_sobre = game.skin.configGet( 'element_sobre')
00062               self.score_element_sel_offsetx = game.skin.configGetInt( 'sel_element_offsetx')
00063               self.score_element_sel_offsety = game.skin.configGetInt( 'sel_element_offsety')
00064               self.score_teams_offsetx = game.skin.configGetInt( 'teams_offsetx')
00065               self.score_teams_offsety = game.skin.configGetInt( 'teams_offsety')
00066               self.score_resultat_visible = game.skin.configGet( 'resultat_visible')
00067               self.score_figureta_visible = game.skin.configGet( 'figureta_visible') 
00068               self.score_figureta_mode = game.skin.configGet( 'figureta_mode') # 0 - del 0 al 63 combinacions 1 - del 0 al 5 figures individuals
00069               self.score_figureta_mascara = game.skin.configGet( 'figureta_mask')
00070               
00071               self.score_figureta_offsetx = game.skin.configGetInt( 'figureta_offsetx')
00072               self.score_figureta_offsety = game.skin.configGetInt( 'figureta_offsety')
00073               
00074               self.score_figureta_individual_pos = game.skin.configGetEval( 'figureta_individual_pos' )
00075               
00076               self.score_figureta_show_hide = game.skin.configGet( 'figureta_show_hide') # 0 - Es mostren les parts aconseguides, 1 - S'amaguen les parts aconseguides
00077               
00078               self.score_so_sub = game.skin.configGet( 'sub_sound')
00079               self.score_so_sub_vol = game.skin.configGet( 'sub_sound_vol')
00080               self.score_so_sub2 = game.skin.configGet( 'sub_sound2')
00081               self.score_so_sub2_vol = game.skin.configGet( 'sub_sound2_vol')
00082               
00083               self.score_ok = game.skin.configGet( 'ok')
00084               self.score_ok_vol = game.skin.configGet( 'ok_vol')
00085               
00086               self.score_locked = game.skin.configGet( 'locked')
00087               self.score_locked_pos = (game.skin.configGetInt( 'locked_pos_X'),game.skin.configGetInt( 'locked_pos_Y'))
00088               
00089               self.score_so_de_fons = game.skin.configGet( 'background_sound')
00090               self.score_so_de_fons_vol = game.skin.configGet( 'background_sound_vol')
00091 
00092               self.score_desplaca_el_fons = game.skin.configGet( 'move_background') # True o False = no hi ha scroll vertical
00093               self.score_ones_al_fons = game.skin.configGet( 'background_waves') # True o False = quiet
00094               
00095               
00096               self.score_caixes = game.skin.configGetEval( "boxes_coord" )
00097               
00098               self.show_corrects = game.skin.configGetBool( "show_corrects" )
00099               if self.show_corrects:
00100                      self.corrects_coord = game.skin.configGetEval( "corrects_coord" )
00101                      self.total_corrects = game.skin.configGetInt( "total_corrects" )
00102               
00103               self.final_stats = game.skin.configGetBool( "final_stats" )
00104               
00105               #------------------------------------------
00106               
00107               self.ypos = 0
00108               self.mou_fons = 0
00109               #-----------------------------------------------
00110               
00111               self.figureta = game.skin.LoadImageRange( 'figureta_mask', 64, 2)            
00112        
00113               self.mascara_de_fons = game.skin.LoadImage( 'background_mask' )
00114               self.fons = game.skin.LoadImage( 'background' )
00115               self.element_score = game.skin.LoadImage( 'element' )
00116               self.seleccio_score = game.skin.LoadImage( 'sel_element' )
00117               self.so_sub = game.skin.LoadSound( 'sub_sound', 'sub_sound_vol' )
00118               self.so_sub2 = game.skin.LoadSound( 'sub_sound2', 'sub_sound2_vol' )
00119               self.so_ok = game.skin.LoadSound( 'ok', 'ok_vol' )
00120               self.sfc_llum = game.skin.LoadImage( 'locked' )
00121               
00122               if self.show_corrects:
00123                      self.correct_done_image = game.skin.LoadImage( 'correct_done_image' ) if game.skin.configGet( "correct_done_image" ) != "" else None
00124                      self.correct_notdone_image = game.skin.LoadImage( 'correct_notdone_image' ) if game.skin.configGet( "correct_notdone_image" ) != "" else None
00125               
00126               self.sfc_cursor = game.skin.render_text( "_", (self.score_color_text), self.score_mida_text, 1)
       

Member Function Documentation

def score.Score.barra_pos (   self,
  total,
  posicio,
  color,
  ample,
  alt 
)

Definition at line 127 of file score.py.

00127 
00128        def barra_pos( self, total, posicio, color, ample, alt ):
00129 
00130               sfc = pygame.Surface( ( ample, alt), pygame.SRCALPHA, 32 )
00131               pygame.draw.rect(sfc, color, (0,0,ample-1,alt-1), 2)
00132 
00133               ample_rect = ample - 8
00134 
00135               pygame.draw.rect(sfc, (color[0], color[1], color[2], 64), (4, 4, ample_rect, alt - 8))
00136               if total != 0 and posicio != 0: 
00137                      pos_ample = ( posicio * ample_rect ) / total 
00138                      pygame.draw.rect(sfc, color, (4, 4, pos_ample, alt - 8))
00139 
00140               return sfc
       

Here is the caller graph for this function:

def score.Score.juguem (   self)

Definition at line 157 of file score.py.

00157 
00158        def juguem( self ):
00159               
00160               self.game.skin.set_domain( 'score' )
00161               frate = frameRate( Global.fps_limit )
00162               
00163               waitForMouseRelease( )
00164               
00165               self.game.screen.fill( (0,0,0,0) )
00166               
00167               ypos = escriu = atzar = mou_fons = mostra_ajuda = mostra_credits = show_stats = 0
00168               element_seleccionat = self.game.current_team
00169               nou_grup = 1 if ( teamsActius( self.game.teams ) == 0 ) else 0
00170               
00171               # Modes: 0 (choosing teams), 1 (playing),  2 (game ended)
00172               mode = 1
00173               
00174               if nou_grup: mode = 0
00175               if self.game.skin.teamsGuanyador( self.game.teams ) != -1: 
00176                      mode = 2
00177                      show_stats = 1
00178                      element_seleccionat = self.game.skin.teamsGuanyador( self.game.teams )
00179                      self.so_ok.play()
00180               else:
00181                      self.game.skin.LoadSound( 'background_sound', 'background_sound_vol', music = 1 ).play( -1 )
00182               
00183               surten = 0
00184               mostrada_victoria = False
00185               
00186               self.help_on_screen.activitat()
00187               
00188               while 1:
00189                      
00190                      if mode == 2:
00191                             if frate.segons() < 4.1 and int(frate.segons()) > surten:
00192                                    surten = int( frate.segons() )
00193                                    self.so_ok.play(1)
00194 
00195                             if frate.segons() > 4.1 and not mostrada_victoria:
00196                                    self.show_end_screen()
00197                                    mostrada_victoria = True
00198                      
00199                      # Event iterator
00200                      for event in pygame.event.get():
00201                             
00202                             eventhandle = EventHandle(event)
00203                             if eventhandle.handled: continue
00204                             
00205                             self.help_on_screen.activitat(event)
00206                             
00207                             if eventhandle.keyUp('F1') or (not escriu and eventhandle.keyUp('h')):
00208                                    mostra_ajuda ^= 1
00209                                    mostra_credits = 0
00210                             
00211                             if eventhandle.keyDown('F2'):
00212                                    mostra_credits ^= 1
00213                                    mostra_ajuda = 0
00214                             
00215                             if escriu and not mostra_ajuda and not mostra_credits:
00216                             
00217                                    if eventhandle.isClick('primary') or eventhandle.keyUp('RETURN', 'ESCAPE', 'KP_ENTER'):
00218                                           escriu = 0
00219                                           if self.game.teams[element_seleccionat].nom == '' and eventhandle.isKey('ESCAPE'):
00220                                                  self.game.teams[element_seleccionat].actiu = 0
00221                                    
00222                                    elif eventhandle.isDown():
00223                                           
00224                                           if eventhandle.isKey('BACKSPACE'):
00225                                                  if len(self.game.teams[element_seleccionat].nom) > 0:
00226                                                         newname = self.game.teams[element_seleccionat].nom[:-1]
00227                                           else:
00228                                                  newname = self.game.teams[element_seleccionat].nom + eventhandle.str()
00229                                           
00230                                           if newname != None:
00231                                                  sfc = self.game.skin.render_text( newname, (self.score_color_text), self.score_mida_text, 1)
00232                                                  
00233                                                  if sfc.get_width() < 340:
00234                                                         # Name isn't too long, accept the new character
00235                                                         self.game.teams[element_seleccionat].nom = newname
00236                                                         self.game.teams[element_seleccionat].sfc_nom = sfc
00237                             
00238                             else:
00239                                    
00240                                    if eventhandle.keyUp('q', 'ESCAPE'):
00241                                           if not mostra_ajuda and not mostra_credits:
00242                                                  if not Global.LOCKED_MODE:
00243                                                         if fesPregunta( self.game.screen , valorText( HOS_QUIT ), (valorText( HOS_YES ), valorText( HOS_NO )), color = self.game.skin.configGetRGB( "game_question_color", "game" ) ) == 0:
00244                                                                if not Global.MUSIC_MUTE:
00245                                                                       pygame.mixer.music.fadeout( 500 )
00246                                                                       pygame.time.wait( 500 )
00247                                                                return -1
00248                                           else:
00249                                                  mostra_ajuda = mostra_credits = 0
00250                                    
00251                                    if mode == 0:
00252                                           
00253                                           if eventhandle.keyUp('RIGHT', 'LEFT'):
00254                                                  element_seleccionat += 1 if (0 == (element_seleccionat % 2)) else -1 
00255                                                  self.so_sub.play()
00256                                           
00257                                           if eventhandle.keyUp('DOWN'): 
00258                                                  element_seleccionat = (element_seleccionat + 2) % self.game.skin.configGetInt( "max_teams", "game" )
00259                                                  self.so_sub.play()
00260                                           
00261                                           if eventhandle.keyUp('UP'): 
00262                                                  element_seleccionat = (element_seleccionat - 2) % self.game.skin.configGetInt( "max_teams", "game" )
00263                                                  self.so_sub.play()
00264                                           
00265                                           if eventhandle.keyUp('a'):
00266                                                  nou_grup = 1
00267                                           
00268                                           if eventhandle.keyUp('n'):
00269                                                  if self.game.teams[element_seleccionat].actiu:
00270                                                         escriu ^= 1
00271                                                  else:
00272                                                         nou_grup = 1
00273                                           
00274                                           if eventhandle.keyUp('PAGEDOWN') and teamsActius( self.game.teams ) >= 1:
00275                                                  element_seleccionat = seguentEquipActiu( self.game.teams, element_seleccionat )
00276                                                  self.so_sub.play()
00277                                           
00278                                           if eventhandle.keyUp('PAGEUP') and teamsActius( self.game.teams ) >= 1:
00279                                                  element_seleccionat = anteriorEquipActiu( self.game.teams, element_seleccionat )
00280                                                  self.so_sub.play() 
00281                                           
00282                                           if eventhandle.keyUp('r') and teamsActius( self.game.teams ) > 0:
00283                                                  atzar = randint(15, 50)
00284                                                  mode = 1
00285                                    
00286                                    if eventhandle.keyUp('z'): 
00287                                           if self.game.teams[element_seleccionat].actiu:
00288                                                  self.game.teams[element_seleccionat].punts += 1
00289                                    
00290                                    if eventhandle.keyUp('x'): 
00291                                           if self.game.teams[element_seleccionat].actiu and self.game.teams[element_seleccionat].punts > 0:
00292                                                  self.game.teams[element_seleccionat].punts -= 1
00293                                    
00294                                    if self.game.teams[element_seleccionat].actiu:
00295                                           for num in range(1, 7):
00296                                                  if eventhandle.keyUp(str(num), 'KP' + str(num)):
00297                                                         self.game.teams[element_seleccionat].canviaCategoria( num-1 )
00298                                    
00299                                    if eventhandle.isClick('primary') or eventhandle.keyUp('RETURN', 'SPACE', 'KP_ENTER'):
00300 
00301                                           if mode == 1:
00302                                                  if not Global.MUSIC_MUTE:
00303                                                         pygame.mixer.music.fadeout( 2000 )
00304                                                  return element_seleccionat
00305 
00306                                           elif mode == 0:
00307                                                  if self.game.teams[element_seleccionat].actiu and eventhandle.keyUp('SPACE') :
00308                                                         atzar = int( randint(25, 60) )
00309                                                         mode = 1
00310                                                  else:
00311                                                         if self.game.teams[element_seleccionat].actiu: escriu ^= 1
00312                                                         else: nou_grup = 1
00313                                           else:
00314                                                  if fesPregunta( self.game.screen , valorText( HOS_NEW_GAME ), (valorText( HOS_YES ), valorText( HOS_NO )), color = self.game.skin.configGetRGB( "game_question_color", "game" )) == 0:
00315                                                         mode = 0
00316                                                         show_stats = 0 
00317                             
00318                                                         for equip in self.game.teams:
00319                                                                for num in range(0, 6): 
00320                                                                       equip.preguntes_tot[num] = 0
00321                                                                       equip.preguntes_ok[num] = 0
00322                                                                equip.punts = 0
00323                                                                equip.figureta = 0                        
00324                                    
00325                                    if eventhandle.keyUp('s'): 
00326                                           show_stats ^= 1
00327                                    
00328                                    if eventhandle.keyUp('m'):
00329                                           replaceModes = {
00330                                                         0: 1,
00331                                                         1: 0,
00332                                                         2: 1,
00333                                                  }
00334                                           mode = replaceModes[ mode ]
00335 
00336                                    if eventhandle.keyUp('e') and not Global.LOCKED_MODE :
00337                                           self.show_end_screen( startsound = True )
00338                                           mostrada_victoria = True
00339                                    
00340                                    if eventhandle.keyUp('l'): 
00341                                           Global.LOCKED_MODE = (not Global.LOCKED_MODE)
00342 
00343                                    if eventhandle.keyUp('k', 'F3', 'F5') and mode == 0:
00344                                           selcat = SelCat( self.game )
00345                                           selcat.juguem( mode )
00346 
00347                      if nou_grup == 1:
00348                             self.so_sub.play()
00349                             nou_grup = 0
00350                             self.game.teams[element_seleccionat].actiu ^= 1
00351                             if self.game.teams[element_seleccionat].actiu and self.game.teams[element_seleccionat].nom == "": escriu ^= 1
00352 
00353                      if atzar != 0 and teamsActius( self.game.teams ) >= 2:
00354                             element_seleccionat = seguentEquipActiu( self.game.teams, element_seleccionat )
00355                             atzar -= 1
00356                             self.so_sub2.play()
00357                      else:
00358                             atzar = 0
00359                      
00360                      if self.score_desplaca_el_fons != "False":
00361                             # Animem el fons
00362                             self.ypos += 1
00363                             self.ypos %= Global.screen_y
00364                      
00365                      xpinta = 0
00366                      
00367                      if self.score_ones_al_fons:
00368                             self.mou_fons += 8
00369                             
00370 
00371                      # Pintem el fons animat
00372                      for num in range(0, 768):
00373                             
00374                             if self.score_ones_al_fons:
00375                                    xpinta = cos((float(self.mou_fons +num)) / 100.0) * 20
00376                      
00377                             self.game.screen.blit( self.fons, (xpinta, num), (0, (self.ypos + num) % 768, 1024, 1) )
00378                      
00379                      self.game.screen.blit( self.mascara_de_fons, (0, 0) )
00380                      # pintem les puntuacions
00381 
00382                      for num in range(0, Global.game.max_teams):
00383                             ycaixa = self.score_caixes[num][1]
00384                             xcaixa = self.score_caixes[num][0]
00385 
00386                             if element_seleccionat == num and self.score_element_sobre != "True":
00387                                    for compta in range( 0, self.seleccio_score.get_height() ):
00388                                           desp = 0 if not mode else ( cos( frate.segons() * 10.0 + (float(compta)/10.0) ) * 2.0 )
00389                                           self.game.screen.blit( self.seleccio_score, (xcaixa + self.score_element_sel_offsetx + desp, ycaixa + self.score_element_sel_offsety + compta), (0,compta, self.seleccio_score.get_width(),1) )
00390 
00391                             
00392                             if self.game.teams[num].actiu:
00393                                    
00394                                    self.game.screen.blit( self.element_score, (xcaixa, ycaixa ) )
00395                                    
00396                                    if self.score_figureta_visible == 'True':
00397                                           self.game.screen.blit( self.figureta[self.game.teams[num].figureta], (xcaixa + self.score_figureta_offsetx, ycaixa + self.score_figureta_offsety ) )
00398 
00399                                    if self.game.teams[num].sfc_nom:
00400                                           self.game.screen.blit( self.game.teams[num].sfc_nom, (xcaixa + self.score_teams_offsetx , ycaixa + self.score_teams_offsety ) )
00401                                    ampletext = self.game.teams[num].sfc_nom.get_width() if self.game.teams[num].sfc_nom else 0
00402                                    if escriu and num == element_seleccionat:
00403                                           if (int(time.time() * 4) % 2) == 0: 
00404                                                  self.game.screen.blit( self.sfc_cursor, (xcaixa + self.score_teams_offsetx + ampletext, ycaixa + self.score_teams_offsety )) 
00405                                                  
00406                                    color = (128,0,0) if (maxPunts(self.game.teams) > self.game.teams[num].punts ) else (0,128,0)
00407                                    pinta = self.game.skin.render_text( str(self.game.teams[num].punts).zfill(2), color, 150, 1)
00408                                    if self.score_resultat_visible == 'True':
00409                                           self.game.screen.blit( pinta, (xcaixa + 200, ycaixa - 15) )
00410 
00411                                    if show_stats and self.final_stats:
00412                                           for cat in range(0,6):
00413                                                  self.game.screen.blit( self.barra_pos( self.game.teams[num].preguntes_tot[cat], self.game.teams[num].preguntes_ok[cat],  colorsCategories()[cat], 50, 14 ), (xcaixa + 140, ycaixa + 21 + cat * 16) )
00414                             
00415                                    
00416                                    if self.show_corrects:
00417                                           for compta in range(0, self.total_corrects):
00418                                                  if self.game.teams[num].punts > compta:
00419                                                         if self.correct_done_image != None:
00420                                                                self.game.screen.blit( self.correct_done_image, (xcaixa + self.corrects_coord[compta][0], ycaixa + self.corrects_coord[compta][1] ))
00421                                                  else:
00422                                                         if self.correct_notdone_image != None:
00423                                                                self.game.screen.blit( self.correct_notdone_image, (xcaixa + self.corrects_coord[compta][0], ycaixa + self.corrects_coord[compta][1] ))
00424                                           
00425                             if element_seleccionat == num and self.score_element_sobre == "True":
00426                                    for compta in range( 0, self.seleccio_score.get_height() ):
00427                                           desp = 0 if not escriu else ( cos( frate.segons() * 10.0 + (float(compta)/10.0) ) * 2.0 )
00428                                           self.game.screen.blit( self.seleccio_score, (xcaixa + self.score_element_sel_offsetx + desp, ycaixa + self.score_element_sel_offsety + compta), (0,compta, self.seleccio_score.get_width(),1) )
00429                      
00430                      
00431                      if Global.LOCKED_MODE: 
00432                             self.game.screen.blit( self.sfc_llum, (0, 0) )
00433                      
00434                      if mostra_ajuda: self.game.screen.blit( self.help_overlay, (0,0))
00435                      if mostra_credits: self.game.screen.blit( self.game.sfc_credits, (0,0))
00436                      
00437                      self.help_on_screen.draw( self.game.screen, (350, 740), HOS_SCORE_MODEW if escriu else mode)
00438                      
00439                      frate.next( self.game.screen )
00440                      
00441                      # Exchange self.game.screen buffers
00442                      pygame.display.flip()
00443 
00444               return 0

Here is the call graph for this function:

def score.Score.show_end_screen (   self,
  startsound = False 
)

Definition at line 141 of file score.py.

00141 
00142        def show_end_screen( self, startsound = False ):
00143               
00144               winner_team = self.game.skin.teamsGuanyador( self.game.teams )
00145               
00146               if count_not_empty(Global.game.teams, attr = 'name') == 1:
00147                      winner_team = 1
00148               #######print Global.game.teams, count_not_empty(Global.game.teams, attr = 'name'), winner_team
00149               if winner_team > -1:
00150                      if startsound:
00151                             self.so_ok.play()
00152                      visca = Visca( self.game )
00153                      resultat = visca.juguem( self.game, Global.game.teams[ winner_team ].nom )
00154                      self.game.skin.LoadSound( 'background_sound', 'background_sound_vol', music = 1 ).play( -1 )
00155               else:
00156                      print "\a"
       

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

Definition at line 122 of file score.py.

Definition at line 123 of file score.py.

Definition at line 99 of file score.py.

Definition at line 114 of file score.py.

Definition at line 110 of file score.py.

Definition at line 102 of file score.py.

Definition at line 113 of file score.py.

Definition at line 46 of file score.py.

Definition at line 51 of file score.py.

Definition at line 49 of file score.py.

Definition at line 112 of file score.py.

Definition at line 107 of file score.py.

Definition at line 95 of file score.py.

Definition at line 53 of file score.py.

Definition at line 91 of file score.py.

Definition at line 58 of file score.py.

Definition at line 59 of file score.py.

Definition at line 61 of file score.py.

Definition at line 62 of file score.py.

Definition at line 60 of file score.py.

Definition at line 73 of file score.py.

Definition at line 68 of file score.py.

Definition at line 67 of file score.py.

Definition at line 70 of file score.py.

Definition at line 71 of file score.py.

Definition at line 75 of file score.py.

Definition at line 66 of file score.py.

Definition at line 56 of file score.py.

Definition at line 85 of file score.py.

Definition at line 86 of file score.py.

Definition at line 57 of file score.py.

Definition at line 54 of file score.py.

Definition at line 82 of file score.py.

Definition at line 83 of file score.py.

Definition at line 92 of file score.py.

Definition at line 65 of file score.py.

Definition at line 88 of file score.py.

Definition at line 89 of file score.py.

Definition at line 77 of file score.py.

Definition at line 79 of file score.py.

Definition at line 80 of file score.py.

Definition at line 78 of file score.py.

Definition at line 63 of file score.py.

Definition at line 64 of file score.py.

Definition at line 115 of file score.py.

Definition at line 125 of file score.py.

Definition at line 119 of file score.py.

Definition at line 97 of file score.py.

Definition at line 118 of file score.py.

Definition at line 116 of file score.py.

Definition at line 117 of file score.py.

Definition at line 100 of file score.py.

Definition at line 106 of file score.py.


The documentation for this class was generated from the following file: