Black Jack Game — File Browser
BlackJackGamev0.01 / BlackJackGamev0.01 / 21 / 21.mrc
21.mrc — 14.46 KB — Download this file
alias -l v21 return v0.01 beta
;black jack
;0.01b
;events
on 1:LOAD:echo $color(info) -s * Game loaded, type /21
on 1:UNLOAD:unset %21-*
on 1:MIDIEND:{
if ($window(@Black)) {
set %21.mname $findfile($scriptdir,*.mid,$r(1,5))
splay -m $shortfn(%21.mname)
drawtext -r @Black2 $rgb(250,250,250) Arial 9 18 5 $remove($replace($nopath(%21-mname),$chr(95),$chr(32)),.mid)
}
}
on 1:CLOSE:@Black:{
window -c @Black2
window -c @Black3
window -c @Black4
if ($inmidi) splay -m stop
if ($timer(VU)) .timerVU off
unset %21.*
}
;draws
;/drawclosecard @ <X Y>
alias -l drawclosecard {
drawrect -frd $1 $rgb(250,250,250) 1 $2 $3 50 80 10 10
drawrect -rd $1 $rgb(0,0,0) 1 $2 $3 50 80 10 10
drawrect -rf $1 $rgb(255,100,100) 1 $calc($2 +5) $calc($3 +5) 40 70
set %x 0
while (%x < 35) {
drawrect -rf $1 $rgb($calc(255- %x),0,0) 1 $calc($2 +5) $calc($3 +5+ %x) 40 1
drawrect -rf $1 $rgb($calc(200- %x),0,0) 1 $calc($2 +5) $calc($3 +75- %x) 40 1
if (%x < 20) {
drawrect -rf $1 $rgb($calc(100+ %x),0,0) 1 $calc($2 +6+ %x) $calc($3 +5) 1 70
drawrect -rf $1 $rgb($calc(50+ %x),0,0) 1 $calc($2 +44- %x) $calc($3 +5) 1 70
}
inc %x 2
}
}
;/drawcard @ <X Y> <CARTA> <NAIPE>
alias -l drawcard {
drawrect -frd $1 $rgb(250,250,250) 1 $2 $3 50 80 10 10
drawrect -rd $1 $rgb(0,0,0) 1 $2 $3 50 80 10 10
set %21.temp3 $replace($4,10,B,11,J,12,Q,13,K,1,A,B,10)
set %21.temp2 $iif($5 isin 31,0,255)
drawtext -ro $1 $rgb(%21.temp2,0,0) $calc($2 +5) $calc($3 +5) %21.temp3
drawtext -ro $1 $rgb(%21.temp2,0,0) $calc($2 + $iif($len(%21.temp3) = 2,27,35)) $calc($3 + 60) %21.temp3
drawpic -t $1 $rgb(255,0,255) $calc($2 +16) $calc($3 +31) $calc(($5 -1) *15) 0 15 15 $shortfn($scriptdir21.bmp)
}
;/drawbutton @ <X Y W H> <NAME>
alias -l drawbutton {
drawrect -rf $1 $rgb(0,50,0) 1 $calc($2 +3) $calc($3 +3) $4 $5
drawrect -rf $1 $rgb(100,0,0) 1 $2 $3 $4 $5
drawrect -r $1 $rgb(200,0,0) 1 $2 $3 $4 $5
drawrect -r $1 $rgb(150,0,0) 1 $calc($2 +1) $calc($3 +1) $calc($4 -1) $calc($5 -1)
drawline -r $1 $rgb(50,0,0) 1 $calc($2 +1) $calc($3 + $5 -1) $calc($2 + $4) $calc($3 + $5 -1)
drawline -r $1 $rgb(0,0,0) 1 $2 $calc($3 + $5) $calc($2 + $4) $calc($3 + $5)
drawline -r $1 $rgb(50,0,0) 1 $calc($2 + $4 -1) $calc($3 +1) $calc($2 + $4 -1) $calc($3 + $5 -1)
drawline -r $1 $rgb(0,0,0) 1 $calc($2 + $4) $3 $calc($2 + $4) $calc($3 + $5 +1)
set %21.temp1 $calc((($5 -15)/2)+ $3)
set %21.temp2 $calc((($4 - $width($6-,arial,12,b))/2)+ $2)
drawtext -ro @Black2 $rgb(0,0,0) arail 12 $calc(%21.temp2 +1) $calc(%21.temp1 +1) $6-
drawtext -ro @Black2 $rgb(250,250,250) arail 12 %21.temp2 %21.temp1 $6-
}
;/drawdisbut @ <X Y W H> <NAME>
alias -l drawdisbut {
drawrect -rf $1 $rgb(0,50,0) 1 $calc($2 +3) $calc($3 +3) $4 $5
drawrect -rf $1 $rgb(100,100,100) 1 $2 $3 $4 $5
drawrect -r $1 $rgb(200,200,200) 1 $2 $3 $4 $5
drawrect -r $1 $rgb(150,150,150) 1 $calc($2 +1) $calc($3 +1) $calc($4 -1) $calc($5 -1)
drawline -r $1 $rgb(50,50,50) 1 $calc($2 +1) $calc($3 + $5 -1) $calc($2 + $4) $calc($3 + $5 -1)
drawline -r $1 $rgb(0,0,0) 1 $2 $calc($3 + $5) $calc($2 + $4) $calc($3 + $5)
drawline -r $1 $rgb(50,50,50) 1 $calc($2 + $4 -1) $calc($3 +1) $calc($2 + $4 -1) $calc($3 + $5 -1)
drawline -r $1 $rgb(0,0,0) 1 $calc($2 + $4) $3 $calc($2 + $4) $calc($3 + $5 +1)
set %21.temp1 $calc((($5 -15)/2)+ $3)
set %21.temp2 $calc((($4 - $width($6-,arial,12,b))/2)+ $2)
drawtext -ro @Black2 $rgb(200,200,200) arail 12 $calc(%21.temp2 +1) $calc(%21.temp1 +1) $6-
drawtext -ro @Black2 $rgb(60,60,60) arail 12 %21.temp2 %21.temp1 $6-
}
;/drawclickd @ <X Y W H> <NAME>
alias -l drawclickd {
drawrect -rf $1 $rgb(0,100,0) 1 $2 $3 $4 $5
drawrect -rf $1 $rgb(0,50,0) 1 $calc($2 +3) $calc($3 +3) $4 $5
drawrect -rf $1 $rgb(100,0,0) 1 $2 $3 $4 $5
drawrect -r $1 $rgb(0,0,0) 1 $2 $3 $4 $5
drawrect -r $1 $rgb(50,0,0) 1 $calc($2 +1) $calc($3 +1) $calc($4 -1) $calc($5 -1)
drawline -r $1 $rgb(50,0,0) 1 $calc($2 +1) $calc($3 + $5 -1) $calc($2 + $4) $calc($3 + $5 -1)
drawline -r $1 $rgb(0,0,0) 1 $2 $calc($3 + $5) $calc($2 + $4) $calc($3 + $5)
drawline -r $1 $rgb(50,0,0) 1 $calc($2 + $4 -1) $calc($3 +1) $calc($2 + $4 -1) $calc($3 + $5 -1)
drawline -r $1 $rgb(0,0,0) 1 $calc($2 + $4) $3 $calc($2 + $4) $calc($3 + $5 +1)
set %21.temp1 $calc((($5 -15)/2)+ $3)
set %21.temp2 $calc((($4 - $width($6-,arial,12,b))/2)+ $2)
drawtext -ro @Black2 $rgb(250,250,250) arail 12 $calc(%21.temp2 +1) $calc(%21.temp1 +1) $6-
}
;rungame
alias 21 {
.enable #MENU21
window -Ckpdh +btn @Black 0 0 400 250 | titlebar @Black Jack
drawfill -r @Black $rgb(0,100,0) 1 1 1
drawtext -r @Black $RGB(250,250,250) Arial 9 5 5 Loading...
window -hp +d @Black2 0 0 $calc($window(@Black).bw +2) $calc($window(@Black).bh +2)
window -hp +d @Black3 0 0 $calc($window(@Black).bw +2) $calc($window(@Black).bh +2)
window -hp +d @Black4 0 0 $calc($window(@Black).bw +2) $calc($window(@Black).bh +2)
var %a = 50,%b = 5
while (%a < 115) { drawline -r @Black3 $rgb(0,%a,0) 5 %b -5 -5 %b | inc %a 1 | inc %b 10 }
if (%21-mname != off) set %21-mname $findfile($scriptdir,*.mid,$r(1,5))
%21-grana = 1000 | %21.aposta = 0 | %21.bs = button,disbut,disbut,disbut | %21.Tim_Maia = 21 by fnt
21make 1 | 21copy
if (%21-mname != off) splay -m $shortfn(%21-mname)
}
;auxeng
alias -l id21 {
if ($isid) {
return $iif($calc($replace($remove($replace($1-,10,x,11,x,12,x,13,x,1.,11.),.1,.2,.3,.4),$chr(32),+,x,10)) < 22,$ifmatch,$calc($replace($remove($replace($1-,10,x,11,x,12,x,13,x),.1,.2,.3,.4),$chr(32),+,x,10)))
}
elseif ($1 = ihh) {
set %21.bs $puttok($puttok($puttok(%21.bs,disbut,3,44),disbut,4,44),button,1,44)
titlebar @Black $replace($window(@Black).title,Jack -,Jack - YOU LOSE -)
set %21.aposta 000
unset %21.Tim_Maia
if (%21-grana = 0) .timerVU -m 1 500 21make 5
else .timerVU -m 1 500 21make
}
elseif ($1 = eee) {
set %21.bs $puttok($puttok($puttok(%21.bs,disbut,3,44),disbut,4,44),button,1,44)
titlebar @Black $replace($window(@Black).title,Jack -,Jack - YOU WIN -)
inc %21-grana $calc(%21.aposta *2)
set %21.aposta 000
unset %21.Tim_Maia
.timerVU -m 1 500 21make
}
}
alias -l 21bbbbb {
draw $+ $gettok(%21.bs,1,44) @Black2 310 50 70 18 bet
draw $+ $gettok(%21.bs,2,44) @Black2 310 130 70 18 start
draw $+ $gettok(%21.bs,3,44) @Black2 310 170 70 18 hit
draw $+ $gettok(%21.bs,4,44) @Black2 310 195 70 18 stand
}
alias -l 21endgame {
if (%21.eg < $gettok(%21.cc,0,32)) {
drawcard @Black2 $calc(76+( %21.eg *30)) 36 $replace($gettok(%21.cc,$calc(%21.eg +1),32),.,$chr(32))
21copy | inc %21.eg
set %x 1 | unset %y | while (%x <= %21.eg) { set %y %y $gettok(%21.cc,%x,32) | inc %x }
titlebar @Black Jack - You: $id21(%21.mc) - Dealer: $id21(%y)
}
else {
.timerVU off
titlebar @Black Jack - You: $id21(%21.mc) - Dealer: $id21(%21.cc)
if ($id21(%21.cc) > 21) { id21 eee }
elseif ($id21(%21.cc) > $id21(%21.mc)) { id21 ihh }
else { id21 eee }
}
}
alias -l 21buycard {
if ($1) {
:renato_russo
tokenize 32 $+($r(1,13),.,$r(1,4))
if (!$findtok(%21.mc,$1,0,32)) && (!$findtok(%21.cc,$1,0,32)) set %21.cc %21.cc $1
else goto renato_russo
}
else {
:chico_buarque
tokenize 32 $+($r(1,13),.,$r(1,4))
if (!$findtok(%21.mc,$1,0,32)) && (!$findtok(%21.cc,$1,0,32)) set %21.mc %21.mc $1
else goto chico_buarque
}
}
;copywintowin
alias -l 21copy {
drawcopy @Black3 0 0 $window(@Black).bw $window(@Black).bh @Black4 0 0
drawcopy -t @Black2 $rgb(0,100,0) 0 0 $window(@Black).bw $window(@Black).bh @Black4 0 0
drawcopy @Black4 0 0 $window(@Black).bw $window(@Black).bh @Black 0 0
}
;drawengine
alias -l 21make {
drawfill -r @Black2 $rgb(0,100,0) 1 1 1
if (%21-mname != off) drawtext -r @Black2 $rgb(250,250,250) Webdings 20 5 -2 X
else drawtext -r @Black2 $rgb(180,180,180) Webdings 20 5 -2 X
if (%21-mname != off) drawtext -r @Black2 $rgb(250,250,250) Arial 9 18 5 $remove($replace($nopath(%21-mname),$chr(95),$chr(32)),.mid)
set %21.temp1 $calc(367 - $width(%21-grana,arial,32,B))
drawtext -ro @Black2 $rgb(0,50,0) Arial 32 $calc(%21.temp1 +1) 5 $+($chr(36),%21-grana)
drawtext -ro @Black2 $rgb(250,250,250) Arial 32 $calc(%21.temp1 -1) 3 $+($chr(36),%21-grana)
drawtext -r @Black2 $rgb(0,50,0) Fixedsys 8 335 83 bet
drawtext -r @Black2 $rgb(250,250,250) Fixedsys 8 334 82 bet
drawtext -r @Black2 $rgb(0,50,0) Fixedsys 8 330 98 $CHR(36) $+ $iif(%21.aposta,$ifmatch,000)
drawtext -r @Black2 $rgb(220,250,220) Fixedsys 8 329 97 $CHR(36) $+ $iif(%21.aposta,$ifmatch,000)
21bbbbb | %x = 10
while (%x < 16) { drawrect -rd @Black2 $rgb(10,10,10) 1 %x $calc(%x +20) 50 80 10 10 | inc %x }
drawclosecard @Black2 16 36
if ($1 = 1) && (%21.Tim_Maia) {
;ing version don't have instructions
}
elseif ($1 = 2) {
set %21.ax 0
while (%21.ax < 91) && ($window(@Black)) {
drawrect -rf @Black2 $rgb(0,100,0) 1 62 36 100 80
drawrect -fr @Black2 $rgb(0,100,0) 1 16 113 65 100
drawclosecard @Black2 16 36
if (%21.ax < 61) drawclosecard @Black2 $calc(16+ %21.ax) 36
else drawclosecard @Black2 76 36
drawclosecard @Black2 16 $calc(36+ %21.ax)
inc %21.ax 5 | 21copy
}
tokenize 46 $+(%21.mc,.,%21.cc)
drawcard @Black2 16 126 $1 $2
drawcard @Black2 76 36 $3 $4
21copy | titlebar @Black Jack - You: $id21(%21.mc) - Dealer: $id21(%21.cc)
}
elseif ($1 = 3) {
if ($gettok(%21.mc,0,32) > 8) {
set %21.bs $puttok(%21.bs,disbut,3,44)
drawdisbut @Black2 310 170 70 18 hit
}
drawcard @Black2 76 36 $replace(%21.cc,$chr(46),$chr(32)) | set %21.temp6 0
while (%21.temp6 < $gettok(%21.mc,0,32)) {
set %21.temp5 $gettok(%21.mc,$calc(%21.temp6 +1),32)
drawcard @Black2 $calc(16+( %21.temp6 *30)) 126 $gettok(%21.temp5,1,46) $gettok(%21.temp5,2,46)
inc %21.temp6
}
titlebar @Black Jack - You: $id21(%21.mc) - Dealer: $id21(%21.cc)
if ($id21(%21.mc) > 21) id21 ihh
elseif ($id21(%21.mc) = 21) id21 eee
21copy
}
elseif ($1 = 4) {
set %21.temp6 0
while (%21.temp6 < $gettok(%21.mc,0,32)) {
set %21.temp5 $gettok(%21.mc,$calc(%21.temp6 +1),32)
drawcard @Black2 $calc(16+( %21.temp6 *30)) 126 $gettok(%21.temp5,1,46) $gettok(%21.temp5,2,46)
inc %21.temp6
}
set %21.temp3 $calc($replace(%21.mc,$chr(32),+))
while ($id21(%21.cc) <= $id21(%21.mc)) { 21buycard Cássia Eller }
drawcard @Black2 76 36 $replace($gettok(%21.cc,1,32),$chr(46),$chr(32))
21copy | set %21.eg 1
.timerVU -m 0 500 21endgame
}
elseif ($1 = 5) {
.disable #MENU21 | titlebar @Black Jack - Game Over
set %21.bs $puttok($puttok($puttok($puttok(%21.bs,disbut,1,44),disbut,2,44),disbut,3,44),disbut,4,44)
drawrect -rf @Black2 $rgb(0,0,0) 1 0 0 $window(@Black).bw $window(@Black).bh
drawtext -ro @Black2 $rgb(250,250,250) Arial 32 99 93 GAME OVER
21copy
}
else 21copy
}
menu menubar {
-
&Black Jack
.Play it! [/21]:21
.-
.Author...:{
window -Ckpdh +btn @About 0 0 220 215
drawfill -r @About $rgb(0,100,0) 1 1 1
drawtext -ro @About $RGB(250,250,250) fixedsys 10 5 5 Black Jack Game
drawtext -r @About $RGB(250,250,250) fixedsys 10 5 20 $v21
drawclosecard @About 5 45
drawclosecard @About 35 45
drawcard @About 65 45 1 1
drawcard @About 95 45 1 2
drawcard @About 125 45 1 3
drawcard @About 155 45 1 4
drawtext -r @About $RGB(250,250,250) fixedsys 8 5 135 by fnt (fantal@email.com)
drawtext -r @About $RGB(250,250,250) fixedsys 8 29 150 irc: irc.brasnet.org
drawtext -r @About $RGB(250,250,250) fixedsys 8 69 165 join #besteam
}
}
#MENU21 on
menu @Black {
sclick:{
if ($mouse.x > 4) && ($mouse.y > 2) && ($mouse.x < 18) && ($mouse.y < 19) {
drawrect -rf @Black2 $rgb(0,100,0) 1 0 0 200 25
if ($inmidi) {
splay -m stop | set %21-mname off
drawtext -r @Black2 $rgb(180,180,180) Webdings 20 5 -2 X
}
else {
set %21-mname $findfile($scriptdir,*.mid,$r(1,5)) | splay -m $shortfn(%21-mname)
drawtext -r @Black2 $rgb(250,250,250) Webdings 20 5 -2 X
drawtext -r @Black2 $rgb(250,250,250) Arial 9 18 5 $remove($replace($nopath(%21-mname),$chr(95),$chr(32)),.mid)
}
21copy
}
if ($mouse.x > 311) && ($mouse.y > 50) && ($mouse.x < 382) && ($mouse.y < 69) {
if ($gettok(%21.bs,1,44) == button) {
drawclickd @Black2 310 50 70 18 bet
21copy | set %21.temp4 a
}
else beep
}
if ($mouse.x > 310) && ($mouse.y > 130) && ($mouse.x < 381) && ($mouse.y < 149) {
if ($gettok(%21.bs,2,44) == button) {
drawclickd @Black2 310 130 70 18 start
21copy | set %21.temp4 b
}
else beep
}
if ($mouse.x > 311) && ($mouse.y > 170) && ($mouse.x < 384) && ($mouse.y < 191) {
if ($gettok(%21.bs,3,44) == button) {
drawclickd @Black2 310 170 70 18 hit
21copy | set %21.temp4 c
}
else beep
}
if ($mouse.x > 310) && ($mouse.y > 194) && ($mouse.x < 383) && ($mouse.y < 216) {
if ($gettok(%21.bs,4,44) == button) {
drawclickd @Black2 310 195 70 18 stand
21copy | set %21.temp4 d
}
else beep
}
;echo if ($mouse.x > $mouse.x $+ ) && ($mouse.y > $mouse.y $+ )
}
uclick:{
;echo && ($mouse.x < $mouse.x $+ ) && ($mouse.y < $mouse.y $+ )
if (%21.temp4 == a) {
drawbutton @Black2 310 50 70 18 bet
dec %21-grana 100
inc %21.aposta 100
if ($gettok(%21.bs,2,44) != button) set %21.bs $puttok(%21.bs,button,2,44)
if (%21-grana < 100) || (%21.aposta > 899) set %21.bs $puttok(%21.bs,disbut,1,44)
21make 1
}
if (%21.temp4 == b) {
drawbutton @Black2 310 130 70 18 start
set %21.bs $puttok($puttok($puttok($puttok(%21.bs,disbut,1,44),disbut,2,44),button,3,44),button,4,44)
set %21.mc $+($r(1,13),.,$r(1,4))
:toktok
tokenize 32 $+($r(1,13),.,$r(1,4))
if (!$findtok(%21.mc,$1,0,32)) set %21.cc $1
else goto toktok
21make 2
}
if (%21.temp4 == c) {
drawbutton @Black2 310 170 70 18 hit
21buycard
21make 3
}
if (%21.temp4 == d) {
drawbutton @Black2 310 195 70 18 stand
set %21.bs $puttok($puttok(%21.bs,disbut,3,44),disbut,4,44)
21make 4
}
21copy
unset %21.temp4
}
leave:{
unset %21.temp4
21bbbbb
21copy
}
}
#MENU21 end