_____________________________________________________________________________________________________________________________________________ _____________________________________________________________________________________________________________________________________________

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, 20 Mei 2012

Aplikasi Game LABIRIN menggunakan bahasa Asembly

Berikut adalah tampilan Program Game "Labirin"


Tahap awal dalam membuat game Labirin ini adalah menentukan rintangan (jalan). untuk mendesign  jalan keluar (labirin) saya mengguakan Ms Excel untuk mempermudah koordinat si rintangan tersebut. Berikut adalah design rintangan dalam Ms Excel:



Berikut adalah source code Game Labirin:
=================================================================
Tulis_Kar MACRO X,Y,Kar
    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 ES:[BX],AL     ; Tampilkan Karakter
   
ENDM


Tes MACRO X,Y,N1,N2
    LOCAL CIP
    CMP X,N1
    JNE CIP
    CMP Y,N2
    JE Gagal
CIP:
    Tulis_Kar X,Y,1
   
   
ENDM
   

.MODEL SMALL
.STACK 100h
.DATA
.CODE

TData: JMP Proses
   
    Rintangan    DB 0b2h, 15 DUP (0b2h),0b2h,13,10
                DB 0b2h,'   ',0b2h,'   ',0b2h,'    ',0b2h,0b2h,0b2h,0b2h,13,10
                DB 0b2h,,0b2h,0b2h,' ',0b2h,'   ',0b2h,' ',0b2h,0b2h,'  ',0b2h,0b2h,0b2h,13,10
                DB 0b2h,'   ',0b2h,' ',0b2h,' ',0b2h,' ',0b2h,' ',0b2h,'   ',0b2h,13,10
                DB 0b2h,' ',0b2h,0b2h,0b2h,' ',0b2h,' ',0b2h,' ',0b2h,' ',0b2h,0b2h,0b2h,' ',0b2h,13,10
                DB 0b2h,'   ',0b2h,' ',0b2h,' ',0b2h,'   ',0b2h,'   ',0b2h,13,10
                DB 0b2h,' ',0b2h,' ',0b2h,0b2h,0b2h,' ',0b2h,0b2h,0b2h,' ',0b2h,'   ',0b2h,13,10
                DB 0b2h,' ',0b2h,' ',0b2h,'   ',0b2h,' ',0b2h,' ',0b2h,' ',0b2h,' ',0b2h,13,10
                DB 0b2h,' ',0b2h,'    ',0b2h,0b2h,' ',0b2h,' ',0b2h,' ',0b2h,' ',0b2h,13,10
                DB 0b2h,' ',0b2h,0b2h,0b2h,0b2h,'  ',0b2h,'   ',0b2h,' ',0b2h,' ',0b2h,13,10
                DB 0b2h,' ',0b2h,' ',0b2h,'     ',0b2h,0b2h,'  ',0b2h,' ',0b2h,13,10
                DB 0b2h,'   ',0b2h,0b2h,0b2h,0b2h,'   ',0b2h,'    ',0b2h,13,10
                DB 0b2h,0b2h,0b2h,' ',0b2h,'    ',0b2h,0b2h,0b2h,'  ',0b2h,0b2h,0b2h,13,10
                DB 0b2h,'   ',0b2h,' ',0b2h,0b2h,'    ',0b2h,'  ',0b2h,0b2h,13,10
                DB 0b2h,' ',0b2h,' ',0b2h,'    ',0b2h,0b2h,' ',0b2h,'  ',0b2h,0b2h,13,10
                DB 0b2h,' ',0b2h,'   ',0b2h,0b2h,0b2h,0b2h,'  ',0b2h,0b2h,'   ',13,10
                DB 0b2h, 15 DUP (0b2h),0b2h,13,10,'$'
    GO            DB 'Game over...',7,7,7,7,7,'$'
    Selamat        DB 'SELAMAT!',13,10,'Anda berhasil!!!!!!$'
    X             DB 1
    Y             DB 1

Proses:
    MOV AX,@DATA
    MOV DS,AX
   
   
    MOV AX,0600h
    XOR CX,CX
    MOV DX,284Fh
    MOV BH,11111001b    
    INT 10h            
   
   
    MOV AH,02
    XOR BX,BX
    MOV DH,0            ; posisi X
    MOV DL,0            ; posisi Y
    INT 10h                ; pindahkan kursor ke posisi 0,0
   
   
    ;Cetak Rintangan
    MOV AH,09
    LEA DX,Rintangan
    INT 21h
   
       
    MOV DX,28
    Tulis_Kar X,Y,1
   
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 Y,15
    JNE wuih
    CMP X,16
    JE  Sukses
wuih:
    CMP X,16
    JE Gagal
    JMP Ngecek
   
Kiri:
    Tulis_Kar X,Y,32,248
    DEC X
    CMP X,0
    JE Gagal
    JMP Ngecek
Atas:
    Tulis_Kar X,Y,32,248
    DEC Y
    CMP Y,0
    JE Gagal
    JMP Ngecek
Bawah:
    Tulis_Kar X,Y,32,248
    INC Y
    CMP Y,16
    JE Gagal
    JMP Ngecek
   
   
Ngecek:       
    ;=====================Baris 1   
    Tes X,Y,4,1
    Tes X,Y,8,1
    Tes X,Y,13,1
    Tes X,Y,14,1
    Tes X,Y,15,1
   
    ;=====================Baris2
    Tes X,Y,1,2
    Tes X,Y,2,2
    Tes X,Y,4,2
    Tes X,Y,8,2
    Tes X,Y,10,2
    Tes X,Y,11,2
    Tes X,Y,14,2
    Tes X,Y,15,2
   
    ;====================Baris3
    Tes X,Y,4,3
    Tes X,Y,6,3
    Tes X,Y,8,3
    Tes X,Y,10,3
    Tes X,Y,12,3
   
    ;====================Baris4
    Tes X,Y,2,4
    Tes X,Y,3,4
    Tes X,Y,4,4
    Tes X,Y,6,4
    Tes X,Y,8,4
    Tes X,Y,10,4
    Tes X,Y,12,4
    Tes X,Y,13,4
    Tes X,Y,14,4
   
    ;===================Baris5
    Tes X,Y,4,5    
    Tes X,Y,6,5
    Tes X,Y,8,5
    Tes X,Y,12,5
   
    ;==================Baris6
    Tes X,Y,2,6
    Tes X,Y,4,6
    Tes X,Y,5,6
    Tes X,Y,6,6
    Tes X,Y,8,6
    Tes X,Y,9,6
    Tes X,Y,10,6
    Tes X,Y,12,6
   
    ;=================Baris7
    Tes X,Y,2,7
    Tes X,Y,4,7
    Tes X,Y,8,7
    Tes X,Y,10,7
    Tes X,Y,12,7
    Tes X,Y,14,7
   
    ;=================Baris8
    Tes X,Y,2,8
    Tes X,Y,7,8
    Tes X,Y,8,8
    Tes X,Y,10,8
    Tes X,Y,12,8
    Tes X,Y,14,8
   
    ;================Baris9
    Tes X,Y,2,9
    Tes X,Y,3,9 
    Tes X,Y,4,9
    Tes X,Y,5,9
    Tes X,Y,8,9
    Tes X,Y,12,9
    Tes X,Y,14,9
   
    ;===============Baris10
    Tes X,Y,2,10
    Tes X,Y,4,10
    Tes X,Y,10,10
    Tes X,Y,11,10
    Tes X,Y,14,10
   
    ;===============Baris11
    Tes X,Y,4,11  
    Tes X,Y,5,11
    Tes X,Y,6,11
    Tes X,Y,7,11
    Tes X,Y,11,11
   
    ;===============Baris12
    Tes X,Y,2,12
    Tes X,Y,4,12
    Tes X,Y,9,12
    Tes X,Y,10,12
    Tes X,Y,11,12
    Tes X,Y,14,12
    Tes X,Y,15,12
   
    ;===============Baris13
    Tes X,Y,4,13
    Tes X,Y,6,13
    Tes X,Y,7,13
    Tes X,Y,12,13
    Tes X,Y,15,13
   
    ;===============Baris14
    Tes X,Y,2,14
    Tes X,Y,4,14
    Tes X,Y,9,14
    Tes X,Y,10,14
    Tes X,Y,12,14
    Tes X,Y,15,14
   
    ;===============Baris15
    Tes X,Y,2,15
    Tes X,Y,6,15
    Tes X,Y,7,15
    Tes X,Y,8,15
    Tes X,Y,9,15
    Tes X,Y,12,15
    Tes X,Y,13,15
   
   
    JMP Jalan
   
       
Gagal:
    MOV AH,9h
    LEA DX,GO
    INT 21h
    JMP Akhir
Sukses:
    MOV AH,9h
    LEA DX,Selamat
    INT 21h
    MOV AH,0
    INT 16h

Akhir:   
    MOV AH,4Ch
    INT 33

END TData

Tidak ada komentar:

Posting Komentar

ketikan komentarmu disini!!!