Bonjour,
Actuellement en première année d'école d'ingénieur en informatique j'ai pour la fin de l'année un projet à rendre en python.
Pour faire simple il s'agit d'un jeu de Black Box : http://fr.wikipedia.org/wiki/Black_Box_%28jeu%29 (cf. pour les règles).
Nous avons dans la consigne l'obligation de laisser l'utilisateur choisir la taille de la grille dans laquelle il veut jouer.
Pas de soucis jusque là (je précise que je n'ai pour le moment rien codé car la deadline est dans un petit bout de temps).
Seulement en réfléchissant je me suis dis, qui dit choix de l'utilisateur pour la taille de la grille demande par la suite au programme de créer et d'afficher lui même cette grille.
D'un point de vue interne je n'ai pas de soucis il est assez simple de créer une liste à 2 dimensions et d'en gérer son contenu.
Ce qui me pose problème c'est l'indexation des cases.
J'entends par là, comment puis je communiquer au programme (et surtout a pygame) les coordonnées d'une case, pour que l'utilisateur puisse par la suite cliquer et déclencher une action sur cette case ?
Ayant déjà créer quelques jeux en pygame (Mastermind et Morpion) je sais qu'il est possible de définir "à la main" l'emplacement d'une case pour que le programme, lorsque l'utilisateur clique à un endroit, déclenche une action.
C'est d'ailleurs ce que j'avais fait pour mes précédents jeux sachant que pour le morpion je n'avais que 9 cases, il était donc facile d'indexer ces cases au cas par cas via des coordonnés en x et en y.
Le problème ici est, comme je l'ai indiqué dans l'intro de ce post, que je ne saurai pas à l'avance combien il y aura de cases. Je ne pourrai donc pas procéder de cette manière en disant xCase1 = ... , yCase1 = ... etc.
Ma question est donc, comment puis je gérer ma "grille" et les différents événements se passant a l'intérieur sachant que le format de la grille sera variable ?
J'espère que vous aurez réussi à me comprendre.
Merci d'avance,
Zl4T
PS : Je pense que pour mieux saisir le sens de ma question il faut lire les règles du jeu sur wiki.
Partager