Şimdi Ara

qbasic64 snake

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
3
Cevap
0
Favori
274
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • kolay gelsin arkadaşlar;
    qb64 kullanıyorum; ilkel bir dil ama başlangıç ve algoritma öğrenmek için harika bir dil


    qbasicle yaptıgım ilk oyunum;



    Kodları direkt cop/paste yaparsanız çalışır.
    İyi eğlenceler.
    Açıklaması yoktur.


    CLS
    SCREEN 0
    _FULLSCREEN _STRETCH
    RANDOMIZE TIMER

    OPTION BASE 1

    WIDTH 80, 60
    DIM SHARED playerscore AS INTEGER
    DIM SHARED ppuan AS INTEGER


    DIM tX(300), tY(300) AS INTEGER
    DIM u AS INTEGER



    CONST xmax = 80
    CONST ymax = 60

    dx = 1
    dy = 1

    x = 39
    Y = 30


    sy = 30

    u = 7

    FOR jo = 1 TO u
    tX(jo) = 39: tY(jo) = 30
    NEXT jo
    up = 0
    YU = 72
    ASA = 80
    SAG = 77
    SOL = 75
    conut = 8
    Z = 5
    ART = 1
    SIZE = 2
    kalp$ = CHR$(3)
    uret = 1
    numara = 1
    fk = 6
    k = 1

    ddy = -1

    FOR gh = 1 TO 80
    ggg$ = "=" + ggg$

    NEXT gh




    DO
    COLOR 15
    LOCATE 5, 1: PRINT ; ggg$
    LOCATE 58, 1: PRINT ; ggg$
    LOCATE 3, 67: PRINT "esc for exit"


    IF fk < 1 THEN fk = u - 1
    WHILE fk >= k
    tX(fk + 1) = tX(fk)
    tY(fk + 1) = tY(fk)
    fk = fk - 1
    WEND
    REM FOR cam = 1 TO u
    REM PRINT tX(cam), tY(cam)
    REM NEXT cam
    REM PRINT "movex movey:", movex, movey
    IF uret = 1 THEN Xm = INT(RND * 29) + 6: Ym = INT(RND * 79) + 1: numara = 1
    uret = 0
    LOCATE 3, 10: PRINT "Player Score"; playerscore
    px = movex: py = movey




    k$ = UCASE$(INKEY$)

    IF k$ = CHR$(0) + CHR$(YU) THEN up = 1: dx = -1: ASA = 0: SAG = 77: SOL = 75
    IF k$ = CHR$(0) + CHR$(ASA) THEN up = 2: dx = 1: YU = 0: SAG = 77: SOL = 75
    IF k$ = CHR$(0) + CHR$(SAG) THEN up = 3: dy = 1: ASA = 80: YU = 72: SOL = 0
    IF k$ = CHR$(0) + CHR$(SOL) THEN up = 3: dy = -1: ASA = 80: YU = 72: SAG = 0
    puan$ = LEFT$(kalp$, numara)

    COLOR 2: LOCATE Xm, Ym: COLOR 5: PRINT puan$
    COLOR 15

    IF up = 1 THEN x = x + dx: ELSE IF up = 2 THEN x = x + dx
    IF up = 3 THEN Y = Y + dy: ELSE IF up = 4 THEN Y = Y - dy

    _KEYCLEAR


    movex = x
    movey = Y

    tX(1) = movex
    tY(1) = movey

    IF Xm = movex AND Ym = movey THEN ppuan = 10: BEEP: _LIMIT (100): LOCATE Xm, Ym: numara = 0: uret = 1: u = u + 1


    IF up = 1 OR up = 2 OR up = 3 OR up = 4 THEN
    FOR rr = 4 TO u
    IF movex = tX(rr) AND movey = tY(rr) THEN: BEEP: CALL bitir
    NEXT rr
    ELSE GOTO atla
    END IF
    atla:





    playerscore = playerscore + ppuan
    ppuan = 0


    LOCATE movex, movey: PRINT CHR$(219)



    FOR sd = 1 TO u - 1
    LOCATE tX(sd), tY(sd): PRINT CHR$(219)
    NEXT sd

    IF movex = 5 OR movex > 57 THEN movex = 57: PLAY "F": CALL bitir
    IF movey = 1 OR movey > 79 THEN PLAY "F": CALL bitir
    IF playcount = 50 AND playcount = 0 THEN conut = 5: ELSE IF playcount > 100 THEN conut = 36

    IF k$ = "T" THEN
    SLEEP

    CALL INFO
    END IF

    coli = coli + 1

    _DELAY (1 / u)



    CLS


    LOOP UNTIL k$ = CHR$(27)
    END
    SYSTEM

    SUB INFO
    LOCATE 40, 30: PRINT ; "PAUSED"
    LOCATE 40, 32: PRINT "HERHANGI BIR TUSA BASINIZ"

    END SUB

    SUB bitir

    CLS
    LOCATE 20, 26: PRINT "S.N.A.K.E. beta ver:0.1 "
    LOCATE 22, 30: PRINT "Oyuncu Skoru:"; playerscore
    LOCATE 40, 10: PRINT "************************"
    LOCATE 42, 10: PRINT "************************"

    IF ppuan = 0 THEN playerscore = 1
    END
    SYSTEM



    END SUB







  • Arkadaş sen nabtın yahu. Beni çocukluğuma götürdün. İlk programımı gwbasic ile yazmıştım. Bu devirde hala basic'le program yazıyorsan, sen müzeliksin demektir.



    Ama bişey dikkatimi çekti, programlama da geriye dönüş var sanki. Phyton'a bakınca hep basic'e benzetiyorum.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.