Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;Janken
- set c,0xF000 ;Font/BG colour
- :firstlinetext
- set j,text1
- set i,0
- :firstline
- add [j],c
- set [0x8000+i],[j]
- add i,1
- add j,1
- ife [j],0
- set pc,waitforkey
- set pc,firstline
- :waitforkey
- ife [0x9000],0
- set pc,waitforkey
- ife [0x9000],0x0072
- set pc,rocktext
- ife [0x9000],0x0070
- set pc,papertext
- ife [0x9000],0x0073
- set pc,scissortext
- set [0x9000],0
- set pc,waitforkey
- :rocktext
- set x,text2
- set [result],1
- set i,0
- :rockline
- bor [x],c
- set [0x8040+i],[x]
- add i,1
- add x,1
- ife [x],0
- set pc,anykeytext
- set pc,rockline
- :papertext
- set y,text3
- set [result],2
- set i,0
- :paperline
- bor [y],c
- set [0x8040+i],[y]
- add i,1
- add y,1
- ife [y],0
- set pc,anykeytext
- set pc,paperline
- :scissortext
- set z,text4
- set [result],3
- set i,0
- :scissorline
- bor [z],c
- set [0x8040+i],[z]
- add i,1
- add z,1
- ife [z],0
- set pc,anykeytext
- set pc,scissorline
- :anykeytext
- set z,text10
- set i,0
- :anykeylineline
- bor [z],c
- set [0x8060+i],[z]
- add i,1
- add z,1
- ife [z],0
- set pc,randnumber
- set pc,anykeylineline
- :randnumber
- ;Random number generator lifted mostly from:
- ;http://www.dcpu16apps.com/Home/App/27
- set [0x9000],0
- set b, [randseed]
- set a, [randseed]
- add a,1
- mul [randseed], 0x660D
- set c,o
- mul a, 0x660D
- add a,c
- mul b, 0x0019
- add a,b
- add [randseed],1
- add a,o
- set [randseed],a
- ife [0x9000],0
- set pc,randnumber
- ifg a,44000
- set pc,rockmetext
- ifg a,22000
- set pc,papermetext
- ifg a,0
- set pc,scissormetext
- :rockmetext
- set c,0xF000
- set x,text5
- add [result],10
- set i,0
- :rockmeline
- bor [x],c
- set [0x80a0+i],[x]
- add i,1
- add x,1
- ife [x],0
- set pc,checkifwon
- set pc,rockmeline
- :papermetext
- set c,0xF000
- set y,text6
- add [result],20
- set i,0
- :papermeline
- bor [y],c
- set [0x80a0+i],[y]
- add i,1
- add y,1
- ife [y],0
- set pc,checkifwon
- set pc,papermeline
- :scissormetext
- set c,0xF000
- set z,text7
- add [result],30
- set i,0
- :scissormeline
- bor [z],c
- set [0x80a0+i],[z]
- add i,1
- add z,1
- ife [z],0
- set pc,checkifwon
- set pc,scissormeline
- :checkifwon
- ife [result],11
- set pc,drawtext
- ife [result],12
- set pc,wintext
- ife [result],13
- set pc,losetext
- ife [result],21
- set pc,losetext
- ife [result],22
- set pc,drawtext
- ife [result],23
- set pc,wintext
- ife [result],31
- set pc,wintext
- ife [result],32
- set pc,losetext
- ife [result],33
- set pc,drawtext
- :wintext
- set x,text8
- set c,0x2000
- set i,0
- :winline
- bor [x],c
- set [0x80e0+i],[x]
- add i,1
- add x,1
- ife [x],0
- set pc,done
- set pc,winline
- :losetext
- set y,text9
- set c,0x5000
- set i,0
- :loseline
- bor [y],c
- set [0x80e0+i],[y]
- add i,1
- add y,1
- ife [y],0
- set pc,done
- set pc,loseline
- :drawtext
- set z,text11
- set c,0xF000
- set i,0
- :drawline
- bor [z],c
- set [0x80e0+i],[z]
- add i,1
- add z,1
- ife [z],0
- set pc,done
- set pc,drawline
- :done
- sub pc, 1
- ;Text goes here...
- :text1 dat "Rock(r), paper(p), scissors(s)?",0
- :text2 dat "You chose: ROCK",0
- :text3 dat "You chose: PAPER",0
- :text4 dat "You chose: SCISSORS",0
- :text5 dat "I chose: ROCK",0
- :text6 dat "I chose: PAPER",0
- :text7 dat "I chose: SCISSORS",0
- :text8 dat "You WIN!! :)",0
- :text9 dat "You lose, better luck next time.",0
- :text10 dat "Press any key to continue...",0
- :text11 dat "A draw.",0
- :randseed dat "Test"
- :result dat 0
Advertisement
Add Comment
Please, Sign In to add comment