;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;[mIRC PuzzLe / Yapboz ] by jeun;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
menu * {
sclick:{
if ($active == @PuZzLe) {
if ($mouse.x isnum %puzz_x_click && $mouse.y isnum %puzz_y_click) {
drawpic -s @PuZzLe 1 1 $calc($window(@PuZzLe).bw / 2) $calc($window(@PuZzLe).bh -55) $qt($msfile($msfile(.,Picture Upload,Load)))
set %puzz_pixel_x $calc($window(@PuZzLe).bw / 2)
set %puzz_pixel_y $calc($window(@PuZzLe).bh -55)
puzzle_data_clear
}
if ($mouse.x isnum %puzz_xx_click && $mouse.y isnum %puzz_yy_click) {
if (%puzz_game_started) { return }
;clears all writing data in text files for tile location on puzzle
puzzle_data_clear
var %puz_yat = $puzzle_the_pic_line_yatay($int(%puzz_pixel_y),$int(%puzz_pixel_x))
var %puz_dik = $puzzle_the_pic_line_dikey($int(%puzz_pixel_x),$int(%puzz_pixel_y))
var %k_ = 1, %l_ = 0, %m_ = 1, %n_ = 0
var %puz_top_kare_ = $calc(%puzz_diff * %puzz_diff)
while (%k_ <= %puz_top_kare_) {
write puzzle.txt %l_ %n_ %puz_dik %puz_yat
write puzzle2.txt $calc(($window(@PuZzLe).bw / 2) + %l_) %n_
if (%puzz_diff // %m_) { var %l_ = 0 | inc %n_ %puz_yat | goto x }
inc %l_ %puz_dik
:x
inc %m_
inc %k_
}
rand_load_from_txt_file
drawrect -f @PuZzLe 0 1 1 1 $calc($window(@PuZzLe).bw / 2) $calc($window(@PuZzLe).bh -55)
noop $puzzle_the_pic_line_yatay($int(%puzz_pixel_y),$int(%puzz_pixel_x))
noop $puzzle_the_pic_line_dikey($int(%puzz_pixel_x),$int(%puzz_pixel_y))
}
;SCLICK on the SECOND puzzle
if ($mouse.x isnum $+($calc($window(@PuZzLe).bw / 2),-,$window(@PuZzLe).bw) && $mouse.y isnum $+(1,-,$calc($window(@PuZzLe).bh - 70))) {
if ($puzzle_second_kontrol($mouse.x,$mouse.y) == OK) { return }
var %cccc_ = %puzz_second_tile_location
$select_tile_from_location_puzzle($mouse.x,$mouse.y,2)
if (%cccc_ != %puzz_second_tile_location) { set %puzz_second_picture_sclicked OK }
;;;;SOMETIMES WHY??????
if (%cccc_ == %puzz_second_tile_location) { unset %puzz_second_tile_location }
}
;SCLICK on the FIRST puzzle
if ($mouse.x isnum $+(1,-,$calc($window(@PuZzLe).bw / 2)) && $mouse.y isnum $+(1,-,$calc($window(@PuZzLe).bh - 70))) {
if (%puzz_first_picture_sclicked && %puzz_yy_click) {
;1. resimde degisiklik yapinca
var %mmm_ = %puzz_first_tile_location
$select_tile_from_location_puzzle($mouse.x,$mouse.y,1)
;kendi kendine kare tasimasini engeller
if (%mmm_ == %puzz_first_tile_location) {
unset %puzz_first_picture_sclicked
unset %puzz_second_picture_sclicked
goto fin
}
if !$read(puzzle_first.txt,w,%puzz_first_tile_location) {
drawcopy @PuZzLe $gettok(%mmm_,1-4,32) @PuZzLe $gettok(%puzz_first_tile_location,1-2,32)
write $+(-dw,$qt($+($gettok(%mmm_,1-4,32),*))) puzzle_first.txt
write $+(-w,$qt(%puzz_first_tile_location)) puzzle_first.txt %puzz_first_tile_location
drawrect -f @PuZzLe 0 1 $gettok(%mmm_,1-4,32)
drawrect -c @PuZzLe 1 1 $gettok(%mmm_,1-4,32)
unset %puzz_first_picture_sclicked
unset %puzz_second_picture_sclicked
goto fin
}
}
if (%puzz_second_picture_sclicked && %puzz_yy_click && !%puzz_first_picture_sclicked) {
;COPIES TILE TO FIRST PUZZLE FROM SECOND PUZZLE By Drawcopy
$select_tile_from_location_puzzle($mouse.x,$mouse.y,1)
if !$read(puzzle_first.txt,w,%puzz_first_tile_location) {
drawcopy @PuZzLe $gettok(%puzz_second_tile_location,5-6,32) $gettok(%puzz_second_tile_location,3-4,32) @PuZzLe $gettok(%puzz_first_tile_location,1-2,32)
write $+(-w,$qt(%puzz_first_tile_location)) puzzle_first.txt %puzz_first_tile_location
drawrect -f @PuZzLe 0 1 $gettok(%puzz_second_tile_location,5-6,32) $gettok(%puzz_second_tile_location,3-4,32)
drawrect -d @PuZzLe 1 1 $gettok(%puzz_second_tile_location,5-6,32) $gettok(%puzz_second_tile_location,3-4,32)
write puzzle2.txt $gettok(%puzz_second_tile_location,5-6,32)
if (!%puzz_game_started) { set %puzz_game_started OK }
unset %puzz_second_picture_sclicked
goto fin
}
}
$select_tile_from_location_puzzle($mouse.x,$mouse.y,1)
if $read(puzzle_first.txt,w,%puzz_first_tile_location) { set %puzz_first_picture_sclicked OK }
}
:fin
}
}
Puzzle:{
var %p = @PuZzLe
if ($window(%p)) { window -c %p }
window -p %p
set %puzz_diff 5
dialog -m puzzle puzzle
var %txt_ = Click Here For Load Picture
var %gen_ = $calc($width(%txt_,verdana,20) / 2 )
drawtext -b @PuZzLe $color(info) verdana $calc(($window(%p).bw /4) - $int(%gen_)) $calc($window(%p).bh - 50) %txt_
set %puzz_x_click $calc(($window(%p).bw / 4) - $int(%gen_)) $+ - $+ $calc(($window(%p).bw / 4) + $int(%gen_))
set %puzz_y_click $calc(($window(%p).bh - 50) - 5) $+ - $+ $calc(($window(%p).bh - 50) + 20)
;;;
var %txt_ = Click Here For To Start Puzzle
var %gen_ = $calc($width(%txt_,verdana,20) / 2 )
drawtext -b @PuZzLe $color(info) verdana $calc(($window(%p).bw /2) + $int(%gen_)) $calc($window(%p).bh - 50) %txt_
set %puzz_xx_click $calc(($window(%p).bw / 2) + $int(%gen_)) $+ - $+ $calc(($window(%p).bw) - $int(%gen_))
set %puzz_yy_click $calc(($window(%p).bh - 50) - 5) $+ - $+ $calc(($window(%p).bh - 50) + 20)
}
}
;HORIZONTAL LINES TO MAKE TILE
alias -l puzzle_the_pic_line_yatay {
var %m_ = 0
var %n_ = $int($calc($1 / %puzz_diff))
set %puzzle_yatay %n_
while (%m_ <= $1) {
drawline -i @PuZzLe 1 1 1 %m_ $2 %m_
inc %m_ %n_
}
return $int($calc($1 / %puzz_diff))
}
;VERTICAL LINES TO MAKE TILE
alias -l puzzle_the_pic_line_dikey {
var %m_ = 0
var %n_ = $int($calc($1 / %puzz_diff))
set %puzzle_dikey %n_
while (%m_ <= $1) {
drawline -i @PuZzLe 1 1 %m_ 1 %m_ $2
inc %m_ %n_
}
return $int($calc($1 / %puzz_diff))
}
;RANDOM PICTURE TILES
alias -l rand_load_from_txt_file {
var %j_ = 1
while (%j_ <= $calc(%puzz_diff * %puzz_diff)) {
var %t_ = $read(puzzle.txt)
write $+(-dl,$readn) puzzle.txt
var %n_ = $read(puzzle2.txt)
write puzzle_r.txt %t_ %n_
write $+(-dl,$readn) puzzle2.txt
inc %j_
}
var %j_ = 1
while (%j_ <= $calc(%puzz_diff * %puzz_diff)) {
drawcopy @PuZzLe $gettok($read(puzzle_r.txt,%j_),1-4,32) @PuZzLe $gettok($read(puzzle_r.txt,%j_),5-,32)
inc %j_
}
}
alias -l select_tile_from_location_puzzle {
var %x_ = 1, %c_ = $lines(puzzle_r.txt), %puz_x = $1, %puz_y = $2, %puzz_no = $3
while (%x_ <= %c_) {
tokenize 32 $read(puzzle_r.txt,%x_)
if (%puzz_no == 2) {
if (%puz_x isnum $+($5,-,$calc($5 + %puzzle_dikey)) && %puz_y isnum $+($6,-,$calc($6 + %puzzle_yatay))) { set %puzz_second_tile_location $$1- | goto ok }
}
if (%puzz_no == 1) {
if (%puz_x isnum $+($1,-,$calc($1 + %puzzle_dikey)) && %puz_y isnum $+($2,-,$calc($2 + %puzzle_yatay))) { set %puzz_first_tile_location $$1- | goto ok }
}
inc %x_
}
:ok
}
alias -l puzzle_second_kontrol {
var %x_ = 1, %c_ = $lines(puzzle2.txt), %puz_x = $1, %puz_y = $2
while (%x_ <= %c_) {
tokenize 32 $read(puzzle2.txt,%x_)
if (%puz_x isnum $+($1,-,$calc($1 + %puzzle_dikey)) && %puz_y isnum $+($2,-,$calc($2 + %puzzle_yatay))) { return OK | break }
inc %x_
}
}
alias puzzle_data_clear {
write -c puzzle.txt
write -c puzzle2.txt
write -c puzzle_r.txt
write -c puzzle_first.txt
}
on 1:CLOSE:@PuZzLe:{
unset %puzz*
puzzle_data_clear
}
dialog puzzle {
title "Choice Difficulty for Puzzle"
size -1 -1 103 55
option dbu
button "Easy", 1, 26 6 54 12
button "Medium", 2, 26 21 54 12
button "Hard", 3, 26 36 54 12
}
on 1:dialog:puzzle:sclick:*: {
if ($did == 1) { set %puzz_diff 5 }
if ($did == 2) { set %puzz_diff 7 }
if ($did == 3) { set %puzz_diff 9 }
dialog -x puzzle
}
Etiketler: mirc, Mirc Addon, mirc addons, Mirc Hazır Kod, mirc hazır kodlar, Mirc İndir, mirc puzzle game, mirc puzzle oyunu, mirc yapboz oyunu
Mirc Sohbet Sitelerinde yaş sınırlaması olup 18 yaşından küçükler olmamalıdır.
Sohbet sitelerimizde sadece yazılı sohbet hizmeti verilerek sohbet edebileceğiniz bir platformdur.
Sunucu içerisinde kurallara aykırı davranış yapanlar uzaklaştırılır.
Sizleri rahatsız eden kullanıcıları kanal yöneticilerine veya #operhelp kanalına şikayet edebilirsiniz.
Mirc Sohbete nasıl bağlanabilirim?
Mirc sohbet odalarına her model akıllı telefon ve tabletleriniz ile kolay bir şekilde bağlanarak sohbet edebilirsiniz.
Mirc Sohbet ücretsiz mi?
Sohbet sitelerimizde özgür ve sınırsız bir şekilde sohbet ederek keyifli zamanlar geçirebilirsiniz.
Yaş sınırlaması var mı?
Sohbeti daha kaliteli ve olgun bir hale getirmek için 18 yaşından küçükler site içerisinde sohbet edememektedir.
Bağlantı kurmak istediğiniz Linkleri Sunucu içerisinde ki yöneticilere bildirerek kendinize ücretsiz kanal oluşturabilirsiniz.