_____________________________________________________________________________________________________________________________________________ _____________________________________________________________________________________________________________________________________________

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 V (DPT)

Berikut adalah Game menggunakan bahasa asembly Duri, Pohon dan Tembok. Jika pemain berjalan dari titik awal menuju garis finish tanpa harus menginjak/menabrak rintangan tsb (DPT) maka pemain dinyatakan berhasil.

Berikut adalah screen shootnya:

Berikut adalah source code Game DPT
=================================================================

Tulis MACRO X,Y,A,B
    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,A         ; AL=karakter yang akan ditampilkan
    MOV AH,B
    MOV ES:[BX],AL     ; Tampilkan Karakter
    MOV ES:[BX+1],AH ; pada posisi kolom X dan baris Y
ENDM

CekG MACRO X,Y,A,B
    LOCAL Beres
    CMP X,A
    PUSHF
    POP AX
    CMP Y,B
    PUSHF
    POP BX
    ADD AL,BL
    CMP AL,8Ch
    JNE Beres
    JMP Pohon
    Beres:
ENDM

CekD MACRO X,Y,A,B
    LOCAL Beres
    CMP X,A
    PUSHF
    POP AX
    CMP Y,B
    PUSHF
    POP BX
    ADD AL,BL
    CMP AL,8Ch
    JNE Beres
    JMP Duri
    Beres:
ENDM

CekT MACRO X,Y,A,B
    LOCAL Beres
    CMP X,A
    PUSHF
    POP AX
    CMP Y,B
    PUSHF
    POP BX
    ADD AL,BL
    CMP AL,8Ch
    JNE Beres
    JMP Tembok
    Beres:
ENDM

.MODEL SMALL
.STACK 100h
.DATA
    Frame    DB '  ==============================                          ',13,10
            DB ' !   :::    GAME DPT     :::   !       Ket:              ',13,10
            DB '  ==============================                          ',13,10
            DB '                         ', 30 DUP ('*'),13,10
            DB '                        * ,,,,  ,,, * ,, ,, ,,  ,,* ,,,|F|',13,10
            DB '               **********,, ,,, , ,,* , , ,  ,, ,,[ , ,| |',13,10
            DB ' **************  ,,  , ,*, , ,,, , ,[ , ,, ,, ,  ,*, ,,|I|',13,10
            DB '*, ,,,*  ,,, ,* ,, ,, , [, ,,, , ,,,*  , ,  , ,,, [ ,, | |',13,10
            DB '* ,, ,*,, ,,, [, , ,,,, * ,,  , ,, ,[ ,, ,, , , ,,* ,,,|N|',13,10
            DB '* , ,,[ ,,,, ,* , , ,,, [ ,, ,,, ,, * ,, , , ,, , [,,, | |',13,10
            DB '* , , *  ,,,, [ ,, , ,,,*  , ,, ,,, [, ,, , ,,,, ,* ,,,|I|',13,10
            DB '* , ,,*,, , ,,*,, ,, ,,,[ ,, , ,,,,,* , , ,,,  , ,[,, ,| |',13,10
            DB ' ************** ,,,,,,, * ,, , , ,, [,, ,,  , ,,, * , ,|S|',13,10
            DB '               **********  , ,,,,, ,* ,, , ,,,  , [,,,,| |',13,10
            DB '                        *, , ,,, ,, *,, , ,,,  ,,,*, , |H|',13,10
            DB '                         ', 30 DUP ('*'),13,10,'$'

    Aww        DB 13,10,'Aww... Anda menabrak pohon ',13,10
            DB '::: Game Over :::',7,13,10,'$'
    Adaw    DB 13,10,'Aww... Anda menginjak duri',13,10
            DB '::: Game Over :::',7,13,10,'$'
    Gubrak    DB 13,10,'Gubrak... Anda menabrak tembok',13,10
            DB '::: Game Over :::',7,13,10,'$'

    Hore    DB 13,10,'Selamat! Anda berhasil melewati rintangan',13,10,'$'

    X         DB 1
    Y         DB 12

.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
    MOV AH,09
    LEA DX,Frame
    INT 21h
    Tulis X,Y,79,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 X,Y,32,248
    INC X
    CMP X,55
    JE Sukses
    CekG X,Y,6,10
    CekG X,Y,6,11
    CekG X,Y,6,13
    CekG X,Y,6,14
    CekG X,Y,14,10
    CekG X,Y,14,12
    CekG X,Y,14,14
    CekG X,Y,24,9
    CekG X,Y,24,11
    CekG X,Y,24,13
    CekG X,Y,24,15
    CekG X,Y,36,7
    CekG X,Y,36,8
    CekG X,Y,36,10
    CekG X,Y,36,12
    CekG X,Y,36,14
    CekG X,Y,36,16
    CekG X,Y,36,17
    CekG X,Y,50,7
    CekG X,Y,50,9
    CekG X,Y,50,11
    CekG X,Y,50,13
    CekG X,Y,50,15
    CekG X,Y,50,17
    CekT X,Y,14,11
    CekT X,Y,24,12
    CekT X,Y,24,14
    CekT X,Y,36,9
    CekT X,Y,36,11
    CekT X,Y,36,15
    CekT X,Y,50,10
    CekT X,Y,50,12
    CekT X,Y,50,14
    CekT X,Y,50,16
    CekD X,Y,2,13
    CekD X,Y,5,11
    CekD X,Y,8,12
    CekD X,Y,9,10
    CekD X,Y,12,13
    CekD X,Y,18,12
    CekD X,Y,17,11
    CekD X,Y,21,14
    CekD X,Y,23,9
    CekD X,Y,27,13
    CekD X,Y,27,10
    CekD X,Y,30,11
    CekD X,Y,34,15
    CekD X,Y,26,7
    CekD X,Y,35,17
    CekD X,Y,38,12
    CekD X,Y,45,12
    CekD X,Y,41,17
    CekD X,Y,46,15
    CekD X,Y,48,16
    CekD X,Y,46,8
    CekD X,Y,49,9
    CekD X,Y,40,14
    CekD X,Y,48,7
    CekD X,Y,53,7
    CekD X,Y,52,8
    CekD X,Y,53,9
    CekD X,Y,53,10
    CekD X,Y,53,12
    CekD X,Y,52,13
    CekD X,Y,52,15
    CekD X,Y,54,15
    CekD X,Y,53,17
    Tulis X,Y,79,240
    JMP Jalan
Kiri:
    Tulis X,Y,32,248
    DEC X
    CMP X,0
    JE Pohon
    CekG X,Y,6,10
    CekG X,Y,6,11
    CekG X,Y,6,13
    CekG X,Y,6,14
    CekG X,Y,14,9
    CekG X,Y,14,10
    CekG X,Y,14,12
    CekG X,Y,14,14
    CekG X,Y,14,15
    CekG X,Y,24,7
    CekG X,Y,24,8
    CekG X,Y,24,9
    CekG X,Y,24,11
    CekG X,Y,24,13
    CekG X,Y,24,15
    CekG X,Y,24,16
    CekG X,Y,24,17
    CekG X,Y,36,7
    CekG X,Y,36,8
    CekG X,Y,36,10
    CekG X,Y,36,12
    CekG X,Y,36,14
    CekG X,Y,36,16
    CekG X,Y,36,17
    CekG X,Y,50,7
    CekG X,Y,50,9
    CekG X,Y,50,11
    CekG X,Y,50,13
    CekG X,Y,50,15
    CekG X,Y,50,17
    CekT X,Y,14,11
    CekT X,Y,24,12
    CekT X,Y,24,14
    CekT X,Y,36,9
    CekT X,Y,36,11
    CekT X,Y,36,15
    CekT X,Y,50,10
    CekT X,Y,50,12
    CekT X,Y,50,14
    CekT X,Y,50,16
    CekD X,Y,2,13
    CekD X,Y,5,11
    CekD X,Y,8,12
    CekD X,Y,9,10
    CekD X,Y,12,13
    CekD X,Y,18,12
    CekD X,Y,17,11
    CekD X,Y,21,14
    CekD X,Y,23,9
    CekD X,Y,27,13
    CekD X,Y,27,10
    CekD X,Y,30,11
    CekD X,Y,34,15
    CekD X,Y,26,7
    CekD X,Y,35,17
    CekD X,Y,38,12
    CekD X,Y,45,12
    CekD X,Y,41,17
    CekD X,Y,46,15
    CekD X,Y,48,16
    CekD X,Y,46,8
    CekD X,Y,49,9
    CekD X,Y,40,14
    CekD X,Y,48,7
    CekD X,Y,53,7
    CekD X,Y,52,8
    CekD X,Y,53,9
    CekD X,Y,53,10
    CekD X,Y,53,12
    CekD X,Y,52,13
    CekD X,Y,52,15
    CekD X,Y,54,15
    CekD X,Y,53,17
    Tulis X,Y,79,240
    JMP Jalan
Atas:
    Tulis X,Y,32,248
    DEC Y
    CMP Y,6
    JE Pohon
    CekG X,Y,1,9
    CekG X,Y,2,9
    CekG X,Y,3,9
    CekG X,Y,4,9
    CekG X,Y,5,9
    CekG X,Y,6,11
    CekG X,Y,7,9
    CekG X,Y,8,9
    CekG X,Y,9,9
    CekG X,Y,10,9
    CekG X,Y,11,9
    CekG X,Y,12,9
    CekG X,Y,13,9
    CekG X,Y,14,10
    CekG X,Y,15,8
    CekG X,Y,16,8
    CekG X,Y,17,8
    CekG X,Y,18,8
    CekG X,Y,19,8
    CekG X,Y,20,8
    CekG X,Y,21,8
    CekG X,Y,22,8
    CekG X,Y,23,8
    CekG X,Y,24,9
    CekG X,Y,36,8
    CekG X,Y,50,7
    CekG X,Y,14,12
    CekG X,Y,24,11
    CekG X,Y,24,13
    CekG X,Y,36,10
    CekG X,Y,36,12
    CekG X,Y,36,14
    CekG X,Y,50,9
    CekG X,Y,50,11
    CekG X,Y,50,13
    CekG X,Y,50,15
    CekD X,Y,2,13
    CekD X,Y,5,11
    CekD X,Y,8,12
    CekD X,Y,9,10
    CekD X,Y,12,13
    CekD X,Y,18,12
    CekD X,Y,17,11
    CekD X,Y,21,14
    CekD X,Y,23,9
    CekD X,Y,27,13
    CekD X,Y,27,10
    CekD X,Y,30,11
    CekD X,Y,34,15
    CekD X,Y,26,7
    CekD X,Y,35,17
    CekD X,Y,38,12
    CekD X,Y,45,12
    CekD X,Y,41,17
    CekD X,Y,46,15
    CekD X,Y,48,16
    CekD X,Y,46,8
    CekD X,Y,49,9
    CekD X,Y,40,14
    CekD X,Y,48,7
    CekD X,Y,53,7
    CekD X,Y,52,8
    CekD X,Y,53,9
    CekD X,Y,53,10
    CekD X,Y,53,12
    CekD X,Y,52,13
    CekD X,Y,52,15
    CekD X,Y,54,15
    CekD X,Y,53,17
    Tulis X,Y,79,240
    JMP Jalan
Bawah:
    Tulis X,Y,32,248
    INC Y
    CMP Y,18
    JE Pohon
    CekG X,Y,1,15
    CekG X,Y,2,15
    CekG X,Y,3,15
    CekG X,Y,4,15
    CekG X,Y,5,15
    CekG X,Y,6,13
    CekG X,Y,7,15
    CekG X,Y,8,15
    CekG X,Y,9,15
    CekG X,Y,10,15
    CekG X,Y,11,15
    CekG X,Y,12,15
    CekG X,Y,13,15
    CekG X,Y,14,14
    CekG X,Y,15,16
    CekG X,Y,16,16
    CekG X,Y,17,16
    CekG X,Y,18,16
    CekG X,Y,19,16
    CekG X,Y,20,16
    CekG X,Y,21,16
    CekG X,Y,22,16
    CekG X,Y,23,16
    CekG X,Y,24,15
    CekG X,Y,36,16
    CekG X,Y,50,17
    CekG X,Y,14,12
    CekG X,Y,24,11
    CekG X,Y,24,13
    CekG X,Y,36,10
    CekG X,Y,36,12
    CekG X,Y,36,14
    CekG X,Y,50,9
    CekG X,Y,50,11
    CekG X,Y,50,13
    CekG X,Y,50,15
    CekD X,Y,2,13
    CekD X,Y,5,11
    CekD X,Y,8,12
    CekD X,Y,9,10
    CekD X,Y,12,13
    CekD X,Y,18,12
    CekD X,Y,17,11
    CekD X,Y,21,14
    CekD X,Y,23,9
    CekD X,Y,27,13
    CekD X,Y,27,10
    CekD X,Y,30,11
    CekD X,Y,34,15
    CekD X,Y,26,7
    CekD X,Y,35,17
    CekD X,Y,38,12
    CekD X,Y,45,12
    CekD X,Y,41,17
    CekD X,Y,46,15
    CekD X,Y,48,16
    CekD X,Y,46,8
    CekD X,Y,49,9
    CekD X,Y,40,14
    CekD X,Y,48,7
    CekD X,Y,53,7
    CekD X,Y,52,8
    CekD X,Y,53,9
    CekD X,Y,53,10
    CekD X,Y,53,12
    CekD X,Y,52,13
    CekD X,Y,52,15
    CekD X,Y,54,15
    CekD X,Y,53,17
    Tulis X,Y,79,240
    JMP Jalan

Pohon:
    LEA DX,Aww
    MOV AH,9h
    INT 21h
    JMP Beres
Duri:
    LEA DX,Adaw
    MOV AH,9h
    INT 21h
    JMP Beres
Tembok:
    LEA DX,Gubrak
    MOV AH,9h
    INT 21h
    JMP Beres
Sukses:
    LEA DX,Hore
    MOV AH,9h
    INT 21h

Beres:   
    MOV AH,4Ch
    INT 33

END Program

Tidak ada komentar:

Posting Komentar

ketikan komentarmu disini!!!