falsch ist der Code:Assembly - kann nicht verstehen, was hier
proc ChangeColumnNumber1
inc [FirstColumnArray]
mov [Player1Drawx], 25h
mov [Player1Drawy], 87h
jmp DrawPlayer1Disc
endp ChangeColumnNumber1
DrawPlayer1Loop:
mov bh,0h
mov cx,[Player1Drawx]
mov dx,[Player1Drawy]
mov al,[player1disccolor]
mov ah,0ch
int 10h
inc [Player1Drawx]
cmp cx, [Player1Drawx + 14h]
jl DrawPlayer1Loop
DrawPlayer1Disc:
mov bh, 0h
inc [Player1Drawy]
cmp dx, [Player1Drawy + 14h]
jl DrawPlayer1Loop
proc CheckPlayer2Number
mov ah, 7
int 21h
cmp al, 31h
je Player2CheckColumn1
jmp CheckPlayer2Number
endp CheckPlayer2Number
proc Player2CheckColumn1
cmp [FirstColumnArray], 0
je ChangeColumnNumber2
cmp [FirstColumnArray + 1], 0
je ChangeColumnNumber2
endp Player2CheckColumn1
proc ChangeColumnNumber2
inc [FirstColumnArray + 1]
mov [Player2Drawx], 25h
mov [Player2Drawy], 60h
jmp DrawPlayer2Disc
endp ChangeColumnNumber2
DrawPlayer2Loop:
mov bh,0h
mov cx,[Player2Drawx]
mov dx,[Player2Drawy]
mov al,[player2disccolor]
mov ah,0ch
int 10h
inc [Player2Drawx]
cmp cx, [Player2Drawx + 14h]
jl DrawPlayer2Loop
DrawPlayer2Disc:
mov bh, 0h
inc [Player2Drawy]
cmp dx, [Player2Drawy + 14h]
jl DrawPlayer2Loop
Als ich es ausführen soll ich ‚1‘ drücken. Wenn ich das mache, soll es ein Quadrat zeichnen und wenn ich wieder '1' drücken soll, zeichnet es nicht das zweite Quadrat. Ich verstehe nicht, warum es nicht funktioniert. Davor hatte ich einen mov-Befehl, der einen Wert zum Beispiel in Player1Drawx verschiebt, aber es funktioniert nicht mit meinem neuen Code, also löschte ich ihn.
Danke für jede Hilfe, die ich bekomme.
Verwenden Sie einen Debugger und kommentieren Sie Ihren Code, besonders wenn Sie möchten, dass andere helfen. Stellen Sie auch korrekte [MCVE] zur Verfügung. – Jester