Gönderen Konu: flappy bird c64  (Okunma sayısı 38427 defa)

0 Üye ve 4 Ziyaretçi konuyu incelemekte.

Çevrimdışı Alco

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 2130
  • "Kahraman olmak, dürüst olmaktan kolaydır" Luigi P
    • Sizin Amstrad
Ynt: flappy bird c64
« Yanıtla #15 : 11 Mart 2014, 09:53:45 »
Bence olay bitmiştir. Yine ne varsa Speccyciler de var. Bunun üzerine laf söylemek mümkün değil:

Flappy Birds : The Text Adventure

Çevrimdışı Pe@ceR

  • RAAT
  • Tedavideki Retromanik
  • *
  • İleti: 321
Ynt: flappy bird c64
« Yanıtla #16 : 11 Mart 2014, 22:06:31 »
Hahaha, herşeyi elle yapan laz müteahhit tarzı bir iş olmuş o :) Ama tabii herşeyin bir sırası var, ben de öyle başlamıştım :)

Senin bir 6502 compiler'a ihtiyacın var ki sen benden daha iyi biliyorsundur burayı:
http://osdk.defence-force.org/index?page=download

bunu indir çalışmaya başla :D Paketin içinde dökümanlar klasöründen assembler kısmında xa.exe kullanımı anlatılmış. Bana biraz kabız bir compiler gibi geldi, undocumented opcodelar falan yokmuş. Ulen bu devirde böyle compiler pakete mi konur be? oturup onları eklemek 10 dakikasını almaz adamın.

Commodore64'cüler acme kullanıyordu. o olmaz mı acaba? Bence bal gibi de olur:

http://www.esw-heim.tu-clausthal.de/~marco/smorbrod/acme/


Bahsettiğim C benzeri kompiler buydu zaten :)  Adreslerde nerede parantez konacak hangi sayı hex hangisi decimal $h bilmemne derken vallahi 6502 komutlarına göre direkt sayı girmek daha kolay geliyor..

Çevrimdışı Ref

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 2882
  • Advanced User Simulator
    • ae unutmadan
Ynt: flappy bird c64
« Yanıtla #17 : 12 Mart 2014, 02:19:54 »
vallahi 6502 komutlarına göre direkt sayı girmek daha kolay

Yok dostum, değil. Bayaa zor bir iş yapıyorsun.

C compiler demedim zaten, bizim makineler için yapılan şiveler bayağı kesilmiş oluyor. Sen direk 6502 ASM yazacaksın. Compile edip emülatörde test edeceksin. Yoksa hayat geçer gider? :)

Bir de ROM disassembly bulmak iyi olur, böylece bi yazı yazdırmak için yeni rutinler yazmak zorunda kalmazsın. Basic Rom'da genellikle bir sürü işe yarayan rutin hazır bulunuyor nede olsa.

Çevrimdışı Pe@ceR

  • RAAT
  • Tedavideki Retromanik
  • *
  • İleti: 321
Ynt: flappy bird c64
« Yanıtla #18 : 12 Mart 2014, 12:05:15 »
Doğrudur kesinlikle de işte alışkanlık meselesi :) Elbette komut girmek sayı girmekten kolay olmalı ama yıllar yılı böyle alıştım, zor geliyor bana :)

Oric rom disassembly mevcut. Arada var hakikaten güzel rutinler, örneğin hafızanın belli bir bölümünü başka yere kopyalama gibi.

Aklımda birkaç fikir var bakalım..


Çevrimdışı Alco

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 2130
  • "Kahraman olmak, dürüst olmaktan kolaydır" Luigi P
    • Sizin Amstrad
Ynt: flappy bird c64
« Yanıtla #19 : 13 Mart 2014, 12:12:27 »
@Pe@cer
Kodunu açsan ne güzel olurdu :)

Çevrimdışı Pe@ceR

  • RAAT
  • Tedavideki Retromanik
  • *
  • İleti: 321
Ynt: flappy bird c64
« Yanıtla #20 : 13 Mart 2014, 14:29:12 »
Programın kodunu mu,tabi ki..
Kod: [Seç]
0 POKE #26A,10   ' Cursoru kapatıp tuş seslerini kesmeye yarayan Oric ayarı
10 GOSUB 1000    ' Karakter değiştirme alt programı
15 GOSUB 1200    ' Makine dili kodu hafızaya yerletirme
20 CLS
25 PAPER 6:INK 0  ' Ekran ve yazı rengi belirleniyor
30 X=10:Y=10       ' Kuşun ekran koordinatları X ve Y değişkenlerinde
35 Y1=39:N=INT(15*RND(1))   'Sütunların basılacağı değer Y1 değişkeninde. N de boşluğun olacağı satır için
40 REM
45 IF U=0 THEN Y=Y+1       ' U değişkeni kuşun yükselmesini denetliyor. 0 ise aşağı düşecek 1 ise yükselecek
46 IF U=1 THEN Y=Y-1
47 DOKE 0,48058+Y*40:CALL 4096  ' Kuşu ekranda gösteren makine kod rutini çağrılıyor
50 K$=KEY$     'basılan tuş bilgisi kdeğişkeninde
55 GOSUB 110  ' Sütunun oanki pozisyonu çizme alt programına
56 Y1=Y1-1:IF Y1=3 THEN Y1=39:N=INT(15*RND(1)) :CLS : ' Sütunun koordinatını bir düşür.Sola geldiyse en başa
60 IF K$<>"" THEN Z=6   : Herhangi bir tuşa basılırsa kuşa 6 birimlik güç ver.
70 Z=Z-1
75 IF Z<1 THEN U=0            : Kuşun enerjisi 0 altındaysa düşecek. 4 ya da 5 ise yükselecek. 1 ya da 2 ise sabit
76 IF Z=5 OR Z=4 OR Z=3 THEN U=1
77 IF Z=2 OR Z=1THEN U=2
80 IFY<3 THEN Y=3               ' kuş ekran sınırlarının dışına çıkmasın
90 IFY>24 THEN Y=24
100 GOTO 40
110 PLOT Y1,N,"j"                          '110-400 arası satırlarda Karşıdan gelen sütun verilen koordinata çiziliyor
120 PLOT Y1,N+8,"j"
130 IF Y1=39 THEN RETURN
140 FOR YY=1 TO N-1
150 PLOT Y1+1,YY,"g"
160 NEXT
170 FOR YY=N+9TO 23
180 PLOT Y1+1,YY,"g"
185 NEXT
190 PLOT Y1+1,N,"k":PLOT Y1+1,N+8,"k"
200 IF Y1=38 THEN RETURN
210 FOR YY=1 TO N-1
220 PLOT Y1+2,YY,"h"
230 NEXT
235 FOR YY=N+9TO 23
240 PLOT Y1+2,YY,"h"
250 NEXT
260 PLOT Y1+2,N,"k":PLOT Y1+2,N+8,"k"
270 IF Y1=37 THEN RETURN 
280 FOR YY=1 TO N-1
290 PLOT Y1+3,YY,"i"
300 NEXT
310 FOR YY=N+9TO 23
320 PLOT Y1+3,YY,"i"
330 NEXT
340 PLOT Y1+3,N,"k":PLOT Y1+3,N+8,"k"
350 IF Y1=36 THEN RETURN
351 FOR YY=1 TO N-1
352 PLOT Y1+4,YY," "
353 NEXT
354 FOR YY=N+9TO 23
355 PLOT Y1+4,YY," "
356 NEXT
360 PLOT Y1+4,N,"l":PLOT Y1+4,N+8,"l"
370 IF Y1=35 THEN RETURN
380 FOR YY=0 TO 24
390 PLOT Y1+5,YY," "
400 NEXT
998 RETURN
999 END
1000 READ A$:IF A$="END" THEN RETURN ' a-l arası harfleri kuş ve blokları oluşturacak şekilde düzenleniyor
1010 FOR N=0 TO 7
1015 READ Z
1020 POKE 46080+ASC(A$)*8+N,Z
1030 NEXT
1040 GOTO 1000 
1050 DATA a,0,3,4,30,33,32,32,17
1060 DATA b,63,4,8,8,8,36,35,4
1070 DATA c,0,32,16,40,40,8,60,2
1080 DATA d,14,8,6,1,0,0,0,0
1090 DATA e,11,4,3,60,0,0,0,0
1100 DATA f,60,4,56,0,0,0,0,0
1110 DATA g,58,52,58,52,58,52,58,52
1120 DATA h,34,8,34,8,34,8,34,8
1130 DATA i,11,39,11,39,11,39,11,39
1135 DATA j,63,52,58,52,58,52,58,63
1136 DATA k,63,8,34,8,34,8,34,63
1137 DATA l,63,39,11,39,11,39,11,63
1140 DATA END
1200 N=#1000
1210 READ X$:IFX$="END"THENRETURN ' Bu makine kod ile 0 adresindeki koordinata kuşu çizecek.
1220 POKE N,VAL("#"+X$)
1230 N=N+1
1240 GOTO 1210
1250 DATA A9,20
1260 DATA A0,00
1270 DATA 91,0
1280 DATA C8
1290 DATA 91,0
1300 DATA C8
1310 DATA 91,0
1320 DATA A0,28,A9,61,91,0
1330 DATA C8,A9,62,91,0
1340 DATA C8,A9,63,91,0
1350 DATA A0,50,A9,64,91,0
1360 DATA C8,A9,65,91,0
1370 DATA C8,A9,66,91,0
1380 DATA A9,20,A0,78
1390 DATA 91,0,C8,91,0,C8,91,0
1400 DATA 60
1410 DATA END

Çevrimdışı Alco

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 2130
  • "Kahraman olmak, dürüst olmaktan kolaydır" Luigi P
    • Sizin Amstrad
Ynt: flappy bird c64
« Yanıtla #21 : 13 Mart 2014, 15:02:10 »
Programın kodunu mu,tabi ki..
Tamam, sağolasın.

Çevrimdışı Pe@ceR

  • RAAT
  • Tedavideki Retromanik
  • *
  • İleti: 321
Ynt: flappy bird c64
« Yanıtla #22 : 13 Mart 2014, 15:16:34 »
Ne demek

Çevrimdışı Alco

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 2130
  • "Kahraman olmak, dürüst olmaktan kolaydır" Luigi P
    • Sizin Amstrad
Ynt: flappy bird c64
« Yanıtla #23 : 24 Nisan 2014, 10:49:05 »
Bunlar da tam fantazi olmuş!

Flappy2048

ASCII Flappy

Çevrimdışı Pe@ceR

  • RAAT
  • Tedavideki Retromanik
  • *
  • İleti: 321
Ynt: flappy bird c64
« Yanıtla #24 : 25 Nisan 2014, 20:00:23 »
Özellikle Flappy2048 süpermiş :)

Çevrimdışı Ref

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 2882
  • Advanced User Simulator
    • ae unutmadan
Ynt: flappy bird c64
« Yanıtla #25 : 26 Nisan 2014, 22:11:35 »
Özellikle Flappy2048 süpermiş :)

32768 yaptım.

Bunun bir farklı versionu daha var Flappy48 adında. Birkaç hafta önce çıkmıştı. Biraz daha farklı ve çok daha zor.

Çevrimdışı Pe@ceR

  • RAAT
  • Tedavideki Retromanik
  • *
  • İleti: 321
Ynt: flappy bird c64
« Yanıtla #26 : 27 Nisan 2014, 00:53:19 »





Flappy48 çok daha zormuş gerçekten de