Jeu de réflexes

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 957 fois - Téléchargée 25 fois

Contenu du snippet

Premier post ici.
Deuxième jeu en picwin, sans prétention aucune.
J'ai vu qu'il en existait déjà un du même style, mais je ne m'en suis nullement inspiré. (je ne l'ai pas encore ouvert au moment du post)
Rien de très interessant dans le code, si ce n'est la while qui dessine les carrés.
J'aimerai juste savoir s'il y a des bugs (execpté une boule qui ne part pas de temps en temps...) ou s'il est possible d'optimiser/améliorer le code.
(Inutile de me dire que c'est graphiquement pourri, je sais)
Et pour le nom du jeu, ceux qui lisent Kid Paddle devraient reconnaître ^^

Source / Exemple :


alias Gnap {
  if (!%rec1.s) { set %rec1.s 0 }
  if (!%rec2.s) { set %rec2.s 0 }
  if (!%rec3.s) { set %rec3.s 0 }
  if (!%dif.s) { set %dif.s 800 }
  set %pts.s 0
  window -Cpk0od +fd @Gnap 0 0 250 315
  drawrect -fr @Gnap $rgb(0,0,150) 1 0 0 250 315
  menu.s
}

alias -l menu.s {
  drawrect -fr @Gnap $rgb(0,0,150) 1 0 0 250 315
  drawrect -fr @Gnap $rgb(0,111,221) 00 0 0 250 20
  drawtext -o @Gnap 00 SeagullSerial-Light 13 5 1 Jeu du Gnap by YaCoU
  drawdot -ir @Gnap $rgb(0,111,221) 7 223 11
  drawtext -o @Gnap 1 Fixedsys 12 217 2 - 
  drawdot -ir @Gnap $rgb(0,111,221) 7 240 11
  drawtext @Gnap 1 Fixedsys 12 235 2 × 
  drawrect -r @Gnap $rgb(134,138,117) 2 4 25 240 240
  drawrect -fr @Gnap $rgb(0,111,221) 1 5 270 42 15
  drawtext -o @Gnap 00 Tahoma 10 15 271 Easy
  drawrect -fr @Gnap $rgb(0,111,221) 1 50 270 42 15
  drawtext -o @Gnap 00 Tahoma 10 52 271 Medium
  drawrect -fr @Gnap $rgb(0,111,221) 1 95 270 42 15
  drawtext -o @Gnap 00 Tahoma 10 103 271 Hard
  drawrect -fr @Gnap $rgb(0,111,221) 1 5 290 42 15
  drawtext -o @Gnap 00 Tahoma 10 15 291 New
  drawrect -fr @Gnap $rgb(0,111,221) 1 50 290 42 15
  drawtext -o @Gnap 00 Tahoma 10 59 291 Quit
  drawrect -fr @Gnap $rgb(0,111,221) 1 95 290 42 15
  drawtext -o @Gnap 00 Tahoma 10 102 291 Règles
  drawtext  @Gnap 00 Tahoma 10 145 290 ¤ Points: %pts.s
  level.s
  if (%regles.s == $null) { cv.s }
}

alias -l cv.s {
  set %y.s 36
  set %ng2.s 1 
  while (%ng2.s < 6) {
    set %x.s 13 
    ch.s
    inc %ng2.s
    inc %y.s 45
} }

alias -l ch.s {
  set %x.s 13 
  set  %ng.s 1 
  while (%ng.s < 6) { 
    drawrect @Gnap 14 2 %x.s %y.s 40 40 
    inc %x.s 45
    inc %ng.s
} }

alias -l jeu.s {
  set %sclick.s on
  drawrect -fr @Gnap $rgb(0,0,150) 2 4 25 240 240
  drawrect -r @Gnap $rgb(134,138,117) 2 4 25 240 240
  cv.s
  set %pts.s 0
  drawrect -fr @Gnap $rgb(0,0,150) 1 142 291 70 10
  drawtext  @Gnap 00 Tahoma 10 145 290 ¤ Points: %pts.s
  .timerGnap1 1 60 stop.s
  .timerGnap2 -hm 0 %dif.s pos.s
}
alias -l stop.s {
  set %sclick.s off
  if (%rec1.s < %pts.s) || (%rec2.s < %pts.s) || (%rec3.s < %pts.s) { newrec.s }
  .timerGnap2 off 
}
alias -l newrec.s {
  if (%level.s == easy) && (%rec1.s < %pts.s) { set %rec1.s %pts.s | unset %pts.s | level.s }
  elseif (%level.s == medium) && (%rec2.s < %pts.s) { set %rec2.s %pts.s | unset %pts.s | level.s }
  elseif (%level.s == hard) && (%rec3.s < %pts.s) { set %rec3.s %pts.s | unset %pts.s | level.s }
}
alias -l pos.s {
  set %sclick.s on
  %xr.s = $rand(0,4)
  %yr.s = $rand(0,4)  
  set %posx.s $calc(%xr.s *45+35)
  set %posy.s $calc(%yr.s *45+57)
  drawdot @Gnap 4 15 %posx.s %posy.s
  .timerdot.s -hm 1 $calc(%dif.s -100) drawdot -r @Gnap $rgb(0,0,150) 15 %posx.s %posy.s
  .timerGnap3 -hm 1 $calc(%dif.s -100) set %sclick.s off
}

alias -l point.s {
  set %sclick.s off
  inc %pts.s
  drawrect -fr @Gnap $rgb(0,0,150) 1 142 291 70 10
  drawtext  @Gnap 00 Tahoma 10 145 290 ¤ Points: %pts.s
}

alias -l level.s {
  unset %pts.s
  drawrect -fr @Gnap $rgb(0,0,150) 10 145 270 95 15
  if (%level.s == easy) { 
    set %dif.s 800
    drawtext  @Gnap 00 Tahoma 10 145 270 ¤ Record: %rec1.s Points
  }  
  elseif (%level.s == medium) { 
    set %dif.s 600
    drawtext  @Gnap 00 Tahoma 10 145 270 ¤ Record: %rec2.s Points
  } 
  elseif (%level.s == hard) { 
    set %dif.s 450
    drawtext  @Gnap 00 Tahoma 10 145 270 ¤ Record: %rec3.s Points
} }

alias -l regles.s {
  stop.s
  .timerdot.s off
  clear @Gnap
  set %regles.s 1
  menu.s
  drawtext @Gnap 00 Tahoma 13 22 40 Un classique, essayer de cliquer
  drawtext @Gnap 00 Tahoma 13 22 60 le maximum de fois sur le machin
  drawtext @Gnap 00 Tahoma 13 22 80  qui sort en une minute, avant qu'il
  drawtext @Gnap 00 Tahoma 13 22 100 ne rentre dans son trou.
  unset %regles.s
}

alias -l close.s { window -c @Gnap | .timerGnap* off | .timerdot.s off  }
on *:close:@Gnap:{ close.s }

menu @Gnap {
  sclick:{
    if (%sclick.s == on) && ($mouse.x >= $calc(%posx.s - 20)) && ($mouse.x <= $calc(%posx.s + 20)) && ($mouse.y >= $calc(%posy.s - 20)) && ($mouse.y <= $calc(%posy.s + 20)) { point.s }
    elseif ($mouse.x >= 233) && ($mouse.x <= 247) && ($mouse.y >= 4) && ($mouse.y <= 15) { close.s }
    elseif ($mouse.x >= 216) && ($mouse.x <= 220) && ($mouse.y >= 4) && ($mouse.y <= 15) { window -n @Gnap }
    elseif ($mouse.x >= 50) && ($mouse.x <= 92) && ($mouse.y >= 290) && ($mouse.y <= 305) { close.s }
    elseif ($mouse.x >= 95) && ($mouse.x <= 137) && ($mouse.y >= 290) && ($mouse.y <= 305) { regles.s }
    elseif ($mouse.x >= 5) && ($mouse.x <= 47) && ($mouse.y >= 290) && ($mouse.y <= 305) { jeu.s }
    elseif ($mouse.x >= 5) && ($mouse.x <= 47) && ($mouse.y >= 270) && ($mouse.y <= 285) { set %level.s easy | level.s | stop.s }
    elseif ($mouse.x >= 50) && ($mouse.x <= 92) && ($mouse.y >= 270) && ($mouse.y <= 285) { set %level.s medium | level.s | stop.s }
    elseif ($mouse.x >= 95) && ($mouse.x <= 137) && ($mouse.y >= 270) && ($mouse.y <= 285) { set %level.s hard | level.s | stop.s }
} }

Conclusion :


C'est aussi pas mal de donner la liste des bugs connus s'il y en a ;-) <= ce que j'ai dit plus haut, une boule qui ne veut pas s'effacer, mais c'est rare.

A voir également

Ajouter un commentaire Commentaires
Messages postés
908
Date d'inscription
jeudi 26 juillet 2001
Statut
Modérateur
Dernière intervention
1 février 2015
2
salut,

pas la peine de s'énerver, il y a des commentaires constructifs ici et d'autres moins. pensez aux personnes qui viennent glanner des informations et découvrir le scripting, ne leur donner pas une image négative de la communauté.

que tu aies rippé ou non, ça n'a aucune importance, à partir du moment où c'est publié ici, ça tombe dans le domaine du partage et l'auteur accepte que le code soit plagié ou repris.

après c'est une question de respect mais bon je doute que tu aies recopié ce qu'il a fait :)

dans l'immédiat le code vaut ce qu'il vaut, et certains commentaires ont été pertinents, essayez de rester dans la voie de la bonne critique, celle qui fait avancer la communauté.

à bon entendeur........
Messages postés
3
Date d'inscription
lundi 21 juillet 2003
Statut
Membre
Dernière intervention
19 décembre 2006

Ce n'est pas les critiques qui me mettent en rogne, c'est les sous-entendus que j'ai rippé sa source. J'ai lu les critiques avec interêt, et j'ai modifié le code en fonction.

"Perso' je trouve sa bête de reprendre mon idée"

"Si tu veux reprendre une idée, évite de la dévaloriser"

"Tu n'aurait pas eu l'idée en regardant son code par hasard ? Sinon, vous êtes connectés vous deux !"

"T'as raison ça doit être bien épuisant faire un jeu dans le genre alors dort bien !"

Mais ça, j'suis censé le prendre comment?

Ceux qui insinue que je rippe ou que je m'inspire, je les emmerde, ils croient ce qu'ils veulent.
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Ou sont les gamin arrogant ?

Pourquoi critiquer un code dont tu ne t'es sois disant pas inspiré et dont tu n'a sois disant jamais regardé la source pour faire ton code ?

Tu poses une source, on critique ta source ( ou non ).
Les critiques sont censé te faire avancé, pas te mettre la haine, prend donc les critique constructives en compte ainsi que les optimisation qu'on te donne et améliore le code.
Messages postés
3
Date d'inscription
lundi 21 juillet 2003
Statut
Membre
Dernière intervention
19 décembre 2006

lol
j'ai failli me désinscire en voyant l'accueil ici, mais en testant le "jeu" d'atlantisfr, ma bonne humeur est revenue :)
Tu te permets de critiquer (et insinuer que je rippe) alors que ton jeu vaut pas mieux que le mien? Tu bouges la souris, t'as les boutons qui clignotent, c'est infini (les scores se remettent pas à zéro même quand t'arrêtes...), ton code fait 269 lignes pour rien d'exceptionnel et tu sais même pas écrire... Donc heuresement que j'me suis pas inspiré e ton truc :p

Quant au gamin arrogant, continue à faire des étoiles carrées, c'est marrant.

PS: pour info, j'avais jamais ouvert la source, j'ai juste vu que ça existait...alors que j'avais déjà commencé...
Messages postés
281
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
14 avril 2008

"atlantisfr, je n'ai pas repris ton idée, je l'ai eue aussi..."
Tu n'aurait pas eu l'idée en regardant son code par hasard ? Sinon, vous êtes connectés vous deux !

"Pour le reste, je réfléchirai plus tard, faut que je dorme ><"
T'as raison ça doit être bien épuisant faire un jeu dans le genre alors dort bien !
Afficher les 9 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (cs_YaCoUbA)