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 ile Mahjong oyunu (açıklamalı)
Sayfa: [1]   Aşağı git
Yazdır
Gönderen Konu: C64 Basic ile Mahjong oyunu (açıklamalı)  (Okunma Sayısı 5892 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 3.793


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« : Ekim 25, 2015, 00:00:45 ÖÖ »



BASIC konusundaki pasımı biraz atmak için basit bir oyun kodladım. C64 için bir Mahjong Solitaire.

Kaynak kodu: mahjong.bas
Çalıştırılabilir dosya: mahjong.prg
Kod açıklamaları: kare-kaplumbaga.html
Logged

cdemir
Uzman
*****
Mesaj Sayısı: 2.671



Üyelik Bilgileri
« Yanıtla #1 : Ekim 25, 2015, 00:11:09 ÖÖ »

Tosbağayı attım C64 oyun klasörüne.

Mahjong oyunlarını pek ilgimi çekmez. Ama bir ara oynarım.

Eline emeğine sağlık.

Logged

Simon (Özay Turay)
Genel Yönetici
*****
Mesaj Sayısı: 5.921


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #2 : Ekim 25, 2015, 00:25:05 ÖÖ »

Eline sağlık.

Şimdi sıra 3858 byte'lık bu BASIC programını assembly ile 1K altına indirmekte. Kahkaha
Logged

http://www.retrodergi.com - http://www.e-turay.com

Retro: Commodore 64, Amiga 500, Amiga 1200
Retromsu: Wii, XBox360, XBox, PS3 Slim, PS2 FAT, PS1, PSP Slim, Nintendo DS Lite
delimawi
Uzman
*****
Mesaj Sayısı: 1.579



Üyelik Bilgileri
« Yanıtla #3 : Ekim 25, 2015, 09:35:59 ÖÖ »

Güzel olmus eline saglik. Custom karakter seti isine girismeni oneririm.
Logged

ilkerficicilar
Uzman
*****
Mesaj Sayısı: 821


Üyelik Bilgileri WWW
« Yanıtla #4 : Ekim 25, 2015, 10:26:56 ÖÖ »

Mahjong'u severim, deneyeyim bir gerçek C64'te... Koda baktım, sanki renk işine bir çözüm bulunursa Commodore PET için de uyarlanabilir gibi geldi. Kendi pas atma girişimim olan Petify64 emulator'de bir dönüştürmeye çalışayım.

Şimdiden teşekkürler.
Logged

http://cbm.ficicilar.name.tr/ - Commodore Hacking
serkanarslan
Üye3
***
Mesaj Sayısı: 398



Üyelik Bilgileri WWW
« Yanıtla #5 : Ekim 25, 2015, 10:33:49 ÖÖ »

valla bugüne kadar ne kod yazdım ne de yazılanı anladım. Fakat uzun süredir c64 basic'i merak ediyordum. Bu da bana bir vesile oldu. Eline sağlık.
Logged

joker_
Genel Yönetici
*****
Mesaj Sayısı: 2.123



Üyelik Bilgileri
« Yanıtla #6 : Ekim 25, 2015, 10:34:46 ÖÖ »

Eline sağlik. Intro çalişmalarina ara verdin sanirim
Logged
malik
Üye3
***
Mesaj Sayısı: 405



Üyelik Bilgileri
« Yanıtla #7 : Ekim 25, 2015, 15:04:55 ÖS »

Ben bu oyunda bir hile buldum.

-Oyun çalışırken run-stop tuşuna basın.
-305 T$="000010" : Goto 2200 yazıp Enter e basın
-Run ile oyunu tekrar başlatın.

Oyunu 10 saniyede kazanacaksınız.

« Son Düzenleme: Ekim 25, 2015, 15:24:16 ÖS Gönderen: malik » Logged
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 3.793


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #8 : Ekim 25, 2015, 23:36:10 ÖS »

Joker_, aslında intro işlerine pek ara verdim denemez. VIC banklarıyla ilgili efektlerle ilgileniyorum. Ancak takıldığım bir yerler var. Ya bankların sırasını, yada bellek aralıklarını yanlış hesaplıyorum çünkü bir türlü standartlar lokasyonlar haricinde kopyaladığım veriyi grafik olarak ekrana basamıyorum. Durum böyle olunca biraz daha pratik, çabuk verecek şeylere yöneleyim dedim. Hem konu BASIC olunca daha çok insanın dikkatini çeker diye düşündüm. Daha ilk günden hilesi çıktığını göre başarılı da oldum galiba.

@ilkerficilar, eğer kod açıklamalarına baktıysan Bill Kendrick'in Atari'de TurboBASIC XL ile yazdığı Minijong'dan etkilendiğimi görmüşsündür. Kendrick'in yola çıkış noktası yükseklikleri isometrik çizimler yerine renklerle vermek. Renkleri kaldırdığına işin pek bir espirisi kalmayacak gibi. Ancak belki custom charset kullanarak bir şeyler yapılabilir.

Kodlamaya başlarken amacım programı olabildiğinde basit tutmaktı. C64 için custom karakter seti eklemeyi de bu yüzden düşünmüyorum. Aslında ses de eklenebilir ancak o da bana çok karışık geldiği için uğraşmadım. ASM versiyonunu da düşünmüyorum. Belki donanım projelerinden vakit bulursa Simon yapabilir(!)

Ayrıca eklemeden yapamayacağım. Dünden beri oyunu yenmeyi başaramadım. Daha önce test ederken de hiç kazandığım olmadı. Oyunu hilesiz kazanabilen varsa haber versin.
Logged

cdemir
Uzman
*****
Mesaj Sayısı: 2.671



Üyelik Bilgileri
« Yanıtla #9 : Ekim 26, 2015, 00:09:55 ÖÖ »

@wizofwor
Ayrıca eklemeden yapamayacağım. Dünden beri oyunu yenmeyi başaramadım.

Acaba bi Cylon vakası mı başlıyor ?  Efendisine başkaldıran asi yapayzeka Kahkaha
Logged

i_r_on
Uzman
*****
Mesaj Sayısı: 2.497



Üyelik Bilgileri WWW
« Yanıtla #10 : Ekim 26, 2015, 01:34:07 ÖÖ »

Valla assembly'den dönüp basic'te kod yazmak attan inip eşşeğe binmek gibi bir şey Ufak seyahatler için pratik oluyor ancak iş biraz büyüdü mü başa çıkılmıyor basic programlarla.

cc65 diye bir c compiler var 65x02 türevi işlemci kullanan bilgisayarlar için.
http://www.cc65.org/

Bir göz at istersen, bu tür işler için bence biçilmiş kaftan.

Şurada da şu açıklanmış : "Why to start coding in C rather than in BASIC"
https://www.c64-wiki.com/index.php/User:Moiree/Pointers_in_assembler_vs._C_(cc65)

Geçenlerde sırf denemek için aşağıdakinin basic karşılığını yazmıştım. (Hatta tek döngü vardı onda)

Kod:
#define VIC_BORDER 0xD020
#define POKE(addr,val)     (*(unsigned char*) (addr) = (val))

int main(void)
{

unsigned char i, j;
for (j = 0; j < 255; j++) {
for (i = 0; i < 255; i++) {
POKE(VIC_BORDER, i);
}
}
return EXIT_SUCCESS;
}

Üstteki döngü içindeki çerçeve rengi değişimi 1 raster satırından kısa sürüyor. Basic versiyonunda ise bu rahat 20-30 satır sürüyordu

Diyeceksin ki, assembly'de yazarım hızı düşünseydim. Ancak bu basic'in rahatlığı ile assembly'nin hızını birleştiriyor. Assembly'i de daha kolay inline edebiliyorsun. (Basic'te data komutları ile makine kodlarını yazmak gerekiyor.)
Logged

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

twitter | blog

C64, Amiga 500, Ps3, Wii, Nintendo DS lite, Nintendo 3DS
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 3.793


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #11 : Ekim 26, 2015, 09:36:37 ÖÖ »

cc65 uzun zamandır ilgimi çekiyor ancak sıra gelmedi. Eğer cc65 tecrüben varsa bununla ilgili daha sonra başka bir başlıkta soraularım olabilir.
Logged

i_r_on
Uzman
*****
Mesaj Sayısı: 2.497



Üyelik Bilgileri WWW
« Yanıtla #12 : Ekim 26, 2015, 10:49:07 ÖÖ »

cc65 uzun zamandır ilgimi çekiyor ancak sıra gelmedi. Eğer cc65 tecrüben varsa bununla ilgili daha sonra başka bir başlıkta soraularım olabilir.


Aslında ben de başka bir şeyi araştırırken dün karşılaştım. Şurada elemanın yazdıklarını takip edip kod compile eder hale geldim.

http://www.retroremakes.com/remaketalk/index.php?p=/discussion/114/visual-studio -cc65-winvice/p1

Ufak tefek bir şeyler yaparsam paylaşırım.
Logged

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

twitter | blog

C64, Amiga 500, Ps3, Wii, Nintendo DS lite, Nintendo 3DS
posetcat
Üye
***
Mesaj Sayısı: 11


Üyelik Bilgileri
« Yanıtla #13 : Mayıs 30, 2016, 17:25:14 ÖS »

programını sevdim bende basic dilini daha seviyorun, cc65 ile c dili ilgimi çekmesine ragmen daha iki satır kod yazmadım. ama bu aralar commodore super c yi arıyorum. bulursam biraz uğraşacağım.

aslında şu aralar birer birer bir oyun alıp onun mantığını çıkartıp elimizde dursun diye düşünüyorum. beni gaza getirdin. akşama kadar biraz çalışayım bari
Logged
Sayfa: [1]   Yukarı git
Yazdır
Gitmek istediğiniz yer: