mIRCForumlari.Net

mIRCForumlari.Net (https://www.mircforumlari.net/)
-   mIRC Scripting Hazır Kodlar (https://www.mircforumlari.net/mirc-scripting-hazir-kodlar/)
-   -   mIRC Snake Game / Yılan Oyunu (https://www.mircforumlari.net/mirc-scripting-hazir-kodlar/1177-mirc-snake-game-yilan-oyunu.html)

RahmetLi 03 Ocak 2023 17:03

mIRC Snake Game / Yılan Oyunu
 
[Açıklama]
Eskiden gsm telefonlardaki Snake oyununu mIRC ile yazmaya calistim.
Biraz ugrastiktan sonra tamamladim ve sizin begeninize sunuyorum.
;
Kod yazari: jeun
;
Kodu remotenize koyup /snake yazmaniz yeterlidir.
;
alias -l yem_buyuklugu return 20
alias -l yilan_kalinligi return 18
;yilan rengi 1~15 arasi istege bagli bir deger olmalidir.
alias -l yilan_rengi return 1
;yem rengi 1~15 arasi istege bagli bir deger olmalidir
alias -l yem_rengi return 1
alias -l snake_hizi return 11
;
Yukaridaki degerleri istege bagli degistirip renklendirme yapabilirsiniz.

PHP- Kodu:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;mIRC Snake Yilan Oyunu Calismasi(by jeun)
;Kullanim(Start) /snake
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Degistirilebilir Ayarlar
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

alias -l yem_buyuklugu return 20
alias -l yilan_kalinligi return 18
alias -l yilan_rengi return 1
alias -l yem_rengi return 1
alias -l snake_hizi return 11
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

alias -l snake_baslat {
  if !$window(@Snake) { window -p @Snake } | sn_pu_
  if (%snake_x) { $v1 %snake.x $snake_hizi }
  if (%snake_y) { $v1 %snake.y $snake_hizi }
  if ($inrect(%snake_yem_x,%snake_yem_y,%snake.x,%snake.y,$yem_buyuklugu,$yem_buyuklugu)) { snake_tit_pu | goto snake }
  if ($inrect(%snake.x,%snake.y,%snake_yem_x,%snake_yem_y,$yem_buyuklugu,$yem_buyuklugu)) { snake_tit_pu }
  :snake
  if (%snake_puan > 10 && $snake_kend_carp) { snake_bitir }
  clear @Snake
  set %snake_coordi_ $gettok(%snake_coordi_,5-,32)
  set %snake_coordi_ %snake_coordi_  %snake.x %snake.y $yilan_kalinligi $yilan_kalinligi
  drawrect -fe @Snake $yilan_rengi 1 %snake_coordi_
  if (%snake_yem_x == $null) { snake_yemle }
  drawrect -f @Snake $yem_rengi 2 %snake_yem_x %snake_yem_y $yem_buyuklugu $yem_buyuklugu
  if (%snake.x !isnum $+(1-,$window(@Snake).dw) || %snake.y !isnum $+(1-,$window(@Snake).dh)) { snake_bitir }

}
alias -l snake_tit_pu { set %snake_coordi_ %snake_coordi_ %snake.x %snake.y $yilan_kalinligi $yilan_kalinligi  | snake_yemle | inc %snake_puan | sn_pu_  }
alias -l sn_pu_ { titlebar @Snake Skor: %snake_puan }
alias -l snake_yemle {
  if $calc(%snake_maxlenl - 20) isnum $+(1,-,$len(%snake_coordi_)) { drawtext @Snake 1 $r(60,100) $r(60,100)  Oyunu denediginiz icin tesekkurler. :) | snake_bitir }
  ;efekt
  if (%snake_yem_x) { drawrect -f @Snake $iif($yem_rengi == 4,12,4) 1 %snake_yem_x %snake_yem_y $yem_buyuklugu $yem_buyuklugu }
  set %snake_yem_x $r(20,$calc($window(@Snake).bw - 30))
  set %snake_yem_y $r(20,$calc($window(@Snake).bh - 30))
}

alias snake_kend_carp {
  var %m = 1
  set %snake_new $removecs($gettok(%snake_coordi_,-13-0,32),$+($chr(32),$yilan_kalinligi $yilan_kalinligi))
  var %new_lines = $calc($gettok(%snake_new,0,32) / 2)
  while %m <= %new_lines {
    var %snk = $replace($gettok(%snake_new,2-0,32) %snake.x %snake.y $yilan_kalinligi $yilan_kalinligi,$chr(32),$chr(44))
    if $inrect( [ %snk ] ) { return $true }
    set %snake_new $gettok(%snake_new,3-,32)
    inc %m
  }
  unset %snake_new
}
alias -l snake_bitir {   
  .timersnake off | sn_pu_
  $iif($input(Oyun Bitti $crlf $+ Skor: %snake_puan puan $crlf $+ Tekrar Oynamak İster misin ?,y,Snake),snake,window -c @Snake)
  halt
}
alias snake {

  noop $input(Oyunu Duraklatmak veya Yeniden devam ettirmek icin Space(Bosluk) $crlf $+ Hareket icin Yön Kontrol Tuslarini Kullanin,ok,Snake Bilgi)
  unset %snake*
  set %snake_puan 0 | set %snake.x 10 | set %snake.y 20
  set %snake_coordi_ %snake.x %snake.y $yilan_kalinligi $yilan_kalinligi $calc(%snake.x + 7) %snake.y $yilan_kalinligi $yilan_kalinligi $calc(%snake.x + 14) %snake.y $yilan_kalinligi $yilan_kalinligi
  set %snake_x inc | var_cap
  .timersnake -h 0 50 snake_baslat 
}
on *:close:@Snake:{ .timersnake off | unset %snake* }
on *:keydown:@Snake:*: {

  if ($keyval == 32 && $v1 != %snake_keyval ) { $iif($timer(snake),.timersnake off,.timersnake -h  0 50 /snake_baslat) }
  ;asagi
  if ($keyval == 40 && $v1 != %snake_keyval && %snake_y != dec) { set %snake_y inc | unset %snake_x }
  ;yukari
  if ($keyval == 38 && $v1 != %snake_keyval && %snake_y != inc) { set %snake_y dec | unset %snake_x  }
  ;sag
  if ($keyval == 39 && $v1 != %snake_keyval && %snake_x != dec) { set %snake_x inc | unset %snake_y  }
  ;sol
  if ($keyval == 37 && %snake_x != inc) { set %snake_x dec | unset %snake_y  }
  set %snake_keyval $keyval
}
on *:active:*:{ if ($lactive == @Snake) { .timersnake off } }
alias -l var_cap { var %t | while (1) var %t = %t $+ . | :error | reseterror | set %snake_maxlenl $len(%t) | return %snake_maxlenl }

https://www.ircforumlari.net/attachm...smasi-snakejpg
alıntı


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 22:09.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.


Navbar with Avatar by Motorradforum