Forums Développement Multimédia

Aller au contenu

jeux AS3 damier

as3 damier CODE

3 réponses à ce sujet

#1 goeffrey

    Ceinture Blanche

  • Members
  • Pip
  • 9 messages

Posté 20 December 2012 - 09:52 AM

Bonjour je suis débutante en AS3, je dois réaliser un jeu type jeux du serpent. C'est a dire un damier et que je puisse reccuperer les coordonnés de chaques case facilement pour pouvoir faire des opérations sur ces cases par la suite. Pour qu'il soit adaptable à tous les types d'écrans, je ne peux pas les placer en pixels. Je suis un peu perdue pour l'instant, je ne vois pas comment placer mes cases pour pouvoir les rappeler par la suite.
Avez vous une idée de comment je pourrais démarrer ?
Merci d'avance.

#2 Billyben

    KlouChiPonshoñistäs

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 2597 messages

Posté 20 December 2012 - 10:18 AM

Bonjour et bienvenue Goeffrey,

Tu pourra trouver plein d'infoS utiles pour débuter et commencer dans le wiki (notamment beaucoup de chose pour débuter en AS3).

Pour ce que tu nous soumets, quelques liens (tirés du wiki) :

un exercice sur le "snake" par M_SPi

un tuto très complet pour les jeux a base de tuiles par M_Spi

un autre tuto sur un pacman à base de tuiles par Gnicos

N'hésite pas à faire un tour dans la section débuter et jeux pour toute sorte d'informations, ou encore à poser tes questions dans le coin!


Bon courage!

#3 goeffrey

    Ceinture Blanche

  • Members
  • Pip
  • 9 messages

Posté 20 December 2012 - 10:51 AM

Merci pour ces informations, elles me seront utiles pour plus tard je pense.
Par contre je pense que je me suis mal exprimée , j'ai besoins de faire un plateau ou un damier de 8 par 8 cases et je souhaite pouvoir recuperer la position de chacunes des cases et également pouvoir leur donner un nom afin de pouvoir faire avancer un pion dessus.

#4 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 7017 messages

Posté 20 December 2012 - 11:49 AM

Salut,

Citation

j'ai besoins de faire un plateau ou un damier de 8 par 8 cases et je souhaite pouvoir recuperer la position de chacunes des cases

Regarde l'exercice du Taquin ici : http://forums.mediab...ice_-_le_taquin

Tu va y apprendre comment gérer une grille à partir d'un tableau ou d'une liste.
Le principe est simple, tu as une grille de 8*8 cases donc 64 cases.
Tu crée un tableau simple (ou liste) de 64 index.

Pour retrouver la position d'une case dans ta grille tu utilise la formule suivante :

position X = index % 8 * taille d'une case
position Y = valeur entière de (index / 8) * taille d'une case

Pour retrouver l'index d'une case dans ton tableau tu utilise la formule suivante :

index = entier(position X / taille d'une case) + entier(position Y / taille d'une case)*nombre de colonnes par ligne

Tu as une autre solution plus simple pour gérer ta grille, à partir de tableaux à deux dimensions, mais c'est moins propre :

tableauGrille = [
[00,01,02,03,04,05,06,07],
[08,09,10,11,12,13,14,15],
[16,17,18,19,20,21,22,23],
[24,25,26,27,28,29,30,31],
[32,33,34,35,36,37,38,39],
[40,41,42,43,44,45,46,47],
[48,49,50,51,52,53,54,55],
[56,57,58,59,60,61,62,63]
]

Pour retrouver la position d'une case dans la grille :

position Y = tableauGrille[ligneVoulue];
position X = tableauGrille[ligneVoulue][colonneVoulue];

Chaque sous tableau représente une ligne.
Chaque index d'un sous tableau représente une colonne de la ligne.

Citation

et également pouvoir leur donner un nom afin de pouvoir faire avancer un pion dessus.

Ca par contre c'est une erreur, donner un nom à une case ne sert à rien, elles sont déjà rangées dans un tableau, tu peux donc savoir sur quelle case est le pion sans avoir besoin de son nom, avec la première méthode que je t'ai donné, si ton pion est à la position 4*3 pour retrouver la case il te suffit de faire :

index = 4 + 3*8

Ce qui te donne la case 28 du tableau.
Si tu lui donne un nom tu va lui donner quoi "case28" ?
C'est inutile puisque tu connais déjà le numéro de la case ;-)



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)