héhé g fé un mini jeux teken en script .
testé vs verez ...
lol , bon le nivo graphique est vraiment trés primaire ms je compte le travailler voir le dessiné .
Ce script n'est qu'une version béta ( demo ) et je compte lui apportter bcp de modification .
Projet à venir :
- partie en réseau ( via les sockets )
- ajout de nouvo cou
- graphisme
- ( partie contre l'ordi , si j'y arrive )
- des animations
- du son
et puis ....
J'espere que ca va vs plaire ... ( malgrès le nivo graphisme )
Source / Exemple :
alias teken { .timertek 1 .1 tekenintro | window -doapBkC +dL @teken 1 1 600 250 }
;#########
;# intro #
;#########
alias tekenintro {
drawrect -f @teken 1 1 0 0 600 250
set %intro 1
tekenintro2
}
alias tekenintro1 {
drawrect -f @teken 1 1 0 0 600 250
drawtext @teken 4 260 115 $mid(T E K E N irc,1,%intro)
inc %intro
if ( %intro >= 15 ) { set %intro 600 | .timergo 1 .1 tekenintro3 | halt }
tim 15 tekenintro1
}
alias tekenintro2 {
drawrect -f @teken 1 1 0 0 600 250
drawtext @teken 4 260 %intro T E K E N
inc %intro
.timergo 1 .1 tekenintro2
if ( %intro >= 250 ) { .timergo off | set %intro 1 | tekenintro1 }
}
alias tekenintro3 {
drawrect -f @teken 1 1 0 0 600 250
drawtext @teken 4 260 115 T E K E N irc
drawtext @teken 4 %intro 140 by aBd0ulaX
set %intro $calc( %intro -1 )
if ( %intro <= 290 ) { .timergo off | unset %intro | set %tekx -30 | .timergo 250 .1 tekenintro4 | halt }
.timergo 1 .1 tekenintro3
}
alias tekenintro4 {
drawrect -f @teken 1 1 0 0 600 250
drawtext @teken 4 260 115 T E K E N irc
drawtext @teken 4 290 140 by aBd0ulaX
drawline @teken 12 2 $calc( %tekx -10) 210 %tekx 150
drawline @teken 12 2 $calc( %tekx +10) 210 %tekx 150
drawline @teken 12 2 %tekx 110 %tekx 170
drawdot @teken 12 10 $calc( %tekx +2) 105
inc %tekx
if ( %tekx >= 220 ) {
drawline @teken 12 2 %tekx 125 $calc( %tekx + 15 ) 140
drawline @teken 12 2 $calc( %tekx + 15 ) 140 $calc( %tekx + 30 ) 125
set %cou poing
tim 10 tekenintro5
}
}
alias tekenintro5 {
drawline @teken 1 2 %tekx 125 $calc( %tekx + 15 ) 140
drawline @teken 1 2 $calc( %tekx + 15 ) 140 $calc( %tekx + 30 ) 125
drawline @teken 12 2 %tekx 125 $calc( %tekx + 40 ) 125
drawdot @teken 4 5 $calc( %tekx + 40 ) 127
set %intro 260
tekenintro6
}
alias tekenintro6 {
drawrect -f @teken 1 1 0 0 600 250
drawtext @teken 4 %intro 115 T E K E N irc
drawtext @teken 4 $calc( %intro + 30 ) 140 by aBd0ulaX
drawline @teken 12 2 %tekx 125 $calc( %tekx + 40 ) 125
drawdot @teken 4 5 $calc( %tekx + 40 ) 127
drawline @teken 12 2 $calc( %tekx -10) 210 %tekx 150
drawline @teken 12 2 $calc( %tekx +10) 210 %tekx 150
drawline @teken 12 2 %tekx 110 %tekx 170
drawdot @teken 12 10 $calc( %tekx +2) 105
inc %intro
if ( %intro >= 650 ) { .timergo off | set %intro -20 | set %tekx 100 | tekenintro7 | halt }
.timergo 1 .1 tekenintro6
}
alias tekenintro7 {
drawrect -f @teken 1 1 0 0 600 250
drawtext @teken 4 190 %intro T E K E N irc
drawtext @teken 4 220 $calc( %intro + 25 ) by aBd0ulaX
drawline @teken 12 2 220 $calc( %tekx + 25 ) 260 $calc( %tekx + 25 )
drawdot @teken 4 5 260 $calc( %tekx + 27 )
drawline @teken 12 2 210 $calc( %tekx + 110 ) 220 $calc( %tekx + 50 )
drawline @teken 12 2 230 $calc( %tekx + 110 ) 220 $calc( %tekx + 50 )
drawline @teken 12 2 220 $calc( %tekx + 10 ) 220 $calc( %tekx + 70 )
drawdot @teken 12 10 222 $calc( %tekx + 5 )
if ( %intro <= 125 ) { inc %intro }
if ( $calc( %intro + 25 ) >= 80 ) { inc %tekx }
if ( %tekx >= 270 ) { .timergo off | unset %intro | teken2 | halt }
.timergo 1 .1 tekenintro7
}
;########
;# jeux #
;########
alias teken2 {
set %tektime $ctime
.timerout 0 1 kentime
set %tekx 50
set %botx 550
set %scoreman 0
set %scorebot 0
set %fight 1
tekman
}
on 1:KEYDOWN:@teken:*:{ if ( %fight == 1 ) {
if ( $keyval == %jgauche ) && ( %tekx > 10 ) { set %tekx $calc( %tekx - 8 ) | tekman }
if ( $keyval == %jdroite ) && ( %tekx < $calc( %botx - 20 ) ) { set %tekx $calc( %tekx + 8 ) | tekman }
if ( $keyval == %jdroite ) && ( %tekx >= $calc( %botx - 20 ) ) && ( %botx < 590 ) { set %botx $calc( %botx + 2 ) | set %tekx $calc( %tekx + 1 ) | tekman }
if ( $keyval == %jpoing ) && ( %cou == $null ) {
drawline @teken 12 2 %tekx 145 $calc( %tekx + 15 ) 160
drawline @teken 12 2 $calc( %tekx + 15 ) 160 $calc( %tekx + 30 ) 145
set %cou poing
tim 10 cou1
}
if ( $keyval == %jpied ) && ( %cou == $null ) {
drawline @teken 1 2 $calc( %tekx -10) 240 %tekx 180
drawline @teken 12 2 $calc( %tekx +20) 170 %tekx 180
drawline @teken 12 2 $calc( %tekx +20) 170 $calc( %tekx +40) 180
set %cou pied
tim 10 cou2
}
if ( $keyval == %jdefence1 ) && ( %cou == $null ) {
drawline @teken 12 2 %tekx 145 $calc( %tekx + 15 ) 160
drawline @teken 12 2 $calc( %tekx + 15 ) 160 $calc( %tekx + 15 ) 130
drawdot @teken 15 5 $calc( %tekx + 17 ) 130
set %cou defence1
tim 35 tekman
}
if ( $keyval == %jdefence2 ) && ( %cou == $null ) {
drawline @teken 1 2 $calc( %tekx -10) 240 %tekx 180
drawline @teken 12 2 $calc( %tekx +20) 170 %tekx 180
drawline @teken 12 2 $calc( %tekx +20) 170 $calc( %tekx +20) 200
drawdot @teken 15 5 $calc( %tekx +20) 203
set %cou defence2
tim 35 tekman
}
if ( $keyval == %bgauche ) && ( %botx > $calc( %tekx + 20 ) ) { set %botx $calc( %botx - 8 ) | tekman }
if ( $keyval == %bgauche ) && ( %botx <= $calc( %tekx + 20 ) ) && ( %tekx > 10 ) { set %botx $calc( %botx - 1 ) | set %tekx $calc( %tekx - 2 ) | tekbot }
if ( $keyval == %bdroite ) && ( %botx < 590 ) { set %botx $calc( %botx + 8 ) | tekman }
if ( $keyval == %bpoing ) && ( %bcou == $null ) {
drawline @teken 4 2 %botx 145 $calc( %botx - 15 ) 160
drawline @teken 4 2 $calc( %botx - 15 ) 160 $calc( %botx - 30 ) 145
set %bcou poing
btim 10 bcou1
}
if ( $keyval == %bpied ) && ( %bcou == $null ) {
drawline @teken 1 2 $calc( %botx -10) 240 %botx 180
drawline @teken 4 2 $calc( %botx -20) 170 %botx 180
drawline @teken 4 2 $calc( %botx -20) 170 $calc( %botx -40) 180
set %bcou pied
btim 10 bcou2
}
if ( $keyval == %bdefence1 ) && ( %bcou == $null ) {
drawline @teken 4 2 %botx 145 $calc( %botx - 15 ) 160
drawline @teken 4 2 $calc( %botx - 15 ) 160 $calc( %botx - 15 ) 130
drawdot @teken 14 5 $calc( %botx - 14 ) 130
set %bcou defence1
btim 35 tekbot 1
}
if ( $keyval == %bdefence2 ) && ( %cou == $null ) {
drawline @teken 1 2 $calc( %botx +10) 240 %botx 180
drawline @teken 4 2 $calc( %botx -20) 170 %botx 180
drawline @teken 4 2 $calc( %botx -20) 170 $calc( %botx -20) 200
drawdot @teken 14 5 $calc( %botx -20) 203
set %bcou defence2
btim 35 tekbot 1
}
}
}
menu @teken {
recommencer :/teken2
-
config :/tekencfg
close :/window -c @teken | .timerbo off | .timerout off
}
alias tekman {
if ( %cou == poing ) && ( %bcou != defence1 ) && ( $calc(%botx - %tekx ) <= 45 ) { inc %scoreman | if ( %botx < 590 ) { set %botx $calc( %botx + 4 ) } }
if ( %cou == pied ) && ( %bcou != defence2 ) && ( $calc(%botx - %tekx ) <= 55 ) { inc %scoreman | if ( %botx < 590 ) { set %botx $calc( %botx + 4 ) } }
unset %cou
drawrect -f @teken 1 1 0 0 600 250
kentime
drawtext @teken 12 20 20 %tekman
drawtext @teken 4 $calc( 550 - $len( %tekbot ) ) 20 %tekbot
drawtext @teken 9 270 5 %scoreman
drawtext @teken 9 325 5 %scorebot
drawrect @teken 12 1 20 9 230 9 | drawrect @teken 4 1 350 9 230 9
drawrect -f @teken 12 1 20 9 $calc( 230 / %scoreken * %scoreman ) 9
drawrect -f @teken 4 1 $calc( 350 + ( 230 - 230 / %scoreken * %scorebot ) ) 9 $calc( 230 / %scoreken * %scorebot ) 9
drawline @teken 12 2 $calc( %tekx -10) 240 %tekx 180
drawline @teken 12 2 $calc( %tekx +10) 240 %tekx 180
drawline @teken 12 2 %tekx 140 %tekx 180
drawdot @teken 12 10 $calc( %tekx +2) 135
drawline @teken 4 2 $calc( %botx -10) 240 %botx 180
drawline @teken 4 2 $calc( %botx +10) 240 %botx 180
drawline @teken 4 2 %botx 140 %botx 180
drawdot @teken 4 10 $calc( %botx +2) 135
if ( %scorebot == %scoreken ) || ( %scoreman == %scoreken ) { winner }
}
alias tekbot {
if ( %bcou == poing ) && ( %cou != defence1 ) && ( $calc(%botx - %tekx ) <= 45 ) { inc %scorebot | if ( %tekx > 10 ) { set %tekx $calc( %tekx - 4 ) } }
if ( %bcou == pied ) && ( %cou != defence2 ) && ( $calc(%botx - %tekx ) <= 55 ) { inc %scorebot | if ( %tekx > 10 ) { set %tekx $calc( %tekx - 4 ) } }
unset %bcou
drawrect -f @teken 1 1 0 0 600 250
kentime
drawtext @teken 12 20 20 %tekman
drawtext @teken 4 $calc( 550 - $len( %tekbot ) ) 20 %tekbot
drawtext @teken 9 270 5 %scoreman
drawtext @teken 9 325 5 %scorebot
drawrect @teken 12 1 20 9 230 9 | drawrect @teken 4 1 350 9 230 9
drawrect -f @teken 12 1 20 9 $calc( 230 / %scoreken * %scoreman ) 9
drawrect -f @teken 4 1 $calc( 350 + ( 230 - 230 / %scoreken * %scorebot ) ) 9 $calc( 230 / %scoreken * %scorebot ) 9
drawline @teken 12 2 $calc( %tekx -10) 240 %tekx 180
drawline @teken 12 2 $calc( %tekx +10) 240 %tekx 180
drawline @teken 12 2 %tekx 140 %tekx 180
drawdot @teken 12 10 $calc( %tekx +2) 135
drawline @teken 4 2 $calc( %botx -10) 240 %botx 180
drawline @teken 4 2 $calc( %botx +10) 240 %botx 180
drawline @teken 4 2 %botx 140 %botx 180
drawdot @teken 4 10 $calc( %botx +2) 135
if ( %scorebot == %scoreken ) || ( %scoreman == %scoreken ) { winner }
}
alias kentime {
if ( $calc( %tektimeout - ( $ctime - %tektime ) ) <= 0 ) { .timerout off | drawtext @teken 9 270 100 time out | timerwin 1 2 winner }
drawrect -f @teken 1 2 285 19 30 15
drawtext @teken 15 290 20 $calc( %tektimeout - ( $ctime - %tektime ) )
}
alias winner {
drawrect -f @teken 1 2 265 99 70 15
set %fight 0
if ( %scorebot == 0 ) && ( %scorebot < %scoreman ) { drawtext @teken 9 270 100 perfect for %tekman }
elseif ( %scoreman == 0 ) && ( %scorebot > %scoreman ) { drawtext @teken 9 270 100 perfect for %tekbot }
elseif ( %scorebot > %scoreman ) { drawtext @teken 9 270 100 %tekbot win }
elseif ( %scorebot < %scoreman ) { drawtext @teken 9 270 100 %tekman win }
elseif ( %scorebot == %scoreman ) { drawtext @teken 9 270 100 equality }
set %scorebot 0
set %scoreman 0
set %tekx 50
set %botx 550
.timer 1 3 fight
}
alias fight { set %fight 1 | set %tektime $ctime | tekman }
alias cou1 {
drawline @teken 1 2 %tekx 145 $calc( %tekx + 15 ) 160
drawline @teken 1 2 $calc( %tekx + 15 ) 160 $calc( %tekx + 30 ) 145
drawline @teken 12 2 %tekx 145 $calc( %tekx + 40 ) 145
drawdot @teken 4 5 $calc( %tekx + 40 ) 147
tim2 25 tekman
}
alias cou2 {
drawline @teken 1 2 $calc( %tekx +20) 170 %tekx 180
drawline @teken 1 2 $calc( %tekx +20) 170 $calc( %tekx +40) 180
drawline @teken 12 2 $calc( %tekx +50) 180 %tekx 180
drawdot @teken 4 5 $calc( %tekx +50) 183
tim2 25 tekman
}
alias bcou1 {
drawline @teken 1 2 %botx 145 $calc( %botx - 15 ) 160
drawline @teken 1 2 $calc( %botx - 15 ) 160 $calc( %botx - 30 ) 145
drawline @teken 4 2 %botx 145 $calc( %botx - 40 ) 145
drawdot @teken 12 5 $calc( %botx - 40 ) 147
btim2 25 tekbot
}
alias bcou2 {
drawline @teken 1 2 $calc( %botx -20) 170 %botx 180
drawline @teken 1 2 $calc( %botx -20) 170 $calc( %botx -40) 180
drawline @teken 4 2 $calc( %botx -50) 180 %botx 180
drawdot @teken 12 5 $calc( %botx -50) 183
btim2 25 tekbot
}
;##########
;# dialog #
;##########
alias tekencfg { dialog -m teken teken }
dialog teken {
title "teken by abdoulax"
size -1 -1 200 100
option dbu
button "~~---o?0O@° .:(ok):. °@O0?o---~~" 1,4 90 192 8,ok
box "joueur gauche",2, 4 4 61 84
edit "" ,3, 33 14 30 10,read
button "gauche",4, 6 14 25 10
edit "" ,5, 33 26 30 10,read
button "droite",6, 6 26 25 10
edit "" ,7, 33 38 30 10,read
button "poing",8, 6 38 25 10
edit "" ,9, 33 50 30 10,read
button "pied",10, 6 50 25 10
edit "" ,11, 33 62 30 10,read
button "défence1",12, 6 62 25 10
edit "" ,13, 33 74 30 10,read
button "défence2",14, 6 74 25 10
box "joueur droite",15, 74 4 61 84
edit "" ,16, 103 14 30 10,read
button "gauche",17, 76 14 25 10
edit "" ,18, 103 26 30 10,read
button "droite",19, 76 26 25 10
edit "" ,20, 103 38 30 10,read
button "poing",21, 76 38 25 10
edit "" ,22, 103 50 30 10,read
button "pied",23, 76 50 25 10
edit "" ,24, 103 62 30 10,read
button "défence1",25, 76 62 25 10
edit "" ,26, 103 74 30 10,read
button "défence2",27, 76 74 25 10
text "joueur gauche :",28, 142 6 54 8
edit "" ,29, 142 14 55 10
text "joueur droite :",30, 142 26 54 8
edit "" ,31, 142 34 55 10
text "time out :",32, 142 46 45 8
edit "" ,33, 142 54 55 10
text "score gagnant :",34, 142 66 54 8
edit "" ,35, 142 74 55 10
}
alias seltek { window -doapBkC +dL @select 1 1 200 40 | drawrect -f @select 12 1 0 0 200 50 | drawtext @select 4 20 10 appuyer sur le boutton }
on 1:KEYDOWN:@select:*:set %seltek $keyval | %selbut | window -c @select
on *:dialog:teken:init:0:{
did -a teken 3 %jgauche
did -a teken 5 %jdroite
did -a teken 7 %jpoing
did -a teken 9 %jpied
did -a teken 11 %jdefence1
did -a teken 13 %jdefence2
did -a teken 16 %bgauche
did -a teken 18 %bdroite
did -a teken 20 %bpoing
did -a teken 22 %bpied
did -a teken 24 %bdefence1
did -a teken 26 %bdefence2
did -a teken 29 %tekman
did -a teken 31 %tekbot
did -a teken 33 %tektimeout
did -a teken 35 %scoreken
}
on *:dialog:teken:sclick:4:set %selbut jgauche | seltek
on *:dialog:teken:sclick:6:set %selbut jdroite | seltek
on *:dialog:teken:sclick:8:set %selbut jpoing | seltek
on *:dialog:teken:sclick:10:set %selbut jpied | seltek
on *:dialog:teken:sclick:12:set %selbut jdefence1 | seltek
on *:dialog:teken:sclick:14:set %selbut jdefence2 | seltek
on *:dialog:teken:sclick:17:set %selbut bgauche | seltek
on *:dialog:teken:sclick:19:set %selbut bdroite | seltek
on *:dialog:teken:sclick:21:set %selbut bpoing | seltek
on *:dialog:teken:sclick:23:set %selbut bpied | seltek
on *:dialog:teken:sclick:25:set %selbut bdefence1 | seltek
on *:dialog:teken:sclick:27:set %selbut bdefence2 | seltek
on *:dialog:teken:edit:29:set %tekman $did(teken,29)
on *:dialog:teken:edit:31:set %tekbot $did(teken,31)
on *:dialog:teken:edit:33:set %tektimeout $did(teken,33)
on *:dialog:teken:edit:35:set %scoreken $did(teken,35)
alias jgauche {
set %jgauche %seltek
did -r teken 3
did -a teken 3 %jgauche
}
alias jdroite {
set %jdroite %seltek
did -r teken 5
did -a teken 5 %jdroite
}
alias jpoing {
set %jpoing %seltek
did -r teken 7
did -a teken 7 %jpoing
}
alias jpied {
set %jpied %seltek
did -r teken 9
did -a teken 9 %jpied
}
alias jdefence1 {
set %jdefence1 %seltek
did -r teken 11
did -a teken 11 %jdefence1
}
alias jdefence2 {
set %jdefence2 %seltek
did -r teken 13
did -a teken 13 %jdefence2
}
alias bgauche {
set %bgauche %seltek
did -r teken 16
did -a teken 16 %bgauche
}
alias bdroite {
set %bdroite %seltek
did -r teken 18
did -a teken 18 %bdroite
}
alias bpoing {
set %bpoing %seltek
did -r teken 20
did -a teken 20 %bpoing
}
alias bpied {
set %bpied %seltek
did -r teken 22
did -a teken 22 %bpied
}
alias bdefence1 {
set %bdefence1 %seltek
did -r teken 24
did -a teken 24 %bdefence1
}
alias bdefence2 {
set %bdefence2 %seltek
did -r teken 26
did -a teken 26 %bdefence2
}
;#######
;# tim #
;#######
alias btim {
set %btim 1
btimtim $1-
}
alias btimtim {
inc %btim
if ( %btim == $1 ) { $2- }
if ( %btim < $1 ) { .timerbtim 1 .1 btimtim $1- }
}
alias btim2 {
set %btim2 1
btimtim2 $1-
}
alias btimtim2 {
inc %btim2
if ( %btim2 == $1 ) { $2- }
if ( %btim2 < $1 ) { .timerbtim2 1 .1 btimtim2 $1- }
}
alias tim {
set %tim 1
timtim $1-
}
alias timtim {
inc %tim
if ( %tim == $1 ) { $2- }
if ( %tim < $1 ) { .timertim 1 .1 timtim $1- }
}
alias tim2 {
set %tim2 1
timtim2 $1-
}
alias timtim2 {
inc %tim2
if ( %tim2 == $1 ) { $2- }
if ( %tim2 < $1 ) { .timertim2 1 .1 timtim2 $1- }
}
Conclusion :
n'oublier pas de configurer les touche avant de commencer . ( clic droit , config )
have fun
by abdoulax
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.