Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

JEU DE MÉMOIRE


Information sur la source

Catégorie :AddOns Classé sous : mémoire, jeu, picwin Niveau : Débutant Date de création : 11/04/2006 Date de mise à jour : 14/04/2006 22:29:23 Vu : 3 349

Note :
Aucune note

Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note


Description

Voice un petit jeu de mémoire en picwin
Le but étant de retenir une suite de couleur pour ensuite essayer de recracher cette suite
On commence avec 2 couleur et 30 secondes et a chaque niveau superieur, 1 seconde de moins pour mémoriser la suite avec une couleur en plus
/gc pour le lancer  
Attention au debut du jeu, la couleur blanche n'est pas la couleur par défault et les rond vides ne sont pas blanc par défault non plus
 

Source

  • alias gc {
  • if ($hget(gc)) hfree -w gc*
  • .timertl off
  • if ($window(@gc)) window -c @gc
  • window -dCp +bx @gc -1 -1 400 89
  • if ($1) hadd -m gc lv $1-
  • drawrect -n @gc 1 2 0 0 396 50
  • drawrect -n @gc 1 2 0 55 396 30
  • drawrect -n @gc 1 2 95 60 19 19
  • drawrect -n @gc 4 1 120 60 50 19
  • drawrect -n @gc 5 1 121 61 48 17
  • drawtext -n @gc 1 verdana 12 127 62 Jouer
  • drawrect -n @gc 4 1 175 60 55 19
  • drawrect -n @gc 5 1 176 61 53 17
  • drawtext -n @gc 1 verdana 12 180 62 Quitter
  • var %a 0 ,%x ,%y
  • while (%a < 8) {
  • drawrect -nf @gc %a 1 $calc(3 + %x + %a) 58 10 10
  • inc %x 10
  • inc %a
  • }
  • var %b 0
  • while (%b < 8) {
  • drawrect -nf @gc $calc(%b + 8) 1 $calc(3 + %y + %b) 70 10 10
  • inc %y 10
  • inc %b
  • }
  • drawdot @gc
  • if ($1) debgc
  • }
  • menu @gc {
  • sclick : gclick $mouse.x $mouse.y
  • }
  • alias debgc {
  • drawrect -fn @gc 0 0 3 3 390 45
  • drawrect -fn @gc 0 0 232 60 162 20
  • .timertl $iif($hget(gc,lv),$ifmatch,30) 1 tl
  • afrc
  • hadd -m gc game $true
  • drawtext -n @gc 1 verdana 10 232 58 Mémorise cette suite.
  • unset %tl
  • drawdot @gc
  • }
  • alias gclick {
  • if ($inrect($1,$2,4,59,87,22) && $hget(gc,ready)) {
  • var %rgb = $getdot(@gc,$1,$2)
  • hadd -m gc color %rgb
  • drawrect -nrf @gc %rgb 1 97 62 15 15
  • drawdot @gc
  • }
  • elseif ($inrect($1,$2,177,62,54,18)) { hfree -w gc* | .timertl off | window -c @gc }
  • elseif ($inrect($1,$2,122,62,48,18)) {
  • if (!$hget(gc,game) && $hget(gc1,0).item != 15) { debgc }
  • elseif ($hget(gc1,0).item == 15) { verifgc }
  • }
  • elseif ($2 isnum 11-35 && $hget(gc,ready) && $hget(gc,color) != $null) {
  • var %x = $1 ,%y = $2 ,%inc ,%a 4
  • while (%a <= 496) {
  • inc %inc
  • if (%x isnum $+(%a,-,$calc(%a + 24))) {
  • tokenize 32 $hget(gc,%inc)
  • if ($version >= 6.17 && $inellipse(%x,%y,$2,10,25,25)) || ($version < 6.17 && $inrect(%x,%y,$2,10,25,25)) {
  • drawrect -rfen @gc $hget(gc,color) 0 $2 12 25 25
  • drawrect -en @gc 1 1 $2 12 25 25
  • hadd -m gc1 %inc $hget(gc,color)
  • if ($hget(gc1,0).item == 15) {
  • drawrect -nf @gc 0 0 122 64 45 12
  • drawtext -n @gc 1 verdana 12 124 62 Valider
  • }
  • break
  • }
  • }
  • inc %a 26
  • }
  • drawdot @gc
  • }
  • }
  • alias verifgc {
  • var %a 1 ,%f 0
  • while (%a <= 15) {
  • var %c = $hget(gc,%a)
  • tokenize 44 %c
  • var %b = $($rgb($1,$2,$3))
  • var %d = $hget(gc1,%a)
  • tokenize 32 $hget(gc,%a)
  • if (%b != %d) {
  • inc %f
  • drawrect -efrn @gc %b 0 $2 12 25 25
  • drawrect -ne @gc 1 1 $2 12 25 25
  • }
  • drawtext -n @gc $iif(%b == %d,9,4) verdana 13 $calc($2 + 8) 34 $iif(%b == %d,V,X)
  • inc %a
  • }
  • drawrect -fn @gc 0 0 232 60 150 20
  • anr %f
  • if (%f == 0) { var %lvup = $?!="Voulez-vous tenter le niveau superieur ?" | gc $calc($iif($hget(gc,lv),$token($ifmatch,1,32),30) - 1) $calc($iif($hget(gc,lv),$token($ifmatch,2,32),1) + 1) }
  • drawdot @gc
  • }
  • alias anr {
  • if ($1 == 0) { drawtext @gc 1 verdana 10 232 58 Parfait, bien joué }
  • elseif ($1 isnum 1-3) { drawtext -n @gc 1 verdana 10 232 58 Pas mal, mais il reste des fautes }
  • elseif ($1 isnum 4-7) { drawtext -n @gc 1 verdana 10 232 58 Tu y es presque ! }
  • elseif ($1 isnum 8-11) { drawtext -n @gc 1 verdana 10 232 58 Tu Peux mieux faire }
  • elseif ($1 isnum 12-15) { drawtext -n @gc 1 verdana 10 232 58 Risible , essaye encore :') }
  • drawtext -n @gc 1 verdana 10 232 68 Tu as fait $1 $iif($1 == 0,faute,fautes)
  • if ($1 != 0) { drawrect -fn @gc 0 0 122 64 45 10 | drawtext -n @gc 1 verdana 12 127 62 Again | hfree gc1 | hdel gc game }
  • drawdot @gc
  • }
  • alias tl {
  • if (!%tl) set -z %tl $iif($hget(gc,lv),$token($ifmatch,1,32),30)
  • drawrect -nf @gc 0 1 315 68 15 15
  • drawtext -n @gc 1 verdana 10 232 68 Temps restant : %tl
  • if (%tl == 1) { .timertl off | readyg }
  • drawdot @gc
  • }
  • alias readyg {
  • drawrect -fn @gc 0 0 232 60 120 20
  • drawtext -n @gc 1 verdana 10 232 58 Rempli maintenant les ronds
  • drawtext -n @gc 1 verdana 10 232 68 avec les bonnes couleurs
  • afrc 1
  • hadd -m gc ready $true
  • drawdot @gc
  • }
  • alias afrc {
  • drawrect -fn @gc 0 0 3 3 390 45
  • var %a 1 ,%x
  • while (%a <= 15) {
  • var %r = $iif($1,0,$r(0,$iif($token($hget(gc,lv),2,32),$ifmatch,1)))
  • drawrect -nef @gc %r 0 $calc(2 + %x + %a) 12 25 25
  • drawrect -ne @gc 1 1 $calc(2 + %x + %a) 12 25 25
  • if (!$1) hadd -m gc %a $rgb($color(%r)) $calc(2 + %x + %a)
  • inc %x 25
  • inc %a
  • }
  • drawdot @gc
  • }
alias gc {
  if ($hget(gc)) hfree -w gc*
  .timertl off
  if ($window(@gc)) window -c @gc
  window -dCp +bx @gc -1 -1 400 89
  if ($1) hadd -m gc lv $1-
  drawrect -n @gc 1 2 0 0 396 50
  drawrect -n @gc 1 2 0 55 396 30
  drawrect -n @gc 1 2 95 60 19 19
  drawrect -n @gc 4 1 120 60 50 19 
  drawrect -n @gc 5 1 121 61 48 17
  drawtext -n @gc 1 verdana 12 127 62 Jouer
  drawrect -n @gc 4 1 175 60 55 19
  drawrect -n @gc 5 1 176 61 53 17
  drawtext -n @gc 1 verdana 12 180 62 Quitter
  var %a 0 ,%x ,%y
  while (%a < 8) {
    drawrect -nf @gc %a 1 $calc(3 + %x + %a) 58 10 10
    inc %x 10 
    inc %a
  }
  var %b 0
  while (%b < 8) {
    drawrect -nf @gc $calc(%b + 8) 1 $calc(3 + %y + %b) 70 10 10  
    inc %y 10
    inc %b
  }
  drawdot @gc
  if ($1) debgc
}

menu @gc {
  sclick : gclick $mouse.x $mouse.y
}

alias debgc {
  drawrect -fn @gc 0 0 3 3 390 45
  drawrect -fn @gc 0 0 232 60 162 20 
  .timertl $iif($hget(gc,lv),$ifmatch,30) 1 tl 
  afrc
  hadd -m gc game $true
  drawtext -n @gc 1 verdana 10 232 58 Mémorise cette suite.
  unset %tl
  drawdot @gc
}

alias gclick {
  if ($inrect($1,$2,4,59,87,22) && $hget(gc,ready)) { 
    var %rgb = $getdot(@gc,$1,$2)
    hadd -m gc color %rgb
    drawrect -nrf @gc %rgb 1 97 62 15 15
    drawdot @gc
  }
  elseif ($inrect($1,$2,177,62,54,18)) { hfree -w gc* | .timertl off | window -c @gc } 
  elseif ($inrect($1,$2,122,62,48,18)) {
    if (!$hget(gc,game) && $hget(gc1,0).item != 15) { debgc }
    elseif ($hget(gc1,0).item == 15) { verifgc }
  }
  elseif ($2 isnum 11-35 && $hget(gc,ready) && $hget(gc,color) != $null) {
    var %x = $1 ,%y = $2 ,%inc ,%a 4 
    while (%a <= 496) {
      inc %inc
      if (%x isnum $+(%a,-,$calc(%a + 24))) {
        tokenize 32 $hget(gc,%inc)
        if ($version >= 6.17 && $inellipse(%x,%y,$2,10,25,25)) || ($version < 6.17 && $inrect(%x,%y,$2,10,25,25)) {
          drawrect -rfen @gc $hget(gc,color) 0 $2 12 25 25 
          drawrect -en @gc 1 1 $2 12 25 25 
          hadd -m gc1 %inc $hget(gc,color)
          if ($hget(gc1,0).item == 15) {
            drawrect -nf @gc 0 0 122 64 45 12
            drawtext -n @gc 1 verdana 12 124 62 Valider       
          }
          break
        }
      }
      inc %a 26
    }
    drawdot @gc
  }
}

alias verifgc {
  var %a 1 ,%f 0
  while (%a <= 15) {
    var %c = $hget(gc,%a)
    tokenize 44 %c
    var %b = $($rgb($1,$2,$3))
    var %d = $hget(gc1,%a)
    tokenize 32 $hget(gc,%a)
    if (%b != %d) {
      inc %f 
      drawrect -efrn @gc %b 0 $2 12 25 25
      drawrect -ne @gc 1 1 $2 12 25 25
    }
    drawtext -n @gc $iif(%b == %d,9,4) verdana 13 $calc($2 + 8) 34 $iif(%b == %d,V,X)
    inc %a
  }
  drawrect -fn @gc 0 0 232 60 150 20
  anr %f
  if (%f == 0) { var %lvup = $?!="Voulez-vous tenter le niveau superieur ?" | gc $calc($iif($hget(gc,lv),$token($ifmatch,1,32),30) - 1) $calc($iif($hget(gc,lv),$token($ifmatch,2,32),1) + 1) }
  drawdot @gc
}

alias anr {
  if ($1 == 0) { drawtext @gc 1 verdana 10 232 58 Parfait, bien joué }
  elseif ($1 isnum 1-3) { drawtext -n @gc 1 verdana 10 232 58 Pas mal, mais il reste des fautes }
  elseif ($1 isnum 4-7) { drawtext -n @gc 1 verdana 10 232 58 Tu y es presque ! }
  elseif ($1 isnum 8-11) { drawtext -n @gc 1 verdana 10 232 58 Tu Peux mieux faire }
  elseif ($1 isnum 12-15) { drawtext -n @gc 1 verdana 10 232 58 Risible , essaye encore :') }
  drawtext -n @gc 1 verdana 10 232 68 Tu as fait $1 $iif($1 == 0,faute,fautes)
  if ($1 != 0) { drawrect -fn @gc 0 0 122 64 45 10 | drawtext -n @gc 1 verdana 12 127 62 Again | hfree gc1 | hdel gc game }
  drawdot @gc 
}

alias tl {
  if (!%tl) set -z %tl $iif($hget(gc,lv),$token($ifmatch,1,32),30)
  drawrect -nf @gc 0 1 315 68 15 15
  drawtext -n @gc 1 verdana 10 232 68 Temps restant : %tl
  if (%tl == 1) { .timertl off | readyg }
  drawdot @gc
}

alias readyg {
  drawrect -fn @gc 0 0 232 60 120 20 
  drawtext -n @gc 1 verdana 10 232 58 Rempli maintenant les ronds 
  drawtext -n @gc 1 verdana 10 232 68 avec les bonnes couleurs
  afrc 1
  hadd -m gc ready $true
  drawdot @gc
}

alias afrc { 
  drawrect -fn @gc 0 0 3 3 390 45
  var %a 1 ,%x 
  while (%a <= 15) {
    var %r = $iif($1,0,$r(0,$iif($token($hget(gc,lv),2,32),$ifmatch,1)))
    drawrect -nef @gc %r 0 $calc(2 + %x + %a) 12 25 25
    drawrect -ne @gc 1 1 $calc(2 + %x + %a) 12 25 25
    if (!$1) hadd -m gc %a $rgb($color(%r)) $calc(2 + %x + %a) 
    inc %x 25
    inc %a
  }
  drawdot @gc
}

Conclusion

Pas de bugs ,donner moi vos idées pour amélioré le jeu
 

Historique

11 avril 2006 17:52:05 :
Le bouton quitter , mci km
14 avril 2006 22:06:00 :
Un echo qui trainais et changement d'une ligne pour les nostalgiques de mirc ( mci arkanis )
14 avril 2006 22:29:23 :
Orthographe

Commentaires et avis

signaler à un administrateur
Commentaire de KiNdErMaXi le 11/04/2006 14:54:42

Le boutton quitter marche tjs pas :o

signaler à un administrateur
Commentaire de wims le 11/04/2006 17:42:25

Ouaip, j'avais commencer a le faire
elseif ($inrect($1,$2,177,62,54,18)) { echo -a ok }
:(
J'corrige ca merci :)

signaler à un administrateur
Commentaire de KiNdErMaXi le 11/04/2006 18:08:55

c'était donc ca de OK dans mes status :x

signaler à un administrateur
Commentaire de RCA ArKanis le 14/04/2006 11:19:20

t'aurais pu préciser qu'il fallait mIRC 6.17 :x
j'ai cherché pdt 5 mins pourquoi ça marchait pas
$inellipse n'est apparu que dans mIRC 6.17 (j'sais que toi tu le sais)

bon bah j'pourrai pas le tester alors :p

ça avait l'air sympa sinon

signaler à un administrateur
Commentaire de RCA ArKanis le 14/04/2006 11:28:15

bon allez, j'propose une solution :
mets ça ligne 65 : if ($version >= 6.17 && $inellipse(%x,%y,$2,10,25,25)) || ($version < 6.17 && $inrect(%x,%y,$2,10,25,25))

sinon, t'as oublié un echo -a ligne 66

j'ai testé avec ça, ça marche bcp mieux

plutôt bien codé, mais des fautes ! (d'orthographe :D)

j'aime bien

signaler à un administrateur
Commentaire de wims le 14/04/2006 22:00:03

Donne les fautes d'orthographe que je corrige alors :x
J'corrige par rapport au $version mais tu pourra cliquer en dehors d'un rond dans les coins :(

signaler à un administrateur
Commentaire de RCA ArKanis le 14/04/2006 22:08:39

vaux mieux ça que ça ne marche pas du tout, non ?
:p

"Tu y est presque !" => Tu y es presque !
"Voulez vous tentez le niveau superieur ?" => Voulez-vous tenter le niveau supérieur ?
"Remplie maintenant les ronds" => Rempli maintenant les ronds (ou Remplis, flemme de verif :) Look dans un Bécherel ou un truc du style)

signaler à un administrateur
Commentaire de wims le 14/04/2006 22:21:14

Si mirc se mettait a jour automatiquement, y'aurai aucun probleme :]
Ok pour l'orthographe, et comme j'ai pas de becherel, je tranche pour "Rempli" ( moins de lettre a écrire :'( )

signaler à un administrateur
Commentaire de AgoRa_ScripT le 14/04/2006 22:25:14

bon allez j'essaye de me remettre a mIRC..

je trouve ce code pertinent de part son idée. par contre niveau coding, me replonger com'sa dans le pcwn, ça va pas l'faire.

je note pas pour ce coup :)

signaler à un administrateur
Commentaire de wims le 14/04/2006 22:44:35

Pertinent ? comment ca :) ?

signaler à un administrateur
Commentaire de AgoRa_ScripT le 14/04/2006 22:47:07

"pertinent de part son idée"
je trouve ce code original (:

signaler à un administrateur
Commentaire de wims le 14/04/2006 22:51:06

ok , oui j'essaye de faire des truc jamais vu =)

signaler à un administrateur
Commentaire de nieve_blanca le 15/09/2006 12:54:30

salut g un script et je sais pa comment ajouter les sources tu peu m'aider svp ^^ merci

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

truc tt con ![trou de mémoire] [ par splinter83 ] bon ben voila g une kestion tt con dont javé la réponse ds le temps et pui je nyarrive plu [alala je bug sur d truc tro con] ma kestion est :g fé sa : jeu pour bot ? maillon faible ? [ par MeF ] voilou j'ai déjà eu l'occasion de jouer sur irc au maillon faible.Yavait des sons qui accompagnaient le jeu, c'étaient bien sympathique, avec de nombr Recherche, qu'en pensez-vous ? [ par ScreaM ] Voici une p'tite idée que je viens d'avoir. Le but serait de reproduire le jeu du maillon faible mais sur un canal irc qui pourrait s'appeller #maillo Dégradé [ par Bloock ] Bon voila, je vais faire un lecteur mp3 en picwin, et j'aimerai savoir comment on fait [/b]un dégradé dans une fenêtre Picwin[/b]! Merci d'avance <img Mémoire de bot [ par Sibelle07 ] Salut je tente d'esseiller de savoir sa!Je voudrait que quand un gars dit sur le chat : !memory le texte ...Hé bien le bot stocke tout ce qu'il dit da Aide Socket & picwin [ par _VeSpArO_ ] Salut tout le monde je voulai savoir comment stocker un fichier txt d'un site dans un fichier .txt ou autre dans mon mirc.CAD: telecharger par exemple affichage de serveur de jeu pour bot/bot dans la barre de tache [ par GVDS ] Bonjour, j'ai bien cherché et je n'ai pas trouvé, j'aimerais avoir la commande qui me permet de donner les infos de mon serveur ( nombres de joueurs, Comment mettre un top10 à mon jeu ... [ par Panther007 ] Bon voila j'aimerais mettre un top10 à mon jeu ... Je vous expliquer Brèvement ce qui en est .. Le jeu c'est comment un mot qui est donner en majuscul Picwin je pense lol jsuis meme pas sur du nom :s [ par Panther007 ] Salut :) Bon je vous dit en quoi j'aimerais me faire aider , j'aimerais me fabriquer un jeu de Ping pong mais avant il faut que je sache comment utili jeu [ par KiNdErMaXi ] je voudrai faire un ptit jeu en picwin, j'ai des tutos pr la parties graphique mais pour la configuration je sais pas comment fairesi vous pouviez m'a


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.