_____________________________________________________________________________________________________________________________________________ _____________________________________________________________________________________________________________________________________________

cuaca

$province_id = substr(trim(strip_tags(@$_GET['province_id'])), 0, 2); require('lib/bmkg.php'); $bmkg = new BMKG(); $data = $bmkg->weather($province_id); header('Content-Type: application/json'); header('Access-Control-Allow-Origin: *'); echo json_encode($data, JSON_PRETTY_PRINT);

Minggu, 06 Mei 2012

Game Menggunakan Bahasa Asembly III (Makan)

Berikut adalah tampilan Game Makan


Berikut Source code Game Makan bahasa asembly
=================================================================
 ; MACRO untuk menuliskan satu karakter pada posisi X Y di layar
; Punyanya S'to :)


Tulis_Kar MACRO X,Y,Kar,Attr
    MOV AX,0B800h
    MOV ES,AX         ; ES Menunjuk pada segment layar
    MOV AH,Y
    MOV AL,160
    MUL AH             ; Hitung offset baris
    MOV BX,AX         ; Simpan hasilnya pada BX
    MOV AH,X
    MOV AL,2
    MUL AH             ; Hitung offset kolom
    ADD BX,AX         ; Tambahkan hasilnya pada BX
    MOV AL,Kar         ; AL=karakter yang akan ditampilkan
    MOV AH,Attr
    MOV ES:[BX],AL     ; Tampilkan Karakter
    MOV ES:[BX+1],AH ; pada posisi kolom X dan baris Y
ENDM

CekF MACRO X,Y,Kar,Attr

    LOCAL Beres
    CMP X,Kar
    PUSHF
    POP AX
    CMP Y,Attr
    PUSHF
    POP BX
    ADD AL,BL
    CMP AL,8Ch
    JNE Beres
    INC Nilai
    Tulis_Kar 7,23,Nilai,240
Beres:
    ENDM

.MODEL SMALL

.STACK 100h
.DATA
    Score    DB 'Score: 000',13,10,'$'
    Nilai    DB 48
    Frame    DB 47, 23 DUP (45), 92,13,10
            DB 124,'                       ',124,13,10
            DB 124,'  *                    ',124,13,10
            DB 124,'                       ',124,13,10
            DB 124,'             *         ',124,13,10
            DB 124,'                       ',124,13,10
            DB 124,'    *                  ',124,13,10
            DB 124,'                       ',124,13,10
            DB 124,'                       ',124,13,10
            DB 124,'                 *     ',124,13,10
            DB 124,'                       ',124,13,10
            DB 124,'                       ',124,13,10
            DB 124,'                       ',124,13,10
            DB 124,'       *               ',124,13,10
            DB 124,'                    *  ',124,13,10
            DB 124,'                       ',124,13,10
            DB 124,'                       ',124,13,10
            DB 124,'                       ',124,13,10
            DB 124,'   *                   ',124,13,10
            DB 124,'                       ',124,13,10
            DB 124,'                       ',124,13,10
            DB 124,'           *           ',124,13,10
            DB 92, 23 DUP (45),47,13,10,'$'
    Ouch    DB 'Game over...',7,'$'
    Yeah    DB 'Selamat! Anda berhasil!$'
    X         DB 12
    Y         DB 11

.CODE

Program:
    MOV AX,@DATA
    MOV DS,AX
   
    ; FULL SCREEN
    MOV AX,0600h
    XOR CX,CX
    MOV DX,284Fh
    MOV BH,11110000b     ; Warna layar
    INT 10h             ; Hapus layar (supaya bisa fullscreen)
   
    ; GOTO 0,0
    MOV AH,02
    XOR BX,BX
    MOV DH,0            ; posisi X
    MOV DL,0            ; posisi Y
    INT 10h                ; pindahkan kursor ke posisi 0,0
    ; Frame & Scoreboard
    MOV AH,09
    LEA DX,Frame
    INT 21h
    LEA DX,Score
    INT 21h
   
    MOV DX,28
    Tulis_Kar X,Y,88,240
Jalan:
    MOV AH,0
    INT 16h
    PUSH AX
    CMP AH,77
    JE Kanan
    CMP AH,75
    JE Kiri
    CMP AH,72
    JE Atas
    CMP AH,80
    JE Bawah
    JMP Jalan
   
Kanan:
    Tulis_Kar X,Y,32,248
    INC X
    CMP X,24
    JE Gagal
    ; Cek posisi "makanan"
    CekF X,Y,3,2
    CekF X,Y,14,4
    CekF X,Y,5,6
    CekF X,Y,18,9
    CekF X,Y,8,13
    CekF X,Y,21,14
    CekF X,Y,4,18
    CekF X,Y,12,21
    Tulis_Kar X,Y,88,240
    CMP Nilai,'8'
    JE Sukses
    JMP Jalan
Kiri:
    Tulis_Kar X,Y,32,248
    DEC X
    CMP X,0
    JE Gagal
    ; Cek posisi "makanan"
    CekF X,Y,3,2
    CekF X,Y,14,4
    CekF X,Y,5,6
    CekF X,Y,18,9
    CekF X,Y,8,13
    CekF X,Y,21,14
    CekF X,Y,4,18
    CekF X,Y,12,21
    Tulis_Kar X,Y,88,240
    CMP Nilai,'8'
    JE Sukses
    JMP Jalan
Atas:
    Tulis_Kar X,Y,32,248
    DEC Y
    CMP Y,0
    JE Gagal
    ; Cek posisi "makanan"
    CekF X,Y,3,2
    CekF X,Y,14,4
    CekF X,Y,5,6
    CekF X,Y,18,9
    CekF X,Y,8,13
    CekF X,Y,21,14
    CekF X,Y,4,18
    CekF X,Y,12,21
    Tulis_Kar X,Y,88,240
    CMP Nilai,'8'
    JE Sukses
    JMP Jalan
Bawah:
    Tulis_Kar X,Y,32,248
    INC Y
    CMP Y,22
    JE Gagal
    ; Cek posisi "makanan"
    CekF X,Y,3,2
    CekF X,Y,14,4
    CekF X,Y,5,6
    CekF X,Y,18,9
    CekF X,Y,8,13
    CekF X,Y,21,14
    CekF X,Y,4,18
    CekF X,Y,12,21
    Tulis_Kar X,Y,88,240
    CMP Nilai,'8'
    JE Sukses
    JMP Jalan
   
Gagal:
    LEA DX,Ouch
    MOV AH,9h
    INT 21h
    JMP Beres
Sukses:
    LEA DX,Yeah
    MOV AH,9h
    INT 21h

Beres:   

    MOV AH,4Ch
    INT 33

END Program

Tidak ada komentar:

Posting Komentar

ketikan komentarmu disini!!!