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.
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.