Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.

Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz

  Gelişmiş Arama
insanın içinde varsa, commodore.gen.tr açığa çıkarır bunu.. bir nevi retro olaylarının dolunayıyız.(Arda)
commodore.gen.trCommodoreCommodore YazılımC64 BASIC Kısa Kod Yarışması - irqHack64 Ödüllü
Sayfa: 1 ... 16 17 [18] 19 20 ... 29   Aşağı git
Yazdır
Gönderen Konu: C64 BASIC Kısa Kod Yarışması - irqHack64 Ödüllü  (Okunma Sayısı 67487 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
Skate
Uzman
*****
Mesaj Sayısı: 1.460


A Sinner Scener


Üyelik Bilgileri WWW
« Yanıtla #255 : Mayıs 25, 2017, 14:10:17 ÖS »

A$="..."+A$+"..." şeklinde nasıl çalışacağını tam anlayamadım. Sağ sol yarım yarım çizdirsek ikinci satırda nerden başlayıp ne yapacak? Kafamda ikinci satırdan sonrası canlanmadı.
Logged
eins
Uzman
*****
Mesaj Sayısı: 1.787


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #256 : Mayıs 25, 2017, 14:37:28 ÖS »

En azından her seferinde a$ içerisine, iki kere sola git karakteri eklersen, her satırda i*2 kere sol giderek çizime başlayacak. 60-i*2 yarine sadece tab(60) yazman yeterli olacaktı... Tabi daha kısa olsaydı.

Ayrıca yarın çizdirmek ile ilgili olarak da şöyle bir çözüm var ama gene daha kısa olmuyor.

Aşağıdaki kısım print komutu sonrasında sabit olacak,
 /
|
 \

A$ içerisine eklenecek bölüm aşağıdaki olacak
\ /
 |
/ \

Son olarak gene print komutu sonunda
\
 |
/

olacak.

Yani print"...."A$"...."

Bunu yaparak ne kazanmayı hedefliyordun dersen de, 5x3 karakterlik bölüme çizdirmek yerine, 4x3 karakterlik bölüme çizdirerek 16 karakterden daha kısa çizim yapmış olacaktım. "Sözde"
« Son Düzenleme: Mayıs 25, 2017, 14:43:07 ÖS Gönderen: delimawi » Logged

wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 3.961


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #257 : Mayıs 26, 2017, 23:51:25 ÖS »

Yanılmıyorsam bu turu skate kazandı ve puan durumu 30-30 oldu. Şimdi şu weird'leri açıklayabilir misiniz?
Logged

eins
Uzman
*****
Mesaj Sayısı: 1.787


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #258 : Mayıs 27, 2017, 00:00:39 ÖÖ »

Ben de saat 00.00 oldu yeni soru yok diye mesaj atacaktım. weird'i sahibi açıklayacaktır sanırım. Ama merak edenler prg dosyası içeriğini bir hex editor ile goruntuleyip list ile alinan cikti arasinda ne gibi bir farklilik var acaba diye inceleyebilir mesela...
Logged

Skate
Uzman
*****
Mesaj Sayısı: 1.460


A Sinner Scener


Üyelik Bilgileri WWW
« Yanıtla #259 : Mayıs 27, 2017, 00:34:13 ÖÖ »

Basic'de delete karakteri (reverse on (CTRL+9) ile T harfine denk geliyor) tırnak içinde yazıldığında çıktı içinde normal delete işlevi gördüğü gibi basic listingde de delete şeklinde çalışıyor (bana sorarsanız ciddi bir bug bu). Kısacası {3 LEFT} yerine {3 DEL} yazdığında aynı sonucu elde ederken basic listing'de sanal bir kısalma meydana geliyor. Hem delete char çizilmiyor, hem de basic kodunun o ana kadar yazılmış karakterleri siliniyor. Dolayısıyla 3 DEL karakteri 6 karakter daha kısa bir basic listing elde edilmesini sağlıyor. PRG üzerinde oynanmışlık yok, doğrudan basic'den yapılabilen bir şey.

Weird2 için ekteki PNG'yi inceleyebilirsiniz.


* weird_trick.png (2.83 KB, 384x272 - Görüntüleme: 653 kez.)
Logged
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 3.961


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #260 : Mayıs 27, 2017, 00:58:16 ÖÖ »

Bir basic numarası daha öğrenmiş olduğumuza göre artık 6. soruya geçebiliriz.

Soru 6: Yıldız
Bitmap modunda 48 karakter genişliğinde 5 köşeli yıldız çizen bir program yazın.
- Şeklin içi boş veya dolu olabilir.
- Şeklin yüksekliği önemli değil.
- Şeklin kapalı çizgilerden oluşması şart değil. Ayrı pixellerden oluşabilir ancak dolu pixellerin arasında 2 pixelden fazla boşluk olmaması gerekiyor.
- Şeklin zeminin temizlenmesi gerekiyor. Ekranın geri kalanında garbadge data olabilir. (Tüm ekranı temizlemek çok zaman alıyor.)

Ekte örnek çizimi görebilirsiniz.


*  (1.52 KB, 384x272 - Görüntüleme: 653 kez.)
« Son Düzenleme: Mayıs 29, 2017, 12:00:59 ÖS Gönderen: wizofwor » Logged

eins
Uzman
*****
Mesaj Sayısı: 1.787


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #261 : Mayıs 27, 2017, 09:18:03 ÖÖ »

Bu ornek 24 karakter genisliginde mi?
Logged

Skate
Uzman
*****
Mesaj Sayısı: 1.460


A Sinner Scener


Üyelik Bilgileri WWW
« Yanıtla #262 : Mayıs 27, 2017, 14:20:35 ÖS »

Screenshottaki ile aynı koordinatları kullanan ama linelarda arada boşluk bırakmayan ilk versiyon:

253 byte

Kod:
0 poke53265,59:poke53272,24:fori=8192to10431:pokei,0:next:print"{CLR}
1 fori=0to49:x=25+i/2and63:y=i:gosub3:x=50-x:gosub3:x=i:y=16:gosub3
2 y=y+i*0.7:gosub3:y=51-i*0.7:gosub3:next:wait0,0
3 a=8192+320*int(y/8)+(yand7)+(xand56):pokea,peek(a)or2^(7-xand7):return
Logged
Skate
Uzman
*****
Mesaj Sayısı: 1.460


A Sinner Scener


Üyelik Bilgileri WWW
« Yanıtla #263 : Mayıs 27, 2017, 14:24:20 ÖS »

249 byte

Kod:
0 poke53265,59:poke53272,24:fori=8192to10431:pokei,0:next:print"{CLR}
1 fori=0to49:x=25+i/2and63:y=i:gosub3:x=50-x:gosub3:x=i:y=16:gosub3
2 y=y+i*0.7:gosub3:x=50-i:gosub3:next:wait0,0
3 a=8192+320*int(y/8)+(yand7)+(xand56):pokea,peek(a)or2^(7-xand7):return
Logged
Skate
Uzman
*****
Mesaj Sayısı: 1.460


A Sinner Scener


Üyelik Bilgileri WWW
« Yanıtla #264 : Mayıs 27, 2017, 14:35:07 ÖS »

247 byte

Kod:
0 poke53265,59:poke53272,24:fori=8192to10431:pokei,0:next:print"{CLR}
1 fori=0to49:x=25+i/2or0:y=i:gosub3:x=50-x:gosub3:x=i:y=16:gosub3
2 y=y+i*0.7:gosub3:x=50-i:gosub3:next:wait0,0
3 a=8192+320*int(y/8)+(yand7)+(xand56):pokea,peek(a)or2^(7-xand7):return
Logged
Skate
Uzman
*****
Mesaj Sayısı: 1.460


A Sinner Scener


Üyelik Bilgileri WWW
« Yanıtla #265 : Mayıs 27, 2017, 14:51:44 ÖS »

246 byte

Kod:
0 poke53265,59:poke53272,24:fori=8192to10431:pokei,0:next:print"{CLR}
1 fori=0to49:x=25+i/2or0:y=i:gosub3:x=50-x:gosub3:x=i:y=16:gosub3
2 y=y+i*0.7:gosub3:x=50-i:gosub3:next:wait0,0
3 a=8192+40*(yand56)+(yand7)+(xand56):pokea,peek(a)or2^(7-xand7):return
Logged
Skate
Uzman
*****
Mesaj Sayısı: 1.460


A Sinner Scener


Üyelik Bilgileri WWW
« Yanıtla #266 : Mayıs 27, 2017, 15:18:58 ÖS »

244 byte

Kod:
0 poke53265,59:poke53272,24:fori=8192to10431:pokei,0:next:print"{CLR}
1 fori=0to49:x=25+i/2or0:y=i:gosub2:x=50-x:gosub2:x=i:y=16:gosub2:y=y+i*.7:gosub2:x=50-i:gosub2:next:wait0,0
2 a=8192+40*(yand56)+(yand7)+(xand56):pokea,peek(a)or2^(7-xand7):return
Logged
eins
Uzman
*****
Mesaj Sayısı: 1.787


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #267 : Mayıs 27, 2017, 15:25:41 ÖS »

Merkaımdan soruyorum, wait0,0 ile end in ne farkı var?
Logged

Skate
Uzman
*****
Mesaj Sayısı: 1.460


A Sinner Scener


Üyelik Bilgileri WWW
« Yanıtla #268 : Mayıs 27, 2017, 15:38:11 ÖS »

@delimawi: end dediğinde program sonlandığı için READY. yazısı ekrana gelir ve hires bitmap'de video memory renkleri belirlediği için saçma sapan renkler çıkar. wait0,0 lock ediyor programı. x gotox ile aynı yeri kaplıyor ama kodu bir satır daha uzatmıyor.

24 karakter genişliği lafında hata olduğunu düşünüyorum ancak öyle olacaksa da bu 24 karakter genişliğinde, hemen hemen fullscreen olan versiyonu. Optimize etmeye uğraşmadım. Şu boyut olayı netleşsin, ona göre devam edeceğim optimizasyonlara.

250 byte

Kod:
0 poke53265,59:poke53272,24:fori=8192to16191:pokei,0:next:print"{CLR}
1 fori=0to192:x=96+i/2or0:y=i:gosub2:x=192-x:gosub2:x=i:y=61:gosub2:y=y+i*.69:gosub2:x=192-i:gosub2:next:wait0,0
2 a=8192+40*(yand248)+(yand7)+(xand248):pokea,peek(a)or2^(7-xand7):return
Logged
Skate
Uzman
*****
Mesaj Sayısı: 1.460


A Sinner Scener


Üyelik Bilgileri WWW
« Yanıtla #269 : Mayıs 27, 2017, 15:47:03 ÖS »

24x24'ün 249 byte versiyonu.

Kod:
0 poke53265,59:poke53272,24:fori=8192to16191:pokei,0:next:print"{CLR}
1 fori=0to192:x=96+i/2or0:y=i:gosub2:x=192-x:gosub2:x=i:y=59:gosub2:y=y+i*.7:gosub2:x=192-i:gosub2:next:wait0,0
2 a=8192+40*(yand248)+(yand7)+(xand248):pokea,peek(a)or2^(7-xand7):return
Logged
Sayfa: 1 ... 16 17 [18] 19 20 ... 29   Yukarı git
Yazdır
Gitmek istediğiniz yer: