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 ... 26 27 [28] 29 30   Aşağı git
Yazdır
Gönderen Konu: C64 BASIC Kısa Kod Yarışması - irqHack64 Ödüllü  (Okunma Sayısı 227400 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #405 : Haziran 07, 2017, 01:27:58 ÖÖ »

Hala oturamadım başına, bu kadar kısa olmasa da yatmadan bir versiyon paylaşacağım umarım.
Bu arada kızma ama bence hala evreler çok doğru değil. Gerçi sıkıntı sorunun tam net olmamasında, yoruma açık kalıyor haliyle...
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #406 : Haziran 07, 2017, 03:04:16 ÖÖ »

Bu gece 111 byte yapabildim, belki yarın daha optimize edecek birşeyler bulabilirim. Bu versiyonda 8'den fazla evre çizdiriyorum, zaten çözünürlük düşük, bu şekilde gözüme daha güzel göründü. Kurallara göre karakter olarak . ve * kullanmak zorunda değiliz sanırım. Ama zaten aynı kural senin kod için de geçerli olduğundan ben de aynı şekilde bıraktım.

WARP moda tavsiye ederim, daha animatif oluyor...

EDIT: Laf sokmaca, senin ay'ın 8 karakter genişliğinde değil...
Kod:
0 forp=-5to9:forx=-3to4:fory=-2to2:d=x+y*sgn(x*y)+p
1 poke6^4+x+y*40,42-4*(d<0ord>7ord<p-3ord>p+4):nexty,x,p:run
« Son Düzenleme: Haziran 07, 2017, 03:05:47 ÖÖ Gönderen: delimawi » Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #407 : Haziran 07, 2017, 03:19:19 ÖÖ »

110 Byte ...

Kod:
0 forp=-5to9:forx=-3to4:fory=-2to2:d=x+y*sgn(x*y)
1 poke6^4+x+y*40,42-4*(d+p<0ord+p>7ord<-3ord>4):nexty,x,p:run
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #408 : Haziran 07, 2017, 03:36:03 ÖÖ »

108 Byte...

Kod:
0 forp=-8to9:forx=-3to4:fory=-2to2:d=x+y*sgn(x*y)
1 poke6^4-x+y*40,42-4*(abs(p-d)>4ord<-3ord>4):nexty,x,p:run
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #409 : Haziran 07, 2017, 03:39:24 ÖÖ »

107 Byte, ay 7 karakter genişliğine düştü...

Kod:
0 forp=-8to9:forx=-3to4:fory=-2to2:d=x+y*sgn(x*y)
1 poke6^4-x+y*40,42-4*(abs(p-d)>4orabs(d)>3):nexty,x,p:run
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #410 : Haziran 07, 2017, 03:43:22 ÖÖ »

104 byte ...

Kod:
0 forp=-8to9:forx=-3to4:fory=-2to2:d=x+y*sgn(x*y)
1 poke6^4-x+y*40,42-4*(abs(p-d)>4ord*d>9):nexty,x,p:run
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
Skate
Uzman
*****
Mesaj Sayısı: 1.479


A Sinner Scener


Üyelik Bilgileri WWW
« Yanıtla #411 : Haziran 07, 2017, 04:34:50 ÖÖ »

Demek istediğini anladım. Ben moon phase diye eclipse render ediyormuşum.

Henüz gridin köşelerini çizmiyor ve seninki gibi tam evreleri render etmiyor ama kast ettiğin şekilde render eden versiyon. Benim de bu gece bitirmem gereken bir iş var. Yarın kapışırız.

100 byte

Kod:
0 forp=0to15:c=p>7:fori=0to28
1 poke6^4-int(.5+2*cos(i/9))*40+(3.5-p-8*c)*sin(i/9),42-4*c:nexti,p:run

JS versiyonu:
http://jsfiddle.net/6abqd1wd/
Logged
Skate
Uzman
*****
Mesaj Sayısı: 1.479


A Sinner Scener


Üyelik Bilgileri WWW
« Yanıtla #412 : Haziran 07, 2017, 04:56:32 ÖÖ »

Bu arada 7 genişliği ok ise başka bir optimizasyonla birlikte 97 byte'a da düşüyor.

Kod:
0 c=p>7:fori=0to28
1 poke6^4-int(.5+2*cos(i/9))*40+(3-p-8*c)*sin(i/9),42-4*c:next:p=p+1and15:goto0
Logged
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #413 : Haziran 09, 2017, 00:18:10 ÖÖ »

Benim kurallara tam uygun en kısa çözümüm 106 byte...
8 karakter genişliğinde ve örneklere uygun toplam 8 tam faz çizen, 8x5 matris içinde . ve * harici karakter buludurmayan versiyon.

Kod:
0 forp=-4to4:forx=-3.5to4:fory=-2to2:f=abs(x*y)
1 poke6^4-x+y*40,42-4*(abs(p*2-x-f/x)>4orf>3):nexty,x,p:run

NOT: Kurallar hafif esnetilerek oluşturulmuş bir çok versiyon birikti ama ortalık karışmasın şimdilik. Paste etmiyorum onları...
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
Skate
Uzman
*****
Mesaj Sayısı: 1.479


A Sinner Scener


Üyelik Bilgileri WWW
« Yanıtla #414 : Haziran 11, 2017, 02:01:21 ÖÖ »

Günlerdir uğraşacak vakit bulamamıştım. Şimdi trigonometrik yöntemle bir deneme yaptım. Şu an için 113 byte'dayım. Farkı evrelerin küresel koordinat sistemine daha yakın çizilmesi. Ama tamamen legal bir formül değil, bu da çözünürlüğe özelleştirilmiş bir formül.

Şimdi eşim film izlemeye çağırıyor. Yarın yarışma sonuçlanmamış olursa son bir kez uğraşacağım üstünde. Ama başka yöntemle uğraşacağımı sanmıyorum. Bu da büyük ihtimalle 106 byte'ın altına inmez. Şimdiden tebrikler.

Kod:
0 forp=0to7:fory=-2to2:forx=-3.6to4:z=x/(4-abs(y))*sgn(~-p)
1 poke6^4+y*40+x,42-4*(z>1orz<cos(p*.8)):nextx,y,p:run
Logged
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #415 : Haziran 11, 2017, 22:01:29 ÖS »

Benim 106 byte da zaten ideal bir çözüm değil, aynen dediğin gibi çözünürlüğün düşük olmasından kaynaklanan bozulmaya dayanıyor. Çizdiği aslında elips yada yuvarlak değil, baklava. Ama zaten soruda verilen örnekler de öyle. İdeal ay çizimi için 8x8 matris seçilmesi bence daha uygun olabilirdi.

Ben aşağıdaki patterni oluşturan formülü excelde hesapladım.
Baz formül x+y*sign(x*y).
Bunu int() yapınca 4 ayrı segment seçilebliyor. Bu segmentlerden herhangi birini de evre<segment<evre+4 kontrolü ile seçince, 8 ayrı evre çizilebiliyor.

Bir de köşelerdeki beyaz kısımların hiç bir zaman seçilmemesini garanti altına almak gerekiyor.

Toplam 4 ayrı koşulun üst üste optimize edilmesi ile de 106 byte a kadar inebildi.



Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.780


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #416 : Haziran 11, 2017, 22:31:40 ÖS »

Aslında yarışmayı bu gün bitirmeyi düşünüyordum ancak iki iki yarışmacı da biraz daha uğraşmak istiyor gibi. İsterseniz biraz daha süre verebilirim.

Ayrıca bu soruya en iyi cevabı delimawi verdiğine göre puan durumu eşit oluyor? Ne yapalım bir soru daha mı sorayım?
Logged

WildLord
Deneyimli
*****
Mesaj Sayısı: 757



Üyelik Bilgileri
« Yanıtla #417 : Haziran 11, 2017, 22:48:19 ÖS »

Bence bir soru daha sorun akabinde puanlama şeklinde olmasa da imkan olduğunca soru sormaya devam edin, kendi adıma çok faydalanıyorum.
Logged
Skate
Uzman
*****
Mesaj Sayısı: 1.479


A Sinner Scener


Üyelik Bilgileri WWW
« Yanıtla #418 : Haziran 11, 2017, 22:57:24 ÖS »

Ortada hırs mı var kardeşim? Berabere kalmaktan onur duyarım.
Logged
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #419 : Haziran 11, 2017, 23:05:28 ÖS »

Açıkçası ben de çok faydalanıyorum, trickler ve optimizasyonlar, sadece bu yarışma veya c64 platformu adına değil, her alanda uygulanabilecek örnekler de içeriyor.

Örneğin, (a and b and c) şeklindeki bir önermenin !(a or b or c) şeklinde yazılabiliyor olduğunu lise yıllarında öğrenmiştik, şimdi bu yarışmada or and e göre daha kısa olduğu için hatırladık, ama örneğin bu bilgi megaOne kartuşu tasarlerken bile kullandığım bir bilgiydi. Logic chipleri seçerken de benzer optimizasyonlar yapıyor, misal, ek bir and kapısı kullanmamak için boşta kalan or kapısı ve not kapısını birleştirebiliyoruz gibi. Bu tarz bilgileri güncel tutması adına bence çok değerli...

Ben işin yarışma tarafında değilim, ancak wildlord'un dediği gibi mümkün olduğunca, örneğin haftada bir, bu tarz soruların soruluyor olmasını isterdim. İsteyenin bir yüzü kara... Kahkaha

@skate'in zaten c64 camiasında nerede olduğunu herkes biliyor. Sorulara verilen cevaplar da bu yarışma özelinde açık olduğu için ister istemez yöntem farklı olsa bile diğer cevaplardan "izler" içerebiliyor. Dolayısı ile kimi zaman aynı soruda, kimi zaman sonraki sorularda @skate'in tricklerinin üzerine bir güzel oturmuşluğum olmuştur. Satır sorununda tırnak kapatmama, on goto ile else çözümü vb... Dediğim gibi işin yarışma tarafında değilim, @skate ile karşılıklı kod kapışıtırıyor olmak bile güzeldi. Birçok şey öğrendim, teşekkür ederim...
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
Sayfa: 1 ... 26 27 [28] 29 30   Yukarı git
Yazdır
Gitmek istediğiniz yer: