SPEED (JEU EN PICWIN)

cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 - 20 nov. 2006 à 19:43
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009 - 21 nov. 2006 à 10:41
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40394-speed-jeu-en-picwin

RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
21 nov. 2006 à 10:41
niveau code, je trouve qu'il y a beaucoup trop de répétition dedans (trop de /drawrect)
tu pourrais très largement simplifier en utilisant des boucles while, ou faire des calculs pour "retourner la case"
Actuellement, tu dessines tous les carrés un à un, je trouve ça très long et très ennuyeux

Autre détail, tu devrais utiliser l'argument -n sur tes /draw, histoire que le tout ne clignote pas trop quand tu donnes les instructions. Reactualise ta PicWin après avoir donné les instructions en executant /drawdot @picwin (par exemple)

Tu utilises toujours des variables globales, c'est fort dommage :(

%speed.case.bonus = 800
%speed.case = 1000
devient : %speed.case.bonus 800, %speed.case 1000

Au lieu d'assigner à %speed.play les valeurs "on" et "off", assigne 1 et 0, vu que c'est booléen tu pourras faire if (%speed.play) et if (!%speed.play)

Utilise des elseif dans ton "sclick" pour les $inrect (gain en rapidité d'éxécution)

Petit détail : on dit "dur" et non "dure", et on dit plus généralement "difficile", ça passe mieux

Comme l'a dit Wims, ça manque d'effets (en regardant le code). Ceci dit, j'suis pas chez moi et je ne peux donc pas le tester.
Panthouffle Messages postés 281 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 14 avril 2008
21 nov. 2006 à 00:09
Rho wims a tout dit ce que je voulais te dire ^^
Pour les valeurs rgb, tu peux les réduires: $rgb(128,128,128) + TAB te retourne une valeur "8421504" , que tu peux mettre à la place (ça fait plus propre et ça revient à ce que wims te faisais remarquer xD)
Sinon personnelement j'ai un peu de misère à jouer à ton jeu ( avec une souris touchpad sur un pc portable :/ ) mais c'est original, bon peut-être pas les couleurs mais bon j'aurais pas fait mieux
=p
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
20 nov. 2006 à 20:41
Pour le bouton pause, tu devrais rien affiché de particulier ( a la limite désactivé le bouton si ya pas de partie en cours :/ )
Pour les valeurs rgb, euh si tu met la valeur rgb, ca sera exactement la meme chose, (255 ou $rgb(255,0,0)) j'comprend pas ton msg
Pour le pb de mettre le jeu en pause, lorsque je fait lancé, mes point revienne a zero, ce n'est pas un détail , c'est un bug
atlantisfr Messages postés 76 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 9 août 2007
20 nov. 2006 à 20:14
Pour le boutton pause d'est le début c'est pour montrer que le jeu n'est pas fonctionnel. Une limite de temps, je n'es pas voulu en fair parce que au bout d'un moment on ne pourra plus battre son record. Pour remplacer tout les $rgb par des valeurs mirc ... Il n'y a pas forcément les valeur exact que je souhaite. Pour le boutton pause, il y a le boutton lancer sur le côté, sa me parrait pas nécéssaire. Sinon, niveau optimisation, il y a quelques subtilités que je devrais changer.
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
20 nov. 2006 à 19:43
Des que je lance le jeu, si je bouge juste la souris, ya tout les textes des boutons qui clignotent ( meme les deux en haut a droite )
Ensuite le bouton pause est "enfoncé" alors que j'suis pas en pause :/

Pendant une partie en cours, j'étais a 900 points, je met pause ( ca serai bien que le bouton pause devienne "reprendre" un truc du genre )je reclick sur pause, il fait rien, je click sur lancé, il remet mes points a zero, :) ?

j'aurais bien vu un effet de "cliquage" lorsque l'on réussis un click ou pas

Sinon c'est original, simple mais ennuyeux :( ( on peux joué indéfiniment ? )

Niveau code :) :

l'alias speed.case.draw doit s'optimisé en une while.
A quoi sert les timers -h pour unset les %vars ?
Pour le menu @win, mouse, ya plein de if/else qui peuvent s'optimisé j'pense.
"set %speed.score $calc(%speed.score +100)" pour déclaré une variable qui se résume a un seul calcul, $calc est facultatif ( //Var %a = 5 + 6 ).
unset %speed.x2
unset %speed.y2
ca devient unset %speed.x2 %speed.y2

et tout les $rgb(Ga,is,Ga), remplace directement par les valeurs

Une idée pour amélioré le jeu :
Chaque X secs, tu définis une couleur au hasard que tu affiches, ensuite tu remplis de plusieurs couleurs différentes les carrés et on doit cliquer sur toutes celle qui correspondent a la couleur.
Rejoignez-nous