Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .model small
- .stack 100h
- .data
- rows STRUC
- row1 DB 201,205,205,205,203,205,205,205,203,205,205,205,187,32,32,32,201,205,205,205,203,205,205,205,203,205,205,205,187,13,10,"$"
- row2 DB 186,32,32,32,186,32,32,32,186,32,32,32,186,32,32,32,186,32,49,32,186,32,50,32,186,32,51,32,186,13,10,"$"
- row3 DB 204,205,205,205,206,205,205,205,206,205,205,205,185,32,32,32,204,205,205,205,206,205,205,205,206,205,205,205,185,13,10,"$"
- row4 DB 186,32,32,32,186,32,32,32,186,32,32,32,186,32,32,32,186,32,52,32,186,32,53,32,186,32,54,32,186,13,10,"$"
- row5 DB 204,205,205,205,206,205,205,205,206,205,205,205,185,32,32,32,204,205,205,205,206,205,205,205,206,205,205,205,185,13,10,"$"
- row6 DB 186,32,32,32,186,32,32,32,186,32,32,32,186,32,32,32,186,32,55,32,186,32,56,32,186,32,57,32,186,13,10,"$"
- row7 DB 200,205,205,205,202,205,205,205,202,205,205,205,188,32,32,32,200,205,205,205,202,205,205,205,202,205,205,205,188,13,10,"$"
- rows ENDS
- field rows <>
- strings STRUC
- error DB "Falsche Eingabe!$"
- horseerror DB "Zug nicht zulaessig!$"
- figureerror DB "Feld von Figur x besetzt!$"
- fieldtitle DB "Spielfeld:",32,32,32,32,32,32,"Positionen:",13,10,13,10,"$"
- menu DB "(1) Spielen",13,10,"(2) Highscore",13,10,"(3) Ende",13,10,"$"
- figuremove DB "Figur auswaehlen (1,2,a oder b)",13,10,"$"
- horsedestination DB "Moegliche Ziele: x und y",13,10,"$"
- movecount DB 13,10,13,10,"Anzahl Zuege: xx$"
- win DB "Gewonnen in xx Zuegen!$"
- strings ENDS
- speech strings <>
- variables STRUC
- moves DB 0
- input DB ?
- curfield DB ?
- movewish DB ?
- horsemove DB ?
- fig1 DB ?
- fig2 DB ?
- figa DB ?
- figb DB ?
- testvar DB "xx"
- variables ENDS
- var variables <>
- .code
- Start:
- mov ax,@data ;DS initialisieren
- mov ds,ax
- dude MACRO
- mov ax,37
- mov bl,10
- div bl
- add ax,3030h
- mov var.testvar[1],ah
- mov var.testvar[0],al
- dude ENDM
- paintField MACRO
- mov ah,09h
- mov dx,OFFSET speech.fieldtitle
- int 21h
- mov dx,OFFSET field.row1
- int 21h
- mov dx,OFFSET field.row2
- int 21h
- mov dx,OFFSET field.row3
- int 21h
- mov dx,OFFSET field.row4
- int 21h
- mov dx,OFFSET field.row5
- int 21h
- mov dx,OFFSET field.row6
- int 21h
- mov dx,OFFSET field.row7
- int 21h
- mov dx,OFFSET speech.movecount
- int 21h
- ENDM
- resetField MACRO
- mov field.row2[2],49
- mov field.row2[6],32
- mov field.row2[10],97
- mov field.row4[2],32
- mov field.row4[6],32
- mov field.row4[10],32
- mov field.row6[2],50
- mov field.row6[6],32
- mov field.row6[10],98
- ENDM
- paintField
- resetField
- paintField
- resetGame MACRO
- mov var.fig1,1
- mov var.fig2,7
- mov var.figa,3
- mov var,figb,9
- mov var.moves,0
- ENDM
- horsecheck MACRO
- horsecheckoutput MACRO var1,var2 ;Parameter: Ziele in ASCII
- mov speech.horsedestination[17],var1
- mov speech.horsedestination[23],var2
- mov ah,09h
- mov dx,OFFSET speech.horsedestination
- int 21h
- ENDM
- horsecheckinput MACRO
- mov ah,08h
- int 21h ;einzelnes Zeichen eingeben
- mov var.movewish,al
- ENDM
- horsecheckerror MACRO
- mov ah,09h
- mov dx,OFFSET speech.horseerror
- int 21h
- ENDM
- horseStage1:
- cmp var.curfield,1
- jnz horseStage2
- horsecheckoutput 54,56 ;6 oder 8
- horsecheckinput
- cmp var.movewish,6
- jnz horseStage11
- mov var.horsemove,6
- jmp horseFinalstage
- horseStage11:
- cmp var.movewish,8
- jnz horseStage12
- mov var.horsemove,8
- jmp horseFinalstage
- horseStage12:
- horsecheckerror
- ;jmp move
- horseStage2:
- cmp var.curfield,2
- jnz horseStage3
- horsecheckoutput 55,57 ;7 oder 9
- horsecheckinput
- cmp var.movewish,7
- jnz horseStage21
- mov var.horsemove,7
- jmp horseFinalstage
- horseStage21:
- cmp var.movewish,9
- jnz horseStage22
- mov var.horsemove,9
- jmp horseFinalstage
- horseStage22:
- horsecheckerror
- ;jmp move
- horseStage3:
- cmp var.curfield,3
- jnz horseStage4
- horsecheckoutput 52,56 ;4 oder 8
- horsecheckinput
- cmp var.movewish,4
- jnz horseStage31
- mov var.horsemove,4
- jmp horseFinalstage
- horseStage31:
- cmp var.movewish,8
- jnz horseStage32
- mov var.horsemove,8
- jmp horseFinalstage
- horseStage32:
- horsecheckerror
- ;jmp move
- horseStage4:
- cmp var.curfield,4
- jnz horseStage6
- horsecheckoutput 51,57 ;3 oder 9
- horsecheckinput
- cmp var.movewish,3
- jnz horseStage41
- mov var.horsemove,3
- jmp horseFinalstage
- horseStage41:
- cmp var.movewish,9
- jnz horseStage42
- mov var.horsemove,9
- jmp horseFinalstage
- horseStage42:
- horsecheckerror
- ;jmp move
- horseStage6:
- cmp var.curfield,6
- jnz horseStage7
- horsecheckoutput 49,55 ;1 oder 7
- horsecheckinput
- cmp var.movewish,1
- jnz horseStage61
- mov var.horsemove,1
- jmp horseFinalstage
- horseStage61:
- cmp var.movewish,7
- jnz horseStage62
- mov var.horsemove,7
- jmp horseFinalstage
- horseStage62:
- horsecheckerror
- ;jmp move
- horseStage7:
- cmp var.curfield,7
- jnz horseStage8
- horsecheckoutput 50,54 ;2 oder 6
- horsecheckinput
- cmp var.movewish,2
- jnz horseStage71
- mov var.horsemove,2
- jmp horseFinalstage
- horseStage71:
- cmp var.movewish,6
- jnz horseStage72
- mov var.horsemove,6
- jmp horseFinalstage
- horseStage72:
- horsecheckerror
- ;jmp move
- horseStage8:
- cmp var.curfield,8
- jnz horseStage9
- horsecheckoutput 50,54 ;1 oder 3
- horsecheckinput
- cmp var.movewish,1
- jnz horseStage81
- mov var.horsemove,1
- jmp horseFinalstage
- horseStage81:
- cmp var.movewish,3
- jnz horseStage82
- mov var.horsemove,3
- jmp horseFinalstage
- horseStage82:
- horsecheckerror
- ;jmp move
- horseStage9:
- horsecheckoutput 50,54 ;2 oder 4
- horsecheckinput
- cmp var.movewish,2
- jnz horseStage81
- mov var.horsemove,2
- jmp horseFinalstage
- horseStage81:
- cmp var.movewish,4
- jnz horseStage82
- mov var.horsemove,4
- jmp horseFinalstage
- horseStage82:
- horsecheckerror
- ;jmp move
- horseFinalstage:
- ENDM
- figurecheck MACRO
- figurecheckoutput MACRO var1 ;Parameter: Spielfigur
- mov speech.figureerror[15],var1
- mov ah,09h
- mov dx,OFFSET speech.figureerror
- int 21h
- ENDM
- figureStage1:
- mov dx,var.fig1
- cmp var.horsemove,dx
- jnz figureStage2
- figurecheckoutput 49
- ;jmp move
- figureStage2:
- mov dx,var.fig2
- cmp var.horsemove,dx
- jnz figureStagea
- figurecheckoutput 50
- ;jmp move
- figureStagea:
- mov dx,var.figa
- cmp var.horsemove,dx
- jnz figureStageb
- figurecheckoutput 97
- ;jmp move
- figureStageb:
- mov dx,var.figb
- cmp var.horsemove,dx
- jnz figureFinalstage
- figurecheckoutput 98
- ;jmp move
- figureFinalstage:
- mov dx,var.horsemove
- mov var.finalmove,dx
- inc var.moves
- ENDM
- mov ah,4Ch
- int 21h
- END Start
Add Comment
Please, Sign In to add comment