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


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #180 : Mayıs 15, 2017, 00:42:54 ÖÖ »

ben de bel altı vurmayı denedim, 94 karakter ile elimde patladı... Ama değişik bir çözüm olarak çalışıyor... Kahkaha

Kod:
1 geta$:printa$;:k$(i)=k$(i)+a$:i=i-(a$=" "):ifa$<>chr$(13)then1
2 fort=1toi-1:printk$(t);:next
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
emarti
Uzman
*****
Mesaj Sayısı: 2.592


Only Amiga Makes It Possible █


Üyelik Bilgileri WWW
« Yanıtla #181 : Mayıs 15, 2017, 00:57:15 ÖÖ »

ben de bel altı vurmayı denedim, 94 karakter ile elimde patladı... Ama değişik bir çözüm olarak çalışıyor... Kahkaha

Kod:
1 geta$:printa$;:k$(i)=k$(i)+a$:i=i-(a$=" "):ifa$<>chr$(13)then1
2 fort=1toi-1:printk$(t);:next

HALUK LEVENT için LEVENT çıktısı var.
Logged

https://github.com/emartisoft My GitHUB | http://csdb.dk/scener/?id=26786 My CSDB | https://c64kernal.com Genesis

READY.
SYS(64767): EMARTI
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #182 : Mayıs 15, 2017, 01:06:38 ÖÖ »

Evet haklısın, 3 kelimeden az mı kontrolü gerekiyor buna...
Logged

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


A Sinner Scener


Üyelik Bilgileri WWW
« Yanıtla #183 : Mayıs 16, 2017, 02:41:23 ÖÖ »

Farklı çözümlerin hiçbiri yeterince kısa olmuyor ancak denemelerimin iki tanesini paylaşıyorum. İkisi de kurallara uyuyor. En az iki kelime ile çalışıyorlar, tek harf/kelime girilirse patlayabiliyorlar ama sanırım önceki çözümlerin çoğu da böyle zaten.

Sağdan soldan string'i scan etmeyi sub routine kullanarak yapmayı denedim. Kısa olmayacağını tahmin etmiştim ancak yine de "belki bir şekilde optimize edilir" diye yola çıktım. Tabii ki edilemedi.

Kod:
0 inputa$:d=1:gosub1:s=i:d=-1:i=len(a$):gosub1:printmid$(a$,s+2,i-s):end
1 i=i+d:ifpeek(512+i)>32then1
2 return

Bu ise çok daha temiz bir çözüm. Tek scan'de m(0)'da ilk space karakterini, m(m(0))'da ise son space karakteri ile ilki arasındaki karakter sayısını bırakıyor. Daha önemlisi her ikisini de mid$ beklediği değerler şeklinde hesaplıyor (index 1'den başlayacak şekilde). Ama yine de 93 byteları buluyor. Optimize edilse bile 82'nin altına düşmeyeceği aşikar.

Kod:
0 inputa$:fori=2tolen(a$):ifpeek(510+i)=32thenm(m(0))=i-m(0)
1 next:printmid$(a$,m(0),m(m(0)))

82 byte'lık çözümü ise bir iki byte kısaltmanın bir kaç farklı yolunu buldum ama hepsi belli kural dışı şeylerle son buldu. Örneğin doğru çalışıp error veren kısa versiyonlarım var. Şimdilik adam gibi bir çözüm bulmadıkça o versiyonları paylaşmıyorum.
Logged
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #184 : Mayıs 16, 2017, 21:49:19 ÖS »

İkinci çözümün güzelmiş. Bende bunun türevleri üzerine çalıştım ama 90 byteların altına inmedi...

Kod:
0 inputa$
1 s=asc(a$)>32:e=right$(a$,1)>" ":a$=mid$(a$,1-s,len(a$)+s+e):ife+sthen1
2 printa$
Logged

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


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #185 : Mayıs 17, 2017, 01:10:47 ÖÖ »

Biraz lame oldu ama 81 byte ... Kahkaha

Kod:
0 inputa$:fori=1to81:ifmid$(a$,i,1)=" "thenprintmid$(a$,a+1,i*b-a);:a=i:b=1
1 next
Logged

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


A Sinner Scener


Üyelik Bilgileri WWW
« Yanıtla #186 : Mayıs 17, 2017, 14:32:51 ÖS »

Elimde şöyle bir versiyon var, senin son optimizasyonla birlikte 76 byte'a kadar düşüyor. Sıkıntı doğru sonucu yazdıktan sonra illegal quantity error vermesi.

Kod:
0 inputa$
1 i=i+1:ifpeek(511+i)=32thenprintmid$(a$,a+1,b*i-a);:a=i:b=1
2 goto1

edit: 2. kez çalıştığında da sorunlu bu versiyon, bunu es geçebilirsiniz
« Son Düzenleme: Mayıs 17, 2017, 14:34:46 ÖS Gönderen: Skate » Logged
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.789


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #187 : Mayıs 19, 2017, 16:12:41 ÖS »

Sizin bu karşılıklı aşık atışması misali optimizasyonlarınızı okumak ne kadar zevkliyse, sıraya koyarak tasnif etmek de bir o kadar zor.

Üçüncü sorunun doğru cevabını açıklamamıştım. Delimawi'nin aşağıdaki 73 karakterlik kodu kazandı. Bu durumda delimawi:20 skate:10 puan oluyor.

Kod:
0inputa:fori=1toa
1d%=rnd(1)*9:ife(d%)goto1
2printchr$(d%+49);:e(d%)=1:next


4. soruyu da gözden kaçırdığım bir şey yoksa Skate'in aşağıdaki 80 karakterlik kodu kazanacak. 

Kod:
0 inputa$:fori=1to81:ifpeek(511+i)=32thenprintmid$(a$,a+1,(a>0)*-i-a);:a=i
1 next

Atladığım bir şey varsa yazın lütfen.
 
Logged

emarti
Uzman
*****
Mesaj Sayısı: 2.592


Only Amiga Makes It Possible █


Üyelik Bilgileri WWW
« Yanıtla #188 : Mayıs 19, 2017, 21:21:14 ÖS »

wizofwor 4. soru nerede çözümü basic ile uzun olsun mümkünse datalar ile 10 puan almak istiyorum
Logged

https://github.com/emartisoft My GitHUB | http://csdb.dk/scener/?id=26786 My CSDB | https://c64kernal.com Genesis

READY.
SYS(64767): EMARTI
wolfiem
Deneyimli
*****
Mesaj Sayısı: 1.276


May the source be with you!


Üyelik Bilgileri
« Yanıtla #189 : Mayıs 19, 2017, 22:52:09 ÖS »

wizofwor 4. soru nerede çözümü basic ile uzun olsun mümkünse datalar ile 10 puan almak istiyorum
Kahkaha

Her soruya basic & asm çözümlerini göndererek azimli katılımcı 10 puanını hakettin bence emarti
Logged

Commodore & Amiga & Amstrad & Retro Macintosh Fan
k2.bbs.tr - Çok yakında!
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.789


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #190 : Mayıs 20, 2017, 00:14:46 ÖÖ »

4. sorunun en kısa cevabı Skate'ten gelmiş oldu.

Bu durumda Delimawi ve Skate 20'şer puandalar.

5. Soru 20 puanlık soruların ilki olacak. Günün anlam ve önemine uygun bir soru düşündüm.
Biliyorsunuz eskiden 19 Mayıs'larda stadyumda öğrenciler kule yaparlardı. Biz de petscii karakteriyle kule yapacağız.

Soru 5: Altıgen Kulesi

Petscii karakterliyle oluşturulan altıngenleri üstü üste dizerek bir çizen bir program yazın.
Öyle ki:

1. Kulenin yüksekliği kullanıcı girişi ile belirlenecek. Ancak 1'ile 7 kat arasında olacak.
2. Sadece 1 ve 7 aralığındaki değerler test edilecek. (1 ve 7 dahil)
2. En üst katta 1 altıgen olacak. Katları indikçe altıgenlerin sayısı birer artacak.
3. İki altıgenin müşterek yüzü için tek karakter basılacak.
4. Programın çıktısı boş bir satıra alınacak. Yani eğer ekran belleğine poke ile karakter yerleştirecekseniz kullanacağız satırı önceden temizlemeniz gerekiyor.
5. Ekte örnek ekran çıktısı var. Kullanılacak karakterler SHITF+N, SHIFT+M ve SHIFT+'-'

   


* hexagonal.png (2.26 KB, 384x272 - Görüntüleme: 1291 kez.)
« Son Düzenleme: Mayıs 20, 2017, 00:18:02 ÖÖ Gönderen: wizofwor » Logged

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


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #191 : Mayıs 20, 2017, 00:22:36 ÖÖ »

Oooo tam @skate'lik soru gelmiş. Sabahlar olmasın, tam yatacaktım, gene takılıp kalıcam şimdi.
Logged

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


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #192 : Mayıs 20, 2017, 00:58:44 ÖÖ »

Şöyle bir bodoslama başlangıç yapalım...
Kod:
0 inputa:printchr$(147):fori=1toa:forj=1toi:d=1040+j*4+i*78
1 poked,93:poked+4,93:poked-39,78:poked+43,78:poked-37,77:poked+41,77:nextj,i

Küçük bir optimizasyon:
Kod:
0 inputa:sys65409:fori=1toa:forj=1toi:d=1040+j*4+i*78     
1 poked,93:poked+4,93:poked-39,78:poked+43,78:poked-37,77:poked+41,77:nextj,i

Bir küçük optimizasyon daha...
Kod:
0 inputa:sys65409:fori=1toa:forj=1toi:d=1040+j*4+i*78:fors=0to1     
1 poked+s*4,93:poked+s*82-39,78:poked+s*78-37,77:nexts,j,i
« Son Düzenleme: Mayıs 20, 2017, 02:00:11 ÖÖ Gönderen: delimawi » Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #193 : Mayıs 20, 2017, 02:58:23 ÖÖ »

@wizofwor : Sorular orjinal olarak senden çıkıyorsa hakikaten güzel sorular buluyorsun
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #194 : Mayıs 20, 2017, 03:16:09 ÖÖ »

121 Byte ...

Kod:
0 inputa:sys65409:s=1:fori=1toa:forj=1toi*2:d=1040+j*2+i*78+s     
1 s=-s:poked-s*2,93:poked-s*41,78:poked-s*39,77:nextj,i

EDIT: 119 byte

Kod:
0 inputa:sys65409:fori=1toa:forj=1toi*2:s=(j*2and2)-1:d=1042+j*2+i*78+s*3
1 poked,93:poked+s*39,78:poked+s*37,77:nextj,i


EDIT: 118 Byte

Kod:
0 inputa:sys65409:fori=1toa:forj=1toi*2:s=jand1:d=1042+j*2+i*78+s*6
1 poked+37,93:poked+s*78-2,78:poked+s*74,77:nextj,i
« Son Düzenleme: Mayıs 20, 2017, 04:15:26 ÖÖ Gönderen: delimawi » Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
Sayfa: 1 ... 11 12 [13] 14 15 ... 30   Yukarı git
Yazdır
Gitmek istediğiniz yer: