mIRC Puzzle Oyunu – Pic Puzzle Game

menu status,channel,query {  Pic-Puzzle : pic-puzzle}alias pic-puzzle { dialog $iif($dialog(dia.pic-puzzle),-v,-ma dia.pic-puzzle) dia.pic-puzzle }dialog dia.pic-puzzle {  title "Pic Puzzle"  icon $mircexe, 0  size $iif($readini($scriptdirPic-Puzzle.ini,Settings,lastpos.d),$v1,-1 -1) 211 141  option dbu  box "New Game", 1, 8 5 195 130  text "Click here to choose a pic", 12, 15 65 110 8, center  icon 2, 15 15 110 110  text "Image size:", 3, 135 15 60 8, center  combo 4, 135 25 60 165, size drop  text "Cubes:", 5, 135 40 60 8, center  combo 6, 135 50 60 140, size drop  text "Border width:", 9, 135 65 60 8, center  combo 10, 135 75 60 90, size drop  text "© by Flobse", 7, 135 100 60 8, center  button "Start Game", 11, 135 110 60 15}on *:dialog:dia.pic-puzzle:*:*: {  var %ini $qt($scriptdirPic-Puzzle.ini)  if ($devent == init) {    var %x 200    while (%x < = 1200) { did -a $dname 4 %x x %x | inc %x 200 }    did -c $dname 4 $iif($readini(%ini,Settings,size),$v1,3)    var %x 3    while (%x <= 10) { did -a $dname 6 %x x %x | inc %x }    did -c $dname 6 $iif($readini(%ini,Settings,quads),$v1,1)    var %x 0    while (%x <= 100) { did -a $dname 10 %x Pixel | inc %x 5 }    did -c $dname 10 $iif($readini(%ini,Settings,border),$v1,7)    if ($isfile($scriptdirpreview.jpg)) {       did -g $dname 2 0 $qt($scriptdirpreview.jpg)       did -h $dname 12  } }  elseif ($devent == sclick) {    if ($did == 2) || ($did == 12) {      if ($sfile($iif($readini(%ini,Settings,lastpath),$v1,C:\) $+ *.jpg;*.bmp,OK)) {        var %file $v1, %w @Pic-Puzzle.strech        if ($window(%w)) { window -c %w }        window -dphw0f @pic-puzzle.strech -1 -1 500 500        drawpic -s @pic-puzzle.strech 1 1 500 500 $qt(%file)        drawsave @pic-puzzle.strech $qt($scriptdirpreview.jpg)        window -c @pic-puzzle.strech        did -g $dname 2 0 $qt($scriptdirpreview.jpg)        did -h $dname 12        writeini %ini Settings lastpic %file        writeini %ini Settings lastpath $nofile(%file)    } }    elseif ($did == 11) {      writeini %ini Settings size $did(4).sel      writeini %ini Settings border $did(10).sel      writeini %ini Settings quads $did(6).sel      pic.puzzle.start $readini(%ini,Settings,lastpic)      dialog -c $dname  } }  elseif ($devent == close) { writeini %ini Settings lastpos.d $dialog($dname).x $dialog($dname).y }}on *:close:@Pic-Puzzle: {   writeini $qt($scriptdirPic-Puzzle.ini) Settings lastpos $window($target).x $window($target).y  .timer 1 0 pic-puzzle }menu @Pic-Puzzle {  sclick : pic.puzzle.move $mouse.x $mouse.y  dclick : pic.puzzle.move $mouse.x $mouse.y}alias pic.puzzle.start {  if ($isfile($1-)) {    var %winh @Pic-Puzzle.temp, %win @Pic-Puzzle, %h Pic-Puzzle, %hs Pic-Puzzle-Settings, %ini $qt($scriptdirPic-Puzzle.ini)    if ($window(%winh)) { window -c $v1 }    if ($window(%win)) { window -c $v1 }    hfree -w Pic-Puzzle*    hadd -m %hs ps $iif($readini(%ini,Settings,size),$calc($v1 *200),600)    hadd -m %hs pr $iif($readini(%ini,Settings,border),$calc(($v1 -1) *5),30)    hadd -m %hs wr 30    hadd -m %hs bc $rgb(0,0,0)    hadd -m %hs bce $rgb(255,255,255)    hadd -m %hs quads $iif($readini(%ini,Settings,quads),$calc($v1 +2),3)    hadd -m %hs ql $round($calc(($hget(%hs,ps) - ($hget(%hs,pr) *2)) / $hget(%hs,quads)),0)    hadd -m %hs pic $1-    window -dpafBw0k0uh %winh -1 -1 $calc($hget(%hs,ps) + ($hget(%hs,wr) *2)) $calc($hget(%hs,ps) + ($hget(%hs,wr) *2))    window -dpafBw0k0u +t %win  $iif($readini(%ini,Settings,lastpos),$v1,-1 -1) $calc($hget(%hs,ps) +  ($hget(%hs,wr) *2)) $calc($hget(%hs,ps) + ($hget(%hs,wr) *2)) $mircexe 0    drawfill -r %win $hget(%hs,bc) $hget(%hs,bc) 1 1    drawpic -s %winh $hget(%hs,wr) $hget(%hs,wr) $hget(%hs,ps) $hget(%hs,ps) $qt($hget(%hs,pic))    drawpic -s %win $hget(%hs,wr) $hget(%hs,wr) $hget(%hs,ps) $hget(%hs,ps) $qt($hget(%hs,pic))    var %x $calc($hget(%hs,quads) * $hget(%hs,quads)), %r    while (%x) { var %r $instok(%r,%x,$rand(1,$numtok(%r,32)),32) | dec %x }    var %x $calc($hget(%hs,quads) * $hget(%hs,quads) -1)    while (%x) { hadd -m %h %x $gettok(%r,%x,32) | dec %x }    var %i 1, %qx $calc($hget(%hs,pr) + $hget(%hs,wr)), %qy %qx    drawrect -rf %win $hget(%hs,bc) 1 $calc(%qx -1) $calc(%qy -1)  $calc($hget(%hs,ql) * $hget(%hs,quads) +1) $calc($hget(%hs,ql) *  $hget(%hs,quads) +1)    while (%i <= $calc($hget(%hs,quads) * $hget(%hs,quads) -1)) {      var %i2 1, %qx2 $calc($hget(%hs,pr) + $hget(%hs,wr)), %qy2 %qx2      while (%i2 <= $calc($hget(%hs,quads) * $hget(%hs,quads) -1)) {        if (%i2 == $hget(%h,%i)) { drawcopy %winh %qx %qy $hget(%hs,ql)  $hget(%hs,ql) %win %qx2 %qy2 $calc($hget(%hs,ql) -1) $calc($hget(%hs,ql)  -1) }        if ($hget(%hs,quads) // %i2) { var %qx2 $calc($hget(%hs,pr) + $hget(%hs,wr)) | inc %qy2 $hget(%hs,ql) }        else { inc %qx2 $hget(%hs,ql) }        inc %i2      }      if ($hget(%hs,quads) // %i) { var %qx $calc($hget(%hs,pr) + $hget(%hs,wr)) | inc %qy $hget(%hs,ql) }      else { inc %qx $hget(%hs,ql) }      inc %i    }    var %sx $calc($hget(%hs,wr) + $hget(%hs,pr) + ($hget(%hs,ql) * ($hget(%hs,quads) -1)))    var %sy $calc($hget(%hs,wr) + $hget(%hs,pr) + ($hget(%hs,ql) * ($hget(%hs,quads) -1)))    drawrect -rf %win $hget(%hs,bce) 1 %sx %sy $hget(%hs,ql) $hget(%hs,ql)    window -c %winh} }alias pic.puzzle.move {  var %h Pic-Puzzle, %hs Pic-Puzzle-Settings, %win @Pic-Puzzle, %mx  $calc($1 - $hget(%hs,wr) - $hget(%hs,pr)), %my $calc($2 - $hget(%hs,wr) -  $hget(%hs,pr))  if (%mx isnum 1- $+ $calc($hget(%hs,ql) * $hget(%hs,quads))) && (%my isnum $v2) {    if ($hget(pic-puzzle-settings,quads)) {       var %qx $ceil($calc(%mx / $hget(%hs,ql))), %qy $ceil($calc(%my /  $hget(%hs,ql))), %q $calc(%qx + (%qy * $hget(%hs,quads)) -  $hget(%hs,quads))      var %sx $calc($hget(%hs,wr) + $hget(%hs,pr) + ($hget(%hs,ql) * (%qx -1)))      var %sy $calc($hget(%hs,wr) + $hget(%hs,pr) + ($hget(%hs,ql) * (%qy -1)))      if (%qx isnum 1- $+ $calc($hget(%hs,quads) -1)) && (!$hfind(%h,$calc(%q +1),1,n).data) {         drawcopy %win %sx %sy $hget(%hs,ql) $hget(%hs,ql) %win $calc(%sx + $hget(%hs,ql)) %sy $hget(%hs,ql) $hget(%hs,ql)        drawrect -rf %win $hget(%hs,bce) 1 %sx %sy $hget(%hs,ql) $hget(%hs,ql)        hinc %hs Moves        hinc -m %h $hfind(%h,%q,1,n).data      }      elseif (%qx isnum 2-) && (!$hfind(%h,$calc(%q -1),1,n).data) {         drawcopy %win %sx %sy $hget(%hs,ql) $hget(%hs,ql) %win $calc(%sx - $hget(%hs,ql)) %sy $hget(%hs,ql) $hget(%hs,ql)        drawrect -rf %win $hget(%hs,bce) 1 %sx %sy $hget(%hs,ql) $hget(%hs,ql)        hinc %hs Moves        hdec -m %h $hfind(%h,%q,1,n).data      }      elseif (%qy isnum 1- $+ $calc($hget(%hs,quads) -1)) && (!$hfind(%h,$calc(%q + $hget(%hs,quads)),1,n).data) {         drawcopy %win %sx %sy $hget(%hs,ql) $hget(%hs,ql) %win %sx $calc(%sy + $hget(%hs,ql)) $hget(%hs,ql) $hget(%hs,ql)        drawrect -rf %win $hget(%hs,bce) 1 %sx %sy $hget(%hs,ql) $hget(%hs,ql)        hinc %hs Moves        hinc -m %h $hfind(%h,%q,1,n).data $hget(%hs,quads)      }      elseif (%qy isnum 2-) && (!$hfind(%h,$calc(%q - $hget(%hs,quads)),1,n).data) {         drawcopy %win %sx %sy $hget(%hs,ql) $hget(%hs,ql) %win %sx $calc(%sy - $hget(%hs,ql)) $hget(%hs,ql) $hget(%hs,ql)        drawrect -rf %win $hget(%hs,bce) 1 %sx %sy $hget(%hs,ql) $hget(%hs,ql)        hinc %hs Moves        hdec -m %h $hfind(%h,%q,1,n).data $hget(%hs,quads)      }      if ($hget(%hs,moves)) { drawtext -rob %win $rgb(120,120,120)  $hget(%hs,bc) Tahoma 16 $hget(%hs,wr) $calc($hget(%hs,wr) /4)  $hget(%hs,moves) $iif($hget(%hs,moves) == 1,Move $chr(160),Moves) }      var %x 1      while ($hget(%h,%x)) {        if ($v1 != %x) { return }        inc %x      }      var %pw $calc(($hget(%hs,pr) *2) + ($hget(%hs,quads) * $hget(%hs,ql)))      drawpic -s %win $hget(%hs,wr) $hget(%hs,wr) %pw %pw $qt($hget(%hs,pic))      drawtext -rob %win $rgb(120,120,120) $hget(%hs,bc) Tahoma 16  $hget(%hs,wr) $calc($hget(%hs,wr) /4) Done in $hget(%hs,moves)  $iif($hget(%hs,moves) == 1,Move $chr(160),Moves)      hdel %hs quads} } }

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir