Wesly Postado Maio 3, 2010 Denunciar Share Postado Maio 3, 2010 (editado) Eu gostaria que me explicassem melhor (pois os comentarios do codigo não entendo muito) o que cada função faz desse codigo de uma parte de um jogo:#!/usr/bin/env python2.3# -*- coding: utf-8 -*-import pygamefrom pygame.locals import *import os, sys, getoptfrom game import Gamedef usage():"""Imprime informações de uso deste programa."""prog = sys.argv[ 0 ]print "Usage:"print "\t%s [-f|--fullscreen] [-r <XxY>|--resolution=<XxY>]" % progprint# usage()def parse_opts( argv ):"""Pega as informações da linha de comando e retorna"""# Analise a linha de commando usando 'getopt'try:opts, args = getopt.gnu_getopt( argv[ 1 : ],"hfr:",[ "help","fullscreen","resolution=" ] )except getopt.GetoptError:# imprime informacao e saiusage()sys.exit( 2 )options = {"fullscreen": False,"resolution": ( 800, 600 ),}for o, a in opts:if o in ( "-f", "--fullscreen" ):options[ "fullscreen" ] = Trueelif o in ( "-h", "--help" ):usage()sys.exit( 0 )elif o in ( "-r", "--resolution" ):a = a.lower()r = a.split( "x" )if len( r ) == 2:options[ "resolution" ] = rcontinuer = a.split( "," )if len( r ) == 2:options[ "resolution" ] = rcontinuer = a.split( ":" )if len( r ) == 2:options[ "resolution" ] = rcontinue# for o, a in optsr = options[ "resolution" ]options[ "resolution" ] = [ int( r[ 0 ] ), int( r[ 1 ] ) ]return options# parse_opts()def main( argv ):#primeiro vamos verificar que estamos no diretorio certo para conseguir#encontrar as imagens e outros recursos, e inicializar o pygame com as#opcoes passadas pela linha de comandofullpath = os.path.abspath( argv[ 0 ] )dir = os.path.dirname( fullpath )os.chdir( dir )options = parse_opts( argv )game = Game( options[ "resolution" ], options[ "fullscreen" ] )game.loop()# main()# este comando fala para o python chamar o main se estao executando o scriptif __name__ == '__main__':main( sys.argv ) Editado Maio 3, 2010 por quintelab Removida descrição do tópico Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Wesly
Eu gostaria que me explicassem melhor (pois os comentarios do codigo não entendo muito) o que cada função faz desse codigo de uma parte de um jogo:
#!/usr/bin/env python2.3
# -*- coding: utf-8 -*-
import pygame
from pygame.locals import *
import os, sys, getopt
from game import Game
def usage():
"""
Imprime informações de uso deste programa.
"""
prog = sys.argv[ 0 ]
print "Usage:"
print "\t%s [-f|--fullscreen] [-r <XxY>|--resolution=<XxY>]" % prog
print
# usage()
def parse_opts( argv ):
"""
Pega as informações da linha de comando e retorna
"""
# Analise a linha de commando usando 'getopt'
try:
opts, args = getopt.gnu_getopt( argv[ 1 : ],
"hfr:",
[ "help",
"fullscreen",
"resolution=" ] )
except getopt.GetoptError:
# imprime informacao e sai
usage()
sys.exit( 2 )
options = {
"fullscreen": False,
"resolution": ( 800, 600 ),
}
for o, a in opts:
if o in ( "-f", "--fullscreen" ):
options[ "fullscreen" ] = True
elif o in ( "-h", "--help" ):
usage()
sys.exit( 0 )
elif o in ( "-r", "--resolution" ):
a = a.lower()
r = a.split( "x" )
if len( r ) == 2:
options[ "resolution" ] = r
continue
r = a.split( "," )
if len( r ) == 2:
options[ "resolution" ] = r
continue
r = a.split( ":" )
if len( r ) == 2:
options[ "resolution" ] = r
continue
# for o, a in opts
r = options[ "resolution" ]
options[ "resolution" ] = [ int( r[ 0 ] ), int( r[ 1 ] ) ]
return options
# parse_opts()
def main( argv ):
#primeiro vamos verificar que estamos no diretorio certo para conseguir
#encontrar as imagens e outros recursos, e inicializar o pygame com as
#opcoes passadas pela linha de comando
fullpath = os.path.abspath( argv[ 0 ] )
dir = os.path.dirname( fullpath )
os.chdir( dir )
options = parse_opts( argv )
game = Game( options[ "resolution" ], options[ "fullscreen" ] )
game.loop()
# main()
# este comando fala para o python chamar o main se estao executando o script
if __name__ == '__main__':
main( sys.argv )
Editado por quintelabRemovida descrição do tópico
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.