docPlateau.txt 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442
  1. class Plateau(PyQt4.QtGui.QGraphicsScene)
  2. | plateau de jeu contenant les cases, decors et pions
  3. |
  4. | Method resolution order:
  5. | Plateau
  6. | PyQt4.QtGui.QGraphicsScene
  7. | PyQt4.QtCore.QObject
  8. | sip.wrapper
  9. | sip.simplewrapper
  10. | __builtin__.object
  11. |
  12. | Methods defined here:
  13. |
  14. | __getstate__(self)
  15. |
  16. | __init__(self, fenetre, parent=None)
  17. |
  18. | __setstate__(self, state)
  19. |
  20. | afficheEcranEditionAttaques(self)
  21. | affiche l'ecran d'edition/creation d'attaques
  22. |
  23. | afficheEcranEditionCreatures(self, creature=None)
  24. | affiche l'ecran d'edition/creation de creatures
  25. |
  26. | afficheEcranEditionDecors(self, decor=None)
  27. | affiche l'ecran d'edition/creation de decors
  28. |
  29. | afficheEcranEditionTerrains(self, terrain=None)
  30. | affiche l'ecran d'edition/creation de terrains
  31. |
  32. | afficheEcranGestionCombat(self)
  33. | affiche l'ecran de gestion du combat
  34. |
  35. | afficherChampDeplacement(self, actif)
  36. | cree et affiche ou efface et detruit le champ de deplacement du pion selectionne
  37. |
  38. | afficherListeCases(self, listeCases, actif)
  39. | met ou non en evidence les cases selectionnees
  40. |
  41. | afficherNotesPion(self)
  42. | affiche les notes du pion selectionne dans le QTextEdit dedie
  43. |
  44. | agrandirNotesMjPlateau(self)
  45. | affiche les notes du plateau dans une QDialog, puis recupere les donnees qui y sont saisies
  46. |
  47. | attaqueECCelluleModifiee(self, ligne, colonne)
  48. | une cellule de la liste d'attributs de l'attaque en cours a ete modifiee
  49. |
  50. | caseCliquee(self, x, y)
  51. | on a clique sur la case (clic gauche)
  52. |
  53. | caseMaj(self, coordCase)
  54. | met a jour la case selon le mode actif (et les cases adjacentes selon l'epaisseur du pinceau)
  55. |
  56. | caseSurvol(self, x, y)
  57. | une case est survole par le curseur, on affiche ses informations dans la zone prevue
  58. |
  59. | caseSurvolClicEnfonce(self, coordCase)
  60. | une case est survolee par le curseur (le clic gauche est enfonce)
  61. |
  62. | casesSousForme(self, forme, plein=True, epaisseur=0)
  63. | renvoie la liste des cases en collision avec un QGraphicsItem en parametre
  64. | plein = False: pas le contenu de la forme
  65. | epaisseur = renvoie aussi les cases voisines jusqu'a la distance demandee
  66. |
  67. | chercherCouleur(self)
  68. | ouvre la boite de dialogue de selection de couleur
  69. |
  70. | clicGaucheRelache(self)
  71. | si une forme de selection etait affichee, elle est validee
  72. |
  73. | clicListOrdreJeu(self, ligne, col)
  74. | on a clique dans la liste d'ordre de jeu, le pion correspondant est selectionne et centre sur la carte
  75. |
  76. | connexions(self)
  77. | connecte le plateau aux differents widgets de la fenetre principale
  78. |
  79. | coordCentreListeCases(self, listeCases)
  80. | renvoie les coordonnees centrales d'une liste de cases
  81. |
  82. | coordonneesAuPoint(self, point)
  83. | renvoie les coordonnees de la case situee au QPointF entre en parametre
  84. |
  85. | coordonneesValides(self, coord)
  86. | les coordonnees entrees en parametre sont elles celles d'une case du plateau
  87. |
  88. | creatureEdit(self)
  89. | ouvre la fenetre 'creatures' en mode edition
  90. |
  91. | creatureNouveau(self)
  92. | ouvre la fenetre 'creatures' en mode edition
  93. |
  94. | creer(self, idPlateau, nom, chapitre, formeCases, nbCasesX, nbCasesY, couleur=<PyQt4.QtGui.QColor object>)
  95. | cree le plateau
  96. |
  97. | creerOrigineFormeDessin(self, coord)
  98. | place le point d'origine de la forme de selection
  99. |
  100. | curseurArc(self)
  101. |
  102. | curseurBaguette(self)
  103. |
  104. | curseurEpee(self, valide=True)
  105. |
  106. | curseurGomme(self)
  107. |
  108. | curseurPinceau(self)
  109. |
  110. | curseurSelection(self)
  111. | ########### affichage des curseurs personnalises ########
  112. |
  113. | curseurSeringue(self)
  114. |
  115. | decorEdit(self)
  116. | ouvre la fenetre 'decors' en mode edition
  117. |
  118. | decorNouveau(self)
  119. | ouvre la fenetre 'decors' en mode edition
  120. |
  121. | estCibleAttaqueDistValide(self, coordOrigine, coordCible, zPion=0)
  122. | la case cible est elle valide pour une attaque a distance depuis la position et hauteur
  123. | du pion selectionne? on compare pour ce faire les altitudes des cases sur la ligne de mire
  124. |
  125. | estCree(self)
  126. | renvoie vrai si des cases ont ete creees
  127. |
  128. | fermer(self)
  129. | ferme le plateau 'proprement'
  130. |
  131. | initListeAttaques(self)
  132. | met en forme et connecte la liste des attaques du pion
  133. |
  134. | initListeOrdreJeu(self)
  135. | cree les colonnes et met en forme la table ordre jeu
  136. |
  137. | initialisationGraphique(self)
  138. | cree la scene graphique et les parametres necessaires a son fonctionnement, et met a jour l'interface
  139. |
  140. | keyPressEvent(self, event)
  141. | gestion des evenements clavier
  142. |
  143. | listeAttaquesCelluleCliquee(self, ligne, colonne)
  144. | on a clique sur une cellule de la liste des attaques
  145. |
  146. | listeAttributCelluleModifiee(self, ligne, colonne)
  147. | une cellule de la liste des attributs a ete modifiee
  148. |
  149. | lstCoordAdjacentes(self, x, y)
  150. | renvoie la liste des coordonnees adjacentes, sans condition d'existence sur le plateau
  151. | attention: l'ordre est important
  152. |
  153. | majAffichageCache(self, numCache, afficher=True)
  154. | met a jour l'affichage des cases selon les parametres enregistres pour le cache
  155. |
  156. | majAffichageMenuCache(self)
  157. | un bouton 'cache' a ete clique, on met a jour les infos
  158. |
  159. | majAffichagePionSelectionne(self)
  160. | affiche le nom et le logo du pion actuellement selectionne
  161. |
  162. | majAffichageTour(self)
  163. | met a jour l'affichage du tour en cours
  164. |
  165. | majBoutonsCaches(self)
  166. | met a jour l'affichage et connecte les boutons de caches
  167. |
  168. | majBoutonsCouleursPerso(self)
  169. | met a jour l'affichage des couleurs customisees dans la boite de dialogue de selection de couleur
  170. |
  171. | majCouleurPion(self)
  172. | selectionne une nouvelle couleur
  173. |
  174. | majEpaisseurPinceau(self, epaisseur)
  175. | met a jour l'epaisseur du pinceau (en cases)
  176. |
  177. | majEtatCacheEnCours(self)
  178. | met a jour l'etat (actif ou non) du cache selon l'etat de la case correspondante
  179. |
  180. | majFormeAttaqueZone(self)
  181. | cree la forme de l'attaque de zone
  182. |
  183. | majFormeDessin(self)
  184. | cree/maj la forme utilisee pour selectionner les cases et met a jour la liste des cases selectionnes
  185. |
  186. | majInfosAttaqueEC(self)
  187. | met a jour les infos de l'attaque en cours (selectionnee)
  188. |
  189. | majInfosCase(self, case=None)
  190. | met a jour les informations d'un pion dans la zone prevue
  191. |
  192. | majInfosDecor(self, pionDecor=None)
  193. | met a jour les informations d'un pion dans la zone prevue
  194. |
  195. | majInfosPion(self, pionSurvole=None)
  196. | met a jour les informations d'un pion dans la zone prevue
  197. |
  198. | majLigneMireAttaqueDist(self, coordCible=None)
  199. | met a jour la ligne de mire representant l'attaque a distance
  200. |
  201. | majListCreatures(self)
  202. | mise a jour de la liste des creatures depuis la sauvegarde
  203. |
  204. | majListDecors(self)
  205. | mise a jour de la liste des decors depuis la sauvegarde
  206. |
  207. | majListTerrains(self)
  208. | mise a jour de la liste des terrains depuis la sauvegarde
  209. |
  210. | majListeAttaques(self)
  211. | met a jour la liste des attaques du pion dans le panneau de combat
  212. |
  213. | majListeAttributs(self)
  214. | met a jour la liste des attributs dans le panneau de combat
  215. |
  216. | majListeCases(self, listeCases)
  217. | met a jour les cases dont les coordonnees sont dans la liste
  218. |
  219. | majListeOrdreJeu(self)
  220. | met a jour la liste des pions infoOrdreJeu
  221. |
  222. | majListesPions(self, numPion=None)
  223. | met a jour les listes contenant des donnees liees aux pions
  224. |
  225. | majMode(self, mode='standard', param=None)
  226. | modifie ou reinitialise le type d'interaction avec le plateau
  227. |
  228. | majModeAffichage(self, index)
  229. | met a jour le mode d'affichage
  230. |
  231. | majModeCombat(self, mode='')
  232. | met a jour le mode de combat actif pour le pion selectionne
  233. |
  234. | majModeCombatAttaqueCaC(self)
  235. | active le mode de combat 'corps-a-corps'
  236. |
  237. | majModeCombatAttaqueDist(self)
  238. | active le mode de combat 'attaque a distance'
  239. |
  240. | majModeCombatDeplacement(self)
  241. | active le mode de combat 'deplacement' (mode standard)
  242. |
  243. | majModeCombatZone(self)
  244. |
  245. | majModeCombatZoneForme(self)
  246. |
  247. | majModeDefinirEntree(self)
  248. |
  249. | majModeDefinirSortie(self)
  250. |
  251. | majModeForme(self)
  252. | met a jour la forme utilisee pour la peinture
  253. |
  254. | majModePionSupprimer(self)
  255. | enclenche le mode suppression de pions sur clic gauche (creatures ou decors)
  256. |
  257. | majModeZonePlacement(self)
  258. |
  259. | majNotesAttaqueEC(self)
  260. | met a jour les notes de l'attaque en cours (selectionnee)
  261. |
  262. | majNotesPion(self)
  263. | les notes du pion ont ete mises a jour
  264. |
  265. | majNotesPlateau(self)
  266. | les notes du plateau ont ete maj a l'ecran
  267. |
  268. | majOrdreJeu(self)
  269. | met a jour l'ordre de jeu des pions en fonction de l'attribut prevu par les regles s'il existe,
  270. | ou en fonction de l'ordre de jeu parametre sinon
  271. |
  272. | majProjectionAttaqueCaC(self, pionCible)
  273. | affiche ou non la cible de l'attaque au corps a corps, selon sa validite ou non
  274. |
  275. | majProjectionPosition(self, activer, z=0)
  276. | maj l'affichage de la projection de la position d'un objet avant creation ou deplacement (pion, decor...)
  277. |
  278. | majZPion(self, valeur)
  279. | met a jour l'altitude du pion selectionne
  280. |
  281. | majZoneAttaqueCaC(self, actif=True)
  282. | affiche ou non les cases a portee du pion selectionne pour une attaque au corps-a-corps
  283. |
  284. | majZonePlacement(self, listeCases)
  285. | met a jour la forme et l'affichage de la zone de placement initale des joueurs
  286. |
  287. | materialiserPions(self, actif)
  288. | avtive/desactive la reception par les pions (autres que le pion selectionne) des hover events
  289. |
  290. | modeCaseEffet(self)
  291. | enclenche le mode de mise a jour de l'ffet actif des cases
  292. |
  293. | modeCopieTerrain(self)
  294. | enclenche le mode copie de case
  295. |
  296. | modeCreationCreaturePion(self, ligne, col)
  297. | enclenche le mode de creation de pions depuis la liste des creatures
  298. |
  299. | modeCreationDecor(self, ligne, col)
  300. | enclenche le mode de creation de decors depuis la liste des decors
  301. |
  302. | modeCreationPion(self)
  303. | enclenche le mode de creation de pions simples
  304. |
  305. | modeMajAltitudeCase(self)
  306. |
  307. | modeMajTerrainCase(self, ligne, col)
  308. | enclenche le mode permettant la mise a jour du terrain des cases
  309. |
  310. | modePeintureCase(self)
  311. | enclenche le mode peinture de case a partir de la couleur selectionnee
  312. |
  313. | modePeintureCase_perso(self)
  314. |
  315. | mouseMoveEvent(self, event)
  316. |
  317. | mousePressEvent(self, event)
  318. |
  319. | mouseReleaseEvent(self, event)
  320. |
  321. | numeroterNom(self, nom)
  322. | renvoie le nom du pion avec un numero complementaire si necessaire
  323. |
  324. | pionClique(self, numPion)
  325. | on a clique sur ce pion
  326. |
  327. | pionCreer(self, coordCase)
  328. | creer un jeton aux coordonnees indiquees
  329. |
  330. | pionDecorCreer(self, coordCase)
  331. | creer un jeton aux coordonnees indiquees
  332. |
  333. | pionDecorSaisir(self, numPionDecor)
  334. | on saisit un pion decor (mode creation seulement)
  335. |
  336. | pionDecorSelectionne(self)
  337. | renvoie le pion actuellement selectionne
  338. |
  339. | pionDecorSupprimer(self, num)
  340. | supprime le pion entre en parametre
  341. |
  342. | pionDecorSurvol(self, numPionDecor)
  343. | le pion-decor est survole par le curseur, on affiche ses informations dans la zone prevue
  344. |
  345. | pionDeplacerDansOrdreJeu(self, numPion, nouvellePosition)
  346. | deplace un pion dans le dictionnaire gerant l'ordre de jeu de maniere a assurer sa coherence
  347. | nouvellePosition = 0 supprime le pion de la liste
  348. |
  349. | pionDeposer(self, coordCase)
  350. | on depose le pion sur la case voulue
  351. |
  352. | pionDoubleClic(self, numPion)
  353. | on a double-clique sur le pion
  354. |
  355. | pionSaisir(self, numPion)
  356. | on saisit un pion
  357. |
  358. | pionSelectionne(self)
  359. | renvoie le pion actuellement selectionne
  360. |
  361. | pionSuivant(self)
  362. | selection du pion suivant dans la liste d'ordre de jeu
  363. |
  364. | pionSupprimer(self, num)
  365. | supprime le pion entre en parametre
  366. |
  367. | pionSurCase(self, coord)
  368. | renvoie le pion present sur la case, none sinon
  369. |
  370. | pionSurvol(self, numPion)
  371. | le pion est survole par le curseur, on affiche ses informations dans la zone prevue
  372. |
  373. | pionsSurListeCase(self, listeCases)
  374. | renvoie la liste des pions presents sur la liste de cases
  375. |
  376. | placerCacheEnCours(self)
  377. | active le mode de mise a jour de la liste des cases cachees par ce cache
  378. |
  379. | plateauModeCombat(self)
  380. |
  381. | plateauModeCreation(self)
  382. | ##### activation des differents modes d'interaction avec le plateau et mises a jour des principaux parametres #######
  383. |
  384. | polygoneAgglo(self, listeCases)
  385. | renvoie un polygone contruit par agglomeration des polygones des cases de la liste
  386. | les cases doivent etre adjacentes (cases hexagonales ou carrees)
  387. |
  388. | polygoneCone(self, point1, point2)
  389. | renvoie le polygone du cone defini par les deux points (origine, distance)
  390. |
  391. | preSelectionCollision(self, point1, point2)
  392. | renvoie une liste des cases qui peuvent etre concernees par une collision avec
  393. | un graphicsItem (pour des raisons de performance)
  394. |
  395. | recreer(self, fenetre)
  396. |
  397. | rectEllipseCirculaire(self, centre, rayon)
  398. | renvoie le QRectF definissant une ellipse ayant le QPointF pour centre et le rayon en cases entres en param
  399. | attention: l'ellipse n'est pas tout a fait circulaire, elle couvre horizontalement et
  400. | verticalement le nombre de cases demandees
  401. |
  402. | rectFormeDessin(self, point1, point2)
  403. | retourne le rectangle repesentant la forme de selection
  404. | determine pour ce faire les points A et B, cad le point haut-droit et le point bas-gauche
  405. |
  406. | reinitAttaqueZone(self)
  407. |
  408. | selectionFrontiere(self)
  409. | retourne les cases selectionnees lors de l'utilisation de la forme 'frontiere'
  410. |
  411. | terrainEdit(self)
  412. | ouvre la fenetre 'terrains' en mode edition
  413. |
  414. | terrainNouveau(self)
  415. | ouvre la fenetre 'terrains' en mode edition
  416. |
  417. | utiliserAttaque(self, numAttaque)
  418. | le pion selectionne utilise son attaque n
  419. |
  420. | validerAttaqueDist(self)
  421. | on essaie de valider une attaque a distance vers un pion ou une case
  422. |
  423. | validerAttaqueZone(self)
  424. | l'attaque de zone est validee
  425. |
  426. | validerFormeDessin(self)
  427. | la projection des cases a peindre a ete acceptee, on peint ces cases
  428. |
  429. | voirCacheEnCours(self)
  430. | centre la vue sur et met en evidence le cache actif
  431. |
  432. | wheelEvent(self, event)
  433. | zoom/dezoom avec la molette de la souris
  434. |
  435. | zone(self, origine, distance, z=0, conditionFranchissable=False, conditionVisible=False)
  436. | renvoie un dictionnaire representant la liste des coordonnees des cases comprises dans la zone
  437. | la zone en question est la liste des cases situees a une distance d des coordonnees d'origine
  438. | z = 0 -> hauteur z de l'origine par rapport a l'altitude de la case
  439. | conditionFranchissable = Vrai -> les cases infranchissables ne sont pas prises en compte
  440. | conditionVisible = Vrai -> les cases bloquant la visibilite ne sont pas prises en compte
  441. | [cf methode A* (A-star)]
  442. |