;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;Daireyi Esit Parcalara Bölmek (Dilimlemek) - yzr: jeun
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
/*
[Komut]
/dairebol @
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]reismi xkordinati ykordinati dairecapi boluneceksayı
[Aciklama]
-@
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]re İsmi verilen pencere
- X koordinati @
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]renin yatay ekseni (dairenin cizimine nereden baslanacagi yatayda)
- Y koordinati @
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]renin dikey ekseni (dairenin cizimine nereden baslanacagi dikeyde)
- Daire çapı (dairenin buyuklugu)
- Kac esit parcaya bolunecek (dilimlenecek miktar sayi olarak)
Yukarida verilen bilgiler komut olarak girildiginde daire esit parcalara bolunecektir.
[Ornek komutlar]
/dairebol @
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]re 300 300 150 8
;
//dairebol @
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]re 50 50 50 2 | dairebol @
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]re 110 50 50 3 | dairebol @
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]re 170 50 50 4 | dairebol @
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]re 230 50 50 5 | dairebol @
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]re 290 50 50 6 | dairebol @
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]re 350 50 50 7 | dairebol 350 50 50 8 | dairebol 400 50 50 9
;
//dairebol @
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]re 50 150 50 10 | dairebol @
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]re 110 150 50 11 | dairebol @
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]re 170 150 50 12 | dairebol @
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]re 230 150 50 13 | dairebol @
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]re 290 150 50 14 | dairebol @
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]re 350 150 50 15 | dairebol 350 150 50 16 | dairebol 400 150 50 17
*/
[KOD BASLANGIC]
Kod: Kodu kopyalamak için üzerine çift tıklayın!
alias dairebol {
if (!$1 || !$5) { _hatamesaj }
if (@* !iswm $1) { _hatamesaj }
_daireciz $1 $2 $3 $4 $5
_esitbol
}
alias -l _hatamesaj {
echo $color(info) * /dairebol @
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]reismi xkordinati ykordinati dairecapi boluneceksayı
echo $color(info) * Ornek: /dairebol @
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]re 300 300 200 6
return
}
alias -l _esitbol {
var %i = 1
var %tum_daire_capi_kac_derece = 360
var %kac_esit_parca $round($calc(%tum_daire_capi_kac_derece / %daire_esit_parcalara_bolundu_derece),0)
set -eu2 %degisken_daire_dilimi %daire_esit_parcalara_bolundu_derece
while (%i <= %kac_esit_parca ) {
var %cos_x_ekseni_hesaplanmis = $calc(%yerlesik_daire_kordinat_x + (%daire_yari_cap * $cos(%degisken_daire_dilimi).deg))
var %sin_y_ekseni_hesaplanmis = $calc(%yerlesik_daire_kordinat_y - (%daire_yari_cap * $sin(%degisken_daire_dilimi).deg))
drawline %_daire_pen 1 1 %yerlesik_daire_kordinat_x %yerlesik_daire_kordinat_y %cos_x_ekseni_hesaplanmis %sin_y_ekseni_hesaplanmis
set -eu2 %degisken_daire_dilimi $calc(%degisken_daire_dilimi + %daire_esit_parcalara_bolundu_derece)
inc %i
}
}
alias -l _daireciz {
set %_daire_pen $$1
;if $window(%_daire_pen) { window -c %_daire_pen }
window -pe %_daire_pen
set -eu2 %daire_cap $$4
set -eu2 %daire_yari_cap $calc($$4 / 2)
set -eu2 %ilk_daire_kordinat_x $$2
set -eu2 %ilk_daire_kordinat_y $$3
if ($5 == 1) {
echo $color(info) * Dairenin esit parca degeri en az 2 olmalıdır
set %daire_kac_esit_parcaya_boluncek 2
goto esitdeger
}
if ($5 >= 360) {
echo $color(info) * Dairenin esit parca degeri en fazla 360 olmalıdır
set %daire_kac_esit_parcaya_boluncek 360
goto esitdeger
}
set -eu2 %daire_kac_esit_parcaya_boluncek $round($$5,0)
:esitdeger
set -eu2 %daire_esit_parcalara_bolundu_derece $round($calc(360 / %daire_kac_esit_parcaya_boluncek),0)
drawrect -e %_daire_pen 1 1 %ilk_daire_kordinat_x %ilk_daire_kordinat_y %daire_cap %daire_cap
set -eu2 %yerlesik_daire_kordinat_x $calc(%ilk_daire_kordinat_x + %daire_yari_cap)
set -eu2 %yerlesik_daire_kordinat_y $calc(%ilk_daire_kordinat_y + %daire_yari_cap)
}
[KOD BITIS]