;:rem open4,8,15,"s:streichholz":close4
;:rem open1,8,2,"streichholz,p,w
;:sys36864;** version number 4
;;.opt o1
	*= $402
pattern	=$c139
tbox	=$c19f
mouseon	=$c18a
icon	=$c15a
input	=$c1ba
r0	=2
r1	=4
r2	=6
r3	=8
r4	=10
r5	=12
r6	=14
r7	=16
r8	=18
r9	=20
r10	=22
r11	=24
keyvec	=$84a3
multiwowo	=$c166
divwowo	=$c169
desktop	=$c22c
menueon	=$c151
freemenue	=$c193
tprint	=$c1ae
save	=$c1ed
close	=$c277
open	=$c274
recappend	=$c289
print	=$c148
killrec	=$c283
setrecord	=$c280
maxrec	=$8497
page	=$2f
rec	=$c127
trec	=$c1a2
clrmouse	=$c19b
clrallmen	=$c157
window	=$c256
rev	=$8850
reset	=$9185
vline	=$c121
re	=6
charout	=$c145
hline	=$c118
get	=$c2a7
fe	jsr trec
	.byt 34,180
	.word 20,256
	.byt -1
	lda #7
	jsr pattern
	jsr tbox
	.byt 47,179
	.word 21,255
	lda #9
	jsr pattern
	jsr tbox
	.byt 35,46
	.word 21,255
	jsr tprint
	.word 101
	.byt 42
	.byte "\x1b streichholzspiel v1 "
	brk
	lda #1
	jsr pattern
	jsr tbox
	.byt 60,84
	.word 60,236
	lda #0
	jsr pattern
	jsr tbox
	.byt 52,76
	.word 52,228
	jsr trec
	.byt 52,76
	.word 52,228
	.byt -1
	jsr tprint
	.word 64
	.byt 69
	.byte "\x1bstreichholz-ziehen aus \x18"
	.byt re+48
	.byte "\x1b\xa0reihen"
	brk
	lda #<windtab
	ldy #>windtab
	sta r0
	sty r0+1
	jsr window
	ldx r0
	dex
	beq ok
	dex
	ldy #0
wait	dex
	bne wait
	dey
	bne wait
	jmp desktop
ok	lda #7
	jsr pattern
	jsr tbox
	.byt 47,179
	.word 21,255
	lda #<windtab2
	ldy #>windtab2
	sta r0
	sty r0+1
	jsr window
	lda r0
	sec
	sbc #4
	sta beginner
ok2	lda #0
	jsr pattern
	jsr tbox
	.byt 47,179
	.word 21,255
	lda #-1
	ldx #0
	stx r4+1
	ldx #138
	stx r4
	ldx #48
	stx r3
	ldx #178
	stx r3+1
	ldx #$80
	stx page
	jsr vline
	lda #113
	sta r11
	lda #0
	sta r3+1
	sta r4+1
	lda #254
	sta r4
	lda #140
	sta r3
	lda #128
	sta page
	lda #-1
	jsr hline
	lda #146
	sta r11
	lda #-1
	jsr hline
	ldy #re-1
	lda #re
setup	sta row,y
	sec
	sbc #1
	dey
	bpl setup
	jmp main
feldout	lda #0
	jsr pattern
	jsr tbox
	.byt 48,179
	.word 21,137
	ldy #0
loop1	sty zeile
	lda #128
	sta page
	lda #25
	sta r11
	lda #0
	sta r11+1
	lda zeile
	sta r1
	asl
	asl
	adc r1
	sta r1
	lda zeile
	asl
	asl
	asl
	asl
	adc r1
	adc #60
	sta r1+1
	lda #"\x18"
	jsr charout
	lda zeile
	adc #48
	jsr charout
	lda #34
	sta r11
	ldy zeile
	lda row,y
	beq nix
loop2	pha
	lda #"i"
	jsr charout
	lda #" "
	jsr charout
	lda #" "
	jsr charout
	pla
	sec
	sbc #1
	bne loop2
nix	ldy zeile
	iny
	cpy #re
	bcc loop1
	lda #"\x1b"
	jmp charout
qcomputer	jmp computer
main	jsr feldout
	lda beginner
	beq qcomputer
	lda #0
	jsr pattern
	jsr tbox
	.byt 114,145
	.word 139,255
	jsr tprint
	.word 140
	.byt 122
	.byte "welche zeile ? \x18"
	brk
get1	jsr get
	cmp #"1"
	bcc get1
	cmp #"1"+re
	bcs get1
	tay
	sec
	sbc #"1"
	tax
	lda row,x
	beq get1
	clc
	adc #"1"
	sta anzahl
	stx zeile
	tya
	jsr charout
	jsr tprint
	.word 140
	.byt 136
	.byte "\x1bwieviele ? \x18"
	brk
get2	jsr get
	cmp #"1"
	bcc get2
	cmp anzahl
	bcs get2
	pha
	jsr charout
	pla
	sec
	sbc #"0"
	sta anzahl
	ldx zeile
	lda row,x
	sec
	sbc anzahl
	sta row,x
	ldx #0
	stx r1
count	lda r1
	clc
	adc row,x
	sta r1
	inx
	cpx #re
	bcc count
	lda r1
	beq qcompwin
	cmp #1
	beq qspiwin
	inc beginner
	jmp main
qcompwin	jmp compwin
qspiwin	jmp spiwin
computer	lda #0
	jsr pattern
	jsr tbox
	.byt 147,179
	.word 139,255
	ldx #re-1
	lda #0
	sta r1
	sta r2
	sta a
	dec beginner
comp1	lda row,x
	tay
	beq comp2
	clc
	adc a
	sta a
	inc r1
	dey
	beq comp2
	inc r2
comp2	dex
	bpl comp1
	lda r2
	beq comp3
	lda r1
	lsr
	asl
	cmp r1
	bcc comp4
	ldx #re
comp5	stx r4
	dex
	lda row,x
	cmp #2
	bcs comp6
	txa
	bne comp5
	beq comp3
comp6	ldx r4
	stx zeile
	lda row-1,x
	sta anzahl
	bpl comp9
comp4	ldx #0
comp4a	lda row,x
	cmp #2
	bcs comp7
	inx
	cpx #re
	bcc comp4a
	bcs comp3
comp7	ldy row,x
	dey
	sty anzahl
	inx
	stx zeile
	bpl comp9
comp3	ldx #0
comp3a	lda row,x
	bne comp8
	inx
	bne comp3a
comp8	lda #1
	sta anzahl
	inx
	stx zeile
comp9	jsr tprint
	.word 140
	.byt 155
	.byte "\x1bich nehme \x18"
	brk
	lda anzahl
	ora #"0"
	jsr charout
	ldx anzahl
	dex
	beq eins
	lda #<mehrtxt
	ldy #>mehrtxt
	bne outtxt
eins	lda #<einstxt
	ldy #>einstxt
outtxt	sta r0
	sty r0+1
	jsr print
	jsr tprint
	.word 140
	.byt 169
	.byte "aus der \x18"
	brk
	lda zeile
	ora #"0"
	jsr charout
	lda #<zeiltxt
	ldy #>zeiltxt
	sta r0
	sty r0+1
	jsr print
	ldx zeile
	lda row-1,x
	sec
	sbc anzahl
	sta row-1,x
	lda a
	sec
	sbc anzahl
	beq spiwin
	cmp #1
	beq compwin
	jmp main
spiwin	jsr feldout
	jsr tprint
	.word 145
	.byt 54
	.byte "\x18\x19sehr gut !\x1b"
	brk
	inc spsi
	jsr tprint
	.word 139
	.byt 66
	.byte "sie haben gewonnen."
	brk
	jmp gon
compwin	jsr feldout
	jsr tprint
	.word 148
	.byt 54
	.byte "\x18\x19sorry...\x1b"
	brk
	inc cosi
	jsr tprint
	.word 139
	.byt 66
	.byte "ich habe gewonnen."
	brk
gon	jsr tprint
	.word 148
	.byt 78
	.byte "(space taste)"
	brk
	jsr tprint
	.word 150
	.byt 90
	.byte "spieler: "
	brk
	lda spsi
	jsr numout
	jsr tprint
	.word 150
	.byt 102
	.byt 128
	.byte " 64: "
	brk
	lda cosi
	jsr numout
gets	jsr get
	cmp #" "
	bne gets
	jmp fe
numout	ldx #"0"
co100	cmp #100
	bcc kl100
	inx
	sbc #100
	jmp co100
kl100	stx zahl
	ldx #"0"
co10	cmp #10
	bcc kl10
	inx
	sbc #10
	bpl co10
kl10	ora #"0"
	sta zahl+2
	stx zahl+1
	lda zahl
	cmp #"0"
	bne fini
	lda #" "
	sta zahl
	cpx #"0"
	bne fini
	lda #" "
	sta zahl+1
fini	lda #"\x18"
	jsr charout
	lda zahl
	jsr charout
	lda zahl+1
	jsr charout
	lda zahl+2
	jsr charout
	lda #"\x1b"
	jmp charout
windtab	.byt 1,80,158
	.word 52,228
	.byt $b,4,11
	.word text1
	.byt $b,4,24
	.word text2
	.byt $b,4,37
	.word text3
	.byt $b,4,50
	.word text4
	.byt 2,16,58,1,1,58
	brk
windtab2	.byt 1,80,118
	.word 52,228
	.byt $b,4,11
	.word text5
	.byt 4,16,18,3,1,18
	brk
text1	.byte "sie koennen pro zug aus einer zeile"
	brk
text2	.byte "beliebig viele hoelzer ziehen, aber"
	brk
text3	.byte "\x18nicht\x1b mehr als in der zeile vor-"
	brk
text4	.byte "handen sind !"
	brk
text5	.byte "wollen \x18sie\x1b beginnen ?"
	brk
einstxt	.byte "\x1b streichholz"
	brk
mehrtxt	.byte "\x1b hoelzer"
	brk
zeiltxt	.byte "\x1b. zeile"
	brk
beginner	=$a000
row	.word 0,0,0
a	brk
zeile	brk
anzahl	brk
cosi	brk
spsi	brk
zahl	.byte "..."
