IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

 Kayıt ol  Topluluk
5Beğeni(ler)
  • 2 Post By manikdepresif
  • 1 Post By SNOOPY
  • 1 Post By Kursad
  • 1 Post By manikdepresif

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 06 Ekim 2023, 02:57   #1
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
mirc tetris




merhaba,
window picture penceresinde tetris oyunu
kod uzun oldugundan dolayi kod uzerinde pek hakimyet saglayamamisim,
yazdigim kodu tekrar editleyemiyorum kusura bakmayin bir eksigi vardi siradak sekli verrnesi gerekiyordu.
--
kod yazari : jeun
emegi gecenler: HsN

;;->> Oyun ici kontrol
;Yon kontrol tuslari <- | -> sag sol hareket,
;Ust yon kontrol tusu ile sekil degistirme,
;Alt yon kontrol tusuna basik tutunca hizlanma,
;Bosluk(space) tusu ile basip durdurup devam ettirme,
;menu'den klasik veya renkli secim tercihi,
;Xp ve Win 7 isletim sisteminde denenmistir.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;KALANLAR
;uste yana bir sonraki sekil

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
menu channel,nicklist,status,query { Tetris .Klasik:menu_tet klasik .Renkli:menu_tet renkli } on *:close:@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]:{ .timertet* off | unset %_tet* } alias -l menu_tet { set %tetris_renk $1 | unset %timer_no_tetris | window -c $t_p | tetris } alias -l t_p return @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] alias -l tetris { unset %_all_coor %_1_x %_2_y %_3_x %_4_y %_5_x %_6_y %_7_x %_8_y %_tet* %_x_cor %_y_cor if !$window($t_p) { window -aiHl20p $t_p } else { window -a $t_p } pencere_ayar_kare | karelere_bol | ilk_start .timertetris -h 0 300 asagiya_oynat } alias -l ilk_start { var %n = $sekil_sec var %z = $len(%n), %t = 1, %b, %f while (%t <= %z) { var %b %b $+ $mid(%n,%t,1) if (4 // $len(%b)) { inc %f var %m = 1 while %m <= $pos(%b,1,0) { var %_x_cor $calc(((1 + $pos(%b,1,%m))) * %w_miktr_w) var %_y_cor $calc($calc(%f - 1) * %h_miktr_w) set %_all_coor %_all_coor %_x_cor %_y_cor inc %m } var %b } inc %t } } alias -l karelere_bol { ;ekrani karelere boler ve uygun olan width ve height degerlerini bulur. var %y = 1, %j = 20 while (%j) { var %c = 10, %x = 1 while (%c) { ;drawrect $t_p 1 1 %x %y %w_miktr_w %h_miktr_w aline -l $t_p %x %y inc %x %w_miktr_w dec %c } aline -l $t_p %x %y inc %y %h_miktr_w set %_tetr_y_coor %_tetr_y_coor %y dec %j } } alias sekil_sec { ;her seferinde random olarak sekil secer var %j = $r(1,7), %k = 1 ;Tetris sekil renkleri var %r_1 = 255,0,0 , %r_2 = 255,128,0 , %r_3 = 255,0,255 , %r_4 = 0,0,170 var %r_5 = 255,255,23 , %r_6 = 99,236,60 , %r_7 = 0,255,255 while ($isalias($+(sekil-,%j,-,%k))) inc %k var %l = $r(1,$calc(%k - 1)) set %_renk_tet $eval($+(%,r,_,%j),2) if (%tetris_renk == klasik) { set %_renk_tet 0,0,0 } set %_tet_sekil $+(sekil-,%j,-,%l) return $eval($+($,sekil-,%j,-,%l),2) } alias -l sekil_cevir_ { set %_tet_old_all_coor %_all_coor var %kk = $pos($left($eval($+($,%_tet_sekil),2),4),1,1) var %hj = $gettok(%_tet_sekil,1-2,45) $+ - $+ $calc($gettok(%_tet_sekil,3,45) + 1) if $isalias(%hj) { set %_tet_sekil %hj } else { set %_tet_sekil $gettok(%_tet_sekil,1-2,45) $+ - $+ 1 } var %n = $eval($+($,%_tet_sekil),2), %z = $len(%n), %t = 1, %b, %f tokenize 32 %_all_coor unset %_all_coor var %x_1 = $calc($1 - $calc(%kk * %w_miktr_w)) , %y_1 = $2 while (%t <= %z) { var %b %b $+ $mid(%n,%t,1) if (4 // $len(%b)) { inc %f var %m = 1 while %m <= $pos(%b,1,0) { var %_x_cor = $calc(%x_1 + (($pos(%b,1,%m)) * %w_miktr_w)) var %_y_cor = $calc(%y_1 + ($calc(%f - 1) * %h_miktr_w)) var %_xy_cor = $calc(%_x_cor +1) $calc(%_y_cor + 1) ;aline'de lbx'da yoksa, eski kordinatlara doner. if !$fline($t_p,%_xy_cor,1,1) { set %_all_coor %_tet_old_all_coor | break | return } set %_all_coor %_all_coor %_x_cor %_y_cor inc %m } var %b } inc %t } } alias -l showindisplay_save_coor { ;olusan kordinatlardaki kareleri her time da ekrana yukler tokenize 45 $1 var %rgbn_ = $remove($1,@) drawrect -fr $t_p $rgb( [ % $+ rgbn_ ] ) 1 $2 %w_miktr_w %h_miktr_w } alias -l pencere_ayar_kare { set %w_miktr_w $ceil($calc(($window($t_p).bw / 20))) | set %h_miktr_w $ceil($calc(($window($t_p).bh / 20))) } alias -l asagiya_oynat { ;;;;;;;;;;;;;;;;;;;;;;; inc %timer_no_tetris ;;;;;;;;;;;;;;;;;;;;;;;;;;; clear $t_p ;puan skor ???????? if (%_2_y == 0 || %_4_y == 0 || %_6_y == 0 || %_8_y == 0) { $iif($input(Oyun Bitti $crlf $+ Puaniniz: $iif(%_tetris_puan,$v1,0),ok,Tetris Bilgi),window -c $t_p) .timertet* off goto bitir } drawtext $t_p 1 verdana $CALC(%h_miktr_w *2) $calc((%w_miktr_w * 11) +5) $calc(($window($t_p).dh / 2) + $CALC(%h_miktr_w * 4)) Skor: $iif(%_tetris_puan,$v1,0) if $fline($t_p,@*,1,1) { filter -lk $t_p showindisplay_save_coor @* } ;orta ayrac drawline $t_p 1 3 $calc((%w_miktr_w * 11) +5) 1 $calc((%w_miktr_w * 11) +5) $window($t_p).dh ;yan ayrac drawline $t_p 1 3 $calc((%w_miktr_w * 11) +5) $calc($window($t_p).dh / 2) $window($t_p).bw $calc($window($t_p).bh / 2) tokenize 32 %_all_coor set %_1_x $1 | set %_2_y $2 | set %_3_x $3 | set %_4_y $4 set %_5_x $5 | set %_6_y $6 | set %_7_x $7 | set %_8_y $8 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; if (%timer_no_tetris == 1) { tetris_siradaki } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; if (%_tet_kont == sol) { dec %_1_x %w_miktr_w | dec %_3_x %w_miktr_w | dec %_5_x %w_miktr_w | dec %_7_x %w_miktr_w dec %_2_y %h_miktr_w | dec %_4_y %h_miktr_w | dec %_6_y %h_miktr_w | dec %_8_y %h_miktr_w } if (%_tet_kont == sag) { inc %_1_x %w_miktr_w | inc %_3_x %w_miktr_w | inc %_5_x %w_miktr_w | inc %_7_x %w_miktr_w dec %_2_y %h_miktr_w | dec %_4_y %h_miktr_w | dec %_6_y %h_miktr_w | dec %_8_y %h_miktr_w } ;sag sol kordinat degisikligi var %a = $calc(%_1_x +1) $calc(%_2_y +1) var %b = $calc(%_3_x +1) $calc(%_4_y +1) var %c = $calc(%_5_x +1) $calc(%_6_y +1) var %d = $calc(%_7_x +1) $calc(%_8_y +1) ; asagiya koordinat degisiklig if !$fline($t_p,%a,1,1) || !$fline($t_p,%b,1,1) || !$fline($t_p,%c,1,1) || !$fline($t_p,%d,1,1) { ;[HsN] oyunu sonlandirma tavsiyesi uzerine eklendi. ;sag ve sol tuslarinda tum karelerin hareket edebilmesi lazim, eger kod buraya sarkarsa, ;bir sonraki asama da asagiya kontrolu yapilacak. ;asagiya da hareket ediyorsa sorun yok kendi haline birak, ;harekt etmiyorsa, o zaman, lbx'a kayitla %renk ile set %_1_x $1 | set %_2_y $2 | set %_3_x $3 | set %_4_y $4 set %_5_x $5 | set %_6_y $6 | set %_7_x $7 | set %_8_y $8 } ; Y kordinatlarda ilerleme var mi kontrol var %e = $calc(%_1_x +1) $calc(%_2_y + %h_miktr_w +1) var %f = $calc(%_3_x +1) $calc(%_4_y + %h_miktr_w +1) var %g = $calc(%_5_x +1) $calc(%_6_y + %h_miktr_w +1) var %h = $calc(%_7_x +1) $calc(%_8_y + %h_miktr_w +1) if !$fline($t_p,%e,1,1) || !$fline($t_p,%f,1,1) || !$fline($t_p,%g,1,1) || !$fline($t_p,%h,1,1) { var %j = $calc($1 +1) $calc($2 +1) var %k = $calc($3 +1) $calc($4 +1) var %l = $calc($5 +1) $calc($6 +1) var %m = $calc($7 +1) $calc($8 +1) ; Burada Line bulup renk degerlendirme yapiyr. if $fline($t_p,%j,1,1) { rline -l $($t_p) $v1 @ $+ %_renk_tet $+ - $+ %j } if $fline($t_p,%k,1,1) { rline -l $($t_p) $v1 @ $+ %_renk_tet $+ - $+ %k } if $fline($t_p,%l,1,1) { rline -l $($t_p) $v1 @ $+ %_renk_tet $+ - $+ %l } if $fline($t_p,%m,1,1) { rline -l $($t_p) $v1 @ $+ %_renk_tet $+ - $+ %m } ;;;;;;;;;;;;;;;;;;;;; unset %timer_no_tetris ;;;;;;;;;;;;;;;;;;;;;; unset %_all_coor | ilk_start | goto fin } drawrect -fr $t_p $rgb( [ % $+ _renk_tet ] ) 1 %_1_x %_2_y %w_miktr_w %h_miktr_w drawrect -fr $t_p $rgb( [ % $+ _renk_tet ] ) 1 %_3_x %_4_y %w_miktr_w %h_miktr_w drawrect -fr $t_p $rgb( [ % $+ _renk_tet ] ) 1 %_5_x %_6_y %w_miktr_w %h_miktr_w drawrect -fr $t_p $rgb( [ % $+ _renk_tet ] ) 1 %_7_x %_8_y %w_miktr_w %h_miktr_w ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; drawrect -fr $t_p %_tetris_siradaki_1 drawrect -fr $t_p %_tetris_siradaki_2 drawrect -fr $t_p %_tetris_siradaki_3 drawrect -fr $t_p %_tetris_siradaki_4 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;normal olarak asagiya iniste Y koordinatlar degisiyor. inc %_2_y %h_miktr_w | inc %_4_y %h_miktr_w | inc %_6_y %h_miktr_w | inc %_8_y %h_miktr_w set %_all_coor %_1_x %_2_y %_3_x %_4_y %_5_x %_6_y %_7_x %_8_y :fin line_tamam_full_mu unset %_tet_kont :bitir } alias line_tamam_full_mu { var %m = 1, %_tetrs_silme_kac_kez = 0 while $gettok(%_tetr_y_coor,%m,32) { ;y kordinat 11 oldugu zaman hepsini lbx'dan Sil ;ipucu : lbx degistigi icin degisken kullanilmadi while dongusunde var %y-coor = $v1 ; 11 ? if $fline($t_p,$+(@,*,%y-coor),0,1) == 11 { while $fline($t_p,$+(@,*,%y-coor),1,1) { aline -l $t_p $gettok($fline($t_p,$+(@,*,%y-coor),1,1).text,2,45) dline -l $t_p $fline($t_p,$+(@,*,%y-coor),1,1) } set %_tetris_line_silme OK set %_tetris_son_y_coor %y-coor inc %_tetrs_silme_kac_kez } inc %m } ;silme islemi varsa line'da diger linelari duzelt if (%_tetris_line_silme) { beep %_tetrs_silme_kac_kez if (%_tetrs_silme_kac_kez == 1) { inc %_tetris_puan } else { inc %_tetris_puan $calc(%_tetrs_silme_kac_kez * 2) } set %_tetris_sabit_silme %_tetrs_silme_kac_kez :dgsk var %line_ = $calc(%_tetris_son_y_coor - (%_tetrs_silme_kac_kez * %h_miktr_w)) if !$fline($t_p,$+(@,*,%line_),1,1) { goto end } while $fline($t_p,$+(@,*,%line_),1,1).text { var %tet_fline_text = $v1, %d = $gettok(%tet_fline_text,-2-0,32), %c = $gettok(%d,2,45) rline -l $t_p $fline($t_p,$+(@,*,%line_),1,1) %d $calc(%line_ + $calc(%_tetris_sabit_silme * %h_miktr_w)) aline -l $t_p %c %line_ if $fline($t_p,%c $calc(%line_ + (%_tetris_sabit_silme * %h_miktr_w)),1,1) { dline -l $t_p $v1 } } inc %_tetrs_silme_kac_kez goto dgsk } :end unset %_tetris_line_silme %_tetris_son_y_coor %_tetris_sabit_silme } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; alias -l tetris_siradaki { set %_tetris_siradaki_1 $rgb( [ % $+ _renk_tet ] ) 1 $calc(%_1_x + $calc((%w_miktr_w * 11) +5)) $calc(%_2_y + %h_miktr_w) %w_miktr_w %h_miktr_w set %_tetris_siradaki_2 $rgb( [ % $+ _renk_tet ] ) 1 $calc(%_3_x + $calc((%w_miktr_w * 11) +5)) $calc(%_4_y + %h_miktr_w) %w_miktr_w %h_miktr_w set %_tetris_siradaki_3 $rgb( [ % $+ _renk_tet ] ) 1 $calc(%_5_x + $calc((%w_miktr_w * 11) +5)) $calc(%_6_y + %h_miktr_w) %w_miktr_w %h_miktr_w set %_tetris_siradaki_4 $rgb( [ % $+ _renk_tet ] ) 1 $calc(%_7_x + $calc((%w_miktr_w * 11) +5)) $calc(%_8_y + %h_miktr_w) %w_miktr_w %h_miktr_w } ;;;;;;;;;;;;;; ;Sekiller sabit en az 4 tane 1 olmali. ;Renk kirmizi alias sekil-1-1 return 0110011000000000 ;Renk turuncu ;set %_renk 255,128,0 alias sekil-2-1 return 1111000000000000 alias sekil-2-2 return 1000100010001000 ;Renk pembe ;L1 alias sekil-3-1 return 1110100000000000 alias sekil-3-2 return 0011000100010000 alias sekil-3-3 return 0001011100000000 alias sekil-3-4 return 1000100011000000 ;Renk lacivert ;L2 alias sekil-4-1 return 0111000100000000 alias sekil-4-2 return 0001000100110000 alias sekil-4-3 return 1000111000000000 alias sekil-4-4 return 1100100010000000 ;Renk sari alias sekil-5-1 return 0010011100000000 alias sekil-5-2 return 0111001000000000 alias sekil-5-3 return 1000110010000000 alias sekil-5-4 return 0001001100010000 ;Renk yesil ;Z1 alias sekil-6-1 return 0011011000000000 alias sekil-6-2 return 0010001100010000 ;Renk mavi ;Z2 alias sekil-7-1 return 0110001100000000 alias sekil-7-2 return 0001001100100000 on *:keydown:@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]:*:{ if ($keyval == 38 && !$timer(tetris).pause) { sekil_cevir_ } if ($keyval == 37 && !$timer(tetris).pause) { set %_tet_kont sol } if ($keyval == 39 && !$timer(tetris).pause) { set %_tet_kont sag } if ($keyval == 32) { .timertetris $$iif($timer(tetris).pause,-r,-p) } ;tus tekrari varsa, bekleyen timer -e anahtari ile hemen aktif hale getirip hizlanma saglandi. if ($keyval == 40) { if ($keyrpt) { .timertetris -e } } }

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]


[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

__________________
Bana sihirli kelimeyi söyle

Konu manikdepresif tarafından (06 Ekim 2023 Saat 03:01 ) değiştirilmiştir.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet
Alt 06 Ekim 2023, 14:18   #2
Çevrimiçi
~ BLaCK_and_WHiTe ~
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: mirc tetris




Güzel paylaşım ellerine sağlık

__________________
BLaCK_and_WHiTe is now known as SNOOPY
 
Alıntı ile Cevapla

Alt 06 Ekim 2023, 14:30   #3
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: mirc tetris




benim hastaligim yasadiklarimi dusunduklerimi unutup tekrar yeni bir sayfa acip baslamak.
1 aydir hastanede yattim yeni yeni kendime geliyorum ilaclar cok agir bundan sonra benden kod gelir mi orasi zamana kalmis bir sey.
-

__________________
Bana sihirli kelimeyi söyle
 
Alıntı ile Cevapla

Alt 06 Ekim 2023, 14:32   #4
Çevrimiçi
# Forum Dedesi #
Yardımcı Admin
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: mirc tetris




Geçmiş olsun kardeş eline sağlık +

__________________
Yahudi mi dediniz? onlar yumurtalarini pisirmek icin dunyayi atese vermekten cekinmeyen LANETLILERDIR!!!
Kullanıcı imzalarındaki bağlantı ve resimleri görebilmek için en az 20 mesaja sahip olmanız gerekir ya da üye girişi yapmanız gerekir.
 
Alıntı ile Cevapla

Alt 06 Ekim 2023, 17:34   #5
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: mirc tetris




Dedecan61 Nickli Üyeden Alıntı
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Geçmiş olsun kardeş eline sağlık +

sagolasin @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

__________________
Bana sihirli kelimeyi söyle
 
Alıntı ile Cevapla

Alt 08 Ekim 2023, 19:40   #6
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: mirc tetris




Gayet keyifli bi kod, güzel çalışma başarılar.

__________________
*Zafer asla mahvolduklarını zannedenler tarafından kazanılmaz.
Alparslan TÜRKEŞ
#dimetoKa
 
Alıntı ile Cevapla

Alt 08 Ekim 2023, 20:01   #7
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: mirc tetris




Kursad Nickli Üyeden Alıntı
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Gayet keyifli bi kod, güzel çalışma başarılar.

tesekkurler @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

kod yazarken cok acele ediyorum, o anda aklima geleni gelenleri kacirmamak icin.Kod daha guzel yazilabilirdi.
Sadece yazilabilecegine inandigim icin biran onc e olsun bitsin diyorum.

duygu durumum 2 yonlu oldugundan manik donemde aklima fikirler geliyor, depresif donemde ise aklima gelenleri, manik durumdan ayiklayarak kodu yaziyorum.
-
akil ve ruh sagligim normal bir insan gibi olsaydi daha fazla sey yapabilirdim.

__________________
Bana sihirli kelimeyi söyle

Konu manikdepresif tarafından (08 Ekim 2023 Saat 20:06 ) değiştirilmiştir. Sebep: eksik
 
Alıntı ile Cevapla

Alt 11 Ekim 2023, 20:29   #8
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: mirc tetris




manikdepresif Nickli Üyeden Alıntı
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
tesekkurler @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

kod yazarken cok acele ediyorum, o anda aklima geleni gelenleri kacirmamak icin.Kod daha guzel yazilabilirdi.
Sadece yazilabilecegine inandigim icin biran onc e olsun bitsin diyorum.

duygu durumum 2 yonlu oldugundan manik donemde aklima fikirler geliyor, depresif donemde ise aklima gelenleri, manik durumdan ayiklayarak kodu yaziyorum.
-
akil ve ruh sagligim normal bir insan gibi olsaydi daha fazla sey yapabilirdim.

Tebrik ederim tekrardan, bu kadar açık sözlü olduğundan kaynaklı teşekkür ederim
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

__________________
*Zafer asla mahvolduklarını zannedenler tarafından kazanılmaz.
Alparslan TÜRKEŞ
#dimetoKa
 
Alıntı ile Cevapla

Cevapla


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Tetris Sarya Fıkra 2 12 Şubat 2022 22:15
mIRCim Script - Mirc, Mirc Sohbet, Mirc Yükle Kafkas_Kartali mIRC Scripting Tanıtımları 0 20 Mayıs 2009 23:08