IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Comment rendre ce bout de script plus joli?


Sujet :

Python

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Comment rendre ce bout de script plus joli?
    Bonjour, c'est mon tout premier post, je suis un développeur du dimanche autant dire que mon niveau est plutôt bas...
    Bref, je programme pour un jeu pas tout récent BF2142 et je voudrais rendre ce bout de script plus digeste, je souhaite au final faire en sorte qu'il ne reste qu'un seul drapeau par équipe et que se soit les 2 plus éloignés (ah oui mon script fonctionne bien...) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    g_cP = bf2.objectManager.getObjectsOfType('dice.hfe.world.ObjectTemplate.ControlPoint') #Cette ligne permet d'obtenir tout les drapeaux de la carte appartenant à une des deux équipes ou encore neutre...
    	teamPAC = []
    	teamUE = []
    	for flag in g_cP:
    		teamFlag = int(flag.cp_getParam('flag')) #Permet d'obtenir le numéro de l'équipe possédant le drapeau, 0 = neutre, 1 = PAC, 2 = UE
    		if teamFlag == 1:
    			teamPAC.append(flag) #Le 'flag' est un objet contenant qq données tel que ses coordonnées, son appartenance à une équipe...
    		if teamFlag == 2:
    			teamUE.append(flag)
    	if len(teamUE) > 1 or len(teamPAC) > 1: #Sur certaines cartes il n'y a qu'un seul drapeau par équipe au début, donc le pb n'est pas pour ces cartes là.
    		disPosList = []
    		for flag in teamPAC:
    			pos1 = flag.getPosition()
    			for advFlag in teamUE:
    				disPosList.append([flag,advFlag, getVectorDistance(pos1,advFlag.getPosition())]) #Là j'ajoute dans une liste une autre liste comportant 2 drapeaux adverses et la distance qui les séparent. Je fais ça pour tous les drapeaux.			
    		compList = []
    		for comp in disPosList:
    			compList.append(comp[2])	#Là je crée une autre liste qui ne garde que les distances et ensuite je trie de la plus petites à la plus grande.			
    		compList.sort()
     
    		for comp in disPosList:
    			if compList[-1] in comp:
    				saveThisComp = comp     #Je garde seulement la liste contenant les drapeaux adverses les plus éloignés.
     
    		for flag in g_cP:
    			if flag not in saveThisComp:
    				flag.cp_setParam('team', 0)     #Je rends neutre tout les autres drapeaux.
    				flag.cp_setParam('flag', 0)
    Je sens que je n'ai pas été très clair, mais dur de faire quelques choses de concret et explicite... Je pourrais tenter de m'expliquer autrement si vraiment c'est imbuvable...
    Si comme moi ça vous amuse de perfectionner des scripts, j'attends vos réponses avec impatience! ^^
    Dernière modification par Invité ; 11/02/2014 à 21h35.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD-2003] Formulaire : comment rendre la mise en page plus souple ?
    Par Lucie_ dans le forum Word
    Réponses: 3
    Dernier message: 16/11/2010, 17h02
  2. Comment rendre Shutdown immediate plus rapide ds Oracle9i
    Par mtaleb dans le forum Administration
    Réponses: 3
    Dernier message: 06/05/2009, 10h30
  3. Modifier l'url d'une page perso pour la rendre plus "jolie" ?
    Par bond70 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 10/02/2009, 13h14
  4. comment rendre compatible ce script avec firefox ?
    Par xav20 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 31/07/2007, 18h35
  5. Comment avoir des interfaces Qt plus jolies ?
    Par Tux1 dans le forum PyQt
    Réponses: 3
    Dernier message: 02/10/2006, 13h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo