Jeu de grattage évolué

cs_cbastien Messages postés 44 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 18 février 2008 - 26 oct. 2007 à 09:53
cs_cbastien Messages postés 44 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 18 février 2008 - 30 oct. 2007 à 11:40
Bonjour,

J'ai trouvé sur ce site quelques sources apour des jeux de grattage qui vont beaucoup m'aider, mais j'ai besoin d'aller plus loin avec d'autres fonctionnalités.

Par exemple, ce serait bien que dès que l'on a gratté par exemple 80% de la surface que le message "gagné" ou "perdu" apparaisse ou que çà ouvre une page html. Comment déterminer la surface grattée ?

Ensuite, je dois relier ce grattage flash avec une base MySQL en PHP. Le plus simple afin de déterminer le grattage gagnant, est il de tout faire en Actionscript ou alors en PHP ? Je m'explique, en PHP j'ai pensé créé 2 flash, l'un gagnant et l'autre perdant, leur donner un nom à rallonge pour que les petits malins ne trouvent pas le flash gagnant du type "xdFethJkuyg5487.swf" et en PHP de lire la base et de faire afficher que le flash déterminer gagnant ou perdant dans la base. Cà vous semble jouable ?

Merci de votre aide
++
A voir également:

4 réponses

slagt Messages postés 232 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 29 mars 2011
27 oct. 2007 à 18:17
Ce que tu peux faire c'est un seul flash, qui choisi aléatoirement un gagnant ou un perdant (avec la probabilité de ton choix) :

if (Math.random() < 0.1)
    var gagnant:Boolean = true;
else
    var gagnant:Boolean = false;

par exemple, va rendre "gagnant" égal à true 1 fois sur 10.

Dès que le joueur commence à gratter, tu envoies le résultats à la base de données, tout simplement. Si l'utilisateur ne gratte que 10% mais que ces 10% suffisent pour savoir si on a perdu ou gagné, ça serait stupide de le forcer à gratter jusqu'au bout !

Pour le grattage, tu fais un clip qui représente la zone à gratter (une surface jaune quoi...), ensuite, quand l'utilisateur gratte, tu le fait dessiner sur un MASQUE, qui va masquer le clip où est afficher le texte "gagné" ou "perdu". (va voir du côté de MovieClip.setMask())

Suppose que la zone à gratter face 100x100.
Tu fais un autre clip "mc_jaune", de 100x100, remplie d'un carré de 100x100 jaune.
Tu places ce clip sur la scène.

Tu fais un clip "mc_txt" de 100x100 avec marqué 'perdu' ou 'gagné' selon la valeur de 'gagnant' (voir plus haut)
Ce clip, tu le poses sur par dessus "mc_jaune".

Ensuite tu fais un clip "mc_masque" de 100x100, vide.
Tu places ce clip aux mêmes coordonées que "mc_txt".

Dans ton code ActionScript, tu transforme "mc_masque" en MASQUE pour "mc_txt" :
=> mc_txt.setMask(mc_masque); // A vérifier, manque peut-être des guillemets

Il ne reste plus qu'à faire la fonction permettant de "peindre" dans le clip "mc_masque". Comme celui-ci est vide au début, on ne verra rien du clip "mc_txt". Si l'utilisateur dessine quelque chose dans le clip, on verra cette empreinte dans le clip "mc_txt" et rien d'autre. On aura donc l'impression que le clip "mc_jaune" est effacé (en fait, il n'est rien ;)).

Courage :)

Donc :
- 1 seul fichier SWF (donc pas de petit malin pour deviner lequel est gagnant)
- Dès que l'utilisateur commence à gratter, envoyer le résultar à la BDD
- Se servir d'un masque pour simuler le grattage

Distorstase
0
cs_cbastien Messages postés 44 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 18 février 2008
28 oct. 2007 à 07:18
merci de ton aide !

pour l'envoi des données dans la base, ce sera fait avant même d'accéder au grattage, car de cette façon si l'internaute pour x raison (séisme, ordi crame, infarctusse...;o)) part à ce moment là, on saura s'il a gagné ou pas avant même qu'il commence à jouer, sur le principe de l'instant gagnant.

mon idée de contrôler tout dans le php et d'afficher le flash gagnant ou perdant n'est pas bon dans mon cas de figure ?

++
0
cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 2
30 oct. 2007 à 10:59
Pour ce type de jeu, en général on fait le choix côté serveur si le ticket est gagnant ou pas, ensuite peu importe si le visiteur arrive à afficher l'anim gagnante, ça changera pas ce que t'as stocké auparavant côté serveur dans la base de données.

@+! Samy
0
cs_cbastien Messages postés 44 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 18 février 2008
30 oct. 2007 à 11:40
Merci, mais c'est bien ce que je disais, faire le choix coté serveur avant l'anim
++
0
Rejoignez-nous