You are currently looking at Flamebate, our community forums. Players can discuss the game here, strategize, and role play as their characters.
You need to be logged in to post and to see the uncensored versions of these forums.
Viewing a Post
|
;bumembled with ORG #include “ti83plus.inc” #define progStart $9D95 lvm .equ AppBackUpScreen xr .equ AppBackUpScreen+1 xc .equ AppBackUpScreen+2 zr .equ AppBackUpScreen+3 zc .equ AppBackUpScreen+4 moves .equ AppBackUpScreen+5 addr .equ AppBackUpScreen+7 k .equ AppBackUpScreen+9
maxLvl .equ 1 .org progStart-2 .db $BB,$6D bcall(_ClrLCDFull) ld HL, 0 ld (PenCol), HL ld HL, Title bcall(_PutS) ; Displays the string xor a ld (lvm),a ld (moves),a ld (moves+1),a Main: bcall(_ClrLCDFull) ld a,3 ld (CurRow),a ld a,0 ld (CurCol),a ld hl,Lvl bcall(_PutS) ld h,0 ld a,(lvm) ld l,a bcall(_DispHL) call KeyLoop bcall(_ClrLCDFull) ld hl,(lvm) call Mult132 ld bc,Lv0 add hl,bc ld (addr),hl ;draw map
push hl ld hl,(addr)+4 bcall(_PutS) pop hl push hl ld a,(hl) ld (xr),a inc hl ld a,(hl) ld (xc),a inc hl ld a,(hl) ld (zr),a inc hl ld a,(hl) ld (zc),a pop hl Play: call KeyLoop ld Log in to see images!,a cp skUP jr nz,pbumU ld h,0 ld a,(xr) ld l,a dec hl call Mult16 ld a,(xc)\ld b,0\ld c,a add hl,bc ld bc,(addr)+4 add hl,bc ld a,(hl) cp ’ ’ jr nz,PbumU call EraseX ld a,(xr) dec a ld (xr),a call DrawX ld a,Log in to see images! PbumU: cp skDown jr nz,PbumD ld h,0 ld a,(xr) ld l,a inc hl call Mult16 ld a,(xc)\ld b,0\ld c,a add hl,bc ld bc,(addr)+4 add hl,bc ld a,(hl) cp ’ ’ jr nz,PbumD call EraseX ld a,(xr) inc a ld (xr),a call DrawX ld a,Log in to see images! PbumD: cp skLeft jr nz,PbumL ld h,0 ld a,(xr) ld l,a call Mult16 ld a,(xc)\ld b,0\ld c,a dec bc add hl,bc ld bc,(addr)+4 add hl,bc ld a,(hl) cp ’ ’ jr nz,PbumL call EraseX ld a,(xc) dec a ld (xc),a call DrawX ld a,Log in to see images! PbumL: cp skRight jr nz,PbumR ld h,0 ld a,(xr) ld l,a call Mult16 ld a,(xc)\ld b,0\ld c,a inc bc add hl,bc ld bc,(addr)+4 add hl,bc ld a,(hl) cp ’ ’ jr nz,PbumR call EraseX ld a,(xc) inc a ld (xc),a call DrawX ld a,Log in to see images! PbumR: ;now mov0 and cmp call ZeroMove ld a,(zc) ld b,a ld a,(xc) cp b jp nz,Play ld a,(zr) ld b,a ld a,(xr) cp b jp nz,Play ;if we got here we caught the zero
ld a,(lvm) inc a ld (lvm),a cp maxLvl jp nz,Main ret
KeyLoop: ;gets current key bcall(_GetCSC) cp 0 jr z,KeyLoop ret Mult132: ;132=128+4 ;in: hl=input ;out: hl=output ;destroys: bc, hl add hl,hl ;2 add hl,hl ;4 ld b,h ld c,l add hl,hl ;8 add hl,hl ;16 add hl,hl ;32 add hl,hl ;64 add hl,hl ;128 add hl,bc ret Mult16: ;hl=input add hl,hl add hl,hl add hl,hl add hl,hl ret EraseX: ld a,(xr) ld (CurRow),a ld a,(xc) ld (CurCol),a ld a,’ ’ bcall(_PutC) ret DrawX: ld a,(xr) ld (CurRow),a ld a,(xc) ld (CurCol),a ld a,’X’ ld hl,(moves) inc hl ld (moves),hl bcall(_PutC) ret Erase0: ld a,d ld (CurRow),a ld a,e ld (CurCol),a ld a,’ ’ bcall(_PutC) ret Draw0: ld a,d ld (CurRow),a ld a,e ld (CurCol),a ld a,’0’ bcall(_PutC) ret ZeroMove: ld a,(zr) ld d,a ld a,(zc) ld e,a ld a,(xr) ld b,a ld a,(xc) ld c,a call Erase0 ld a,d cp b jr z,rdmr ;if xr=zr, then choose random lr ;a<d, c is set, a>d, c is reset jr c,MovR jr MovL rdmr: call Random jr c,MovR MovL: ld h,0 ld a,(zr) ld l,a call Mult16 ld a,(zc)\ld b,0\ld c,a dec bc add hl,bc ld bc,(addr)+4 add hl,bc ld a,(hl) cp ’ ’ jr nz,Junc ld a,(zr) dec a ld (zr),a jr Junc MovR: ld h,0 ld a,(zr) ld l,a call Mult16 ld a,(zc)\ld b,0\ld c,a inc bc add hl,bc ld bc,(addr)+4 add hl,bc ld a,(hl) cp ’ ’ jr nz,Junc ld a,(zr) inc a ld (zr),a jr Junc Junc: ld a,e cp c jr z,rdmd ;if xr=zr, then choose random ud ;a<e, c is set, a>e, c is reset jr c,MovD jr MovU rdmd: call Random jr c,MovU MovU: ld h,0 ld a,(zr) ld l,a dec hl call Mult16 ld a,(zc)\ld b,0\ld c,a add hl,bc ld bc,(addr)+4 add hl,bc ld a,(hl) cp ’ ’ jr nz,Junc2 ld a,(zc) dec a ld (zc),a jr Junc MovD: ld h,0 ld a,(zr) ld l,a inc hl call Mult16 ld a,(zc)\ld b,0\ld c,a add hl,bc ld bc,(addr)+4 add hl,bc ld a,(hl) cp ’ ’ jr nz,Junc2 ld a,(zc) inc a ld (zc),a jr Junc2 Junc2: call Draw0 ret Random: ;random bit in carry flag ld a,r rra Title: .db “Catch the Zero!!”,0 Lvl: .db “Level ”,0 Win: .db “You win! Moves so far: ”,0 ;first, the coords of the X ;and next, those of the 0 ;and then, the map ;finally, a null ;needs to be all in a row Lv0: .db 1,1 .db 4,6 .db “LLLLLLLLLLLLLLLL” .db “L L L L L L” .db “L LLL L L L” .db “L L L LLLLL L L” .db “L L L L LL L” .db “L L L L L” .db “L L L L” .db “LLLLLLLLLLLLLLLL”,0 Death to TI-Nspires! |
||||||
Posted On: 05/29/2012 7:03PM | View Evil-Seaman's Profile | # |