У меня есть мой проект из-за завтра, и я закончил его, но у меня все еще есть некоторые ошибки, которые я, похоже, не понимаю, как их исправить. Я сижу долгое время, и я просто не знаю, что делать. Я объясню код после.Сборка x86 - проблемы с кодом
* Примечание. Это сообщение действительно длинное, но мне действительно нужна помощь. Если кто-то действительно хочет помочь мне, у меня есть Skype.
Я буду загружать около половины моего кода, так как другая половина 100% работ:
proc CheckIfPlayer1Won
Row1:
cmp [FirstColumnArray], 1
je Continue1Row1
jmp Row2
Continue1Row1:
cmp [SecondColumnArray], 1
je Continue2Row1
jmp Row2
Continue2Row1:
cmp [ThirdColumnArray], 1
je Continue3Row1
jmp Row2
Continue3Row1:
cmp [FourthColumnArray], 1
je Player1WinnerAnnounce1
jmp Row2
Row2:
cmp [FirstColumnArray + 1], 1
je Continue1Row2
jmp Row3
Continue1Row2:
cmp [SecondColumnArray + 1], 1
je Continue2Row2
jmp Row3
Continue2Row2:
cmp [ThirdColumnArray + 1], 1
je Continue3Row2
jmp Row3
Continue3Row2:
cmp [FourthColumnArray + 1], 1
je Player1WinnerAnnounce1
jmp Row3
Row3:
cmp [FirstColumnArray + 2], 1
je Continue1Row3
jmp Row4
Continue1Row3:
cmp [SecondColumnArray + 2], 1
je Continue2Row2
jmp Row4
Continue2Row3:
cmp [ThirdColumnArray + 2], 1
je Continue3Row2
jmp Row4
Continue3Row3:
cmp [FourthColumnArray + 2], 1
je Player1WinnerAnnounce1
jmp Row4
Row4:
cmp [FirstColumnArray + 3], 1
je Continue1Row4
jmp Column1
Continue1Row4:
cmp [SecondColumnArray + 3], 1
je Continue2Row4
jmp Column1
Continue2Row4:
cmp [ThirdColumnArray + 3], 1
je Continue3Row4
jmp Column1
Continue3Row4:
cmp [FourthColumnArray + 3], 1
je Player1WinnerAnnounce1
jmp Column1
Player1WinnerAnnounce1:
mov dl, 22
mov dh, 12
mov ah, 2
mov bh, 0
int 10h
lea dx, [Player1Winner]
mov dx, offset Player1Winner
mov ah, 9
int 21h
jmp exit
Column1:
cmp [FirstColumnArray], 1
je Continue1Column1
jmp Column2
Continue1Column1:
cmp [FirstColumnArray + 1], 1
je Continue2Column1
jmp Column2
Continue2Column1:
cmp [FirstColumnArray + 2], 1
je Continue3Column1
jmp Column2
Continue3Column1:
cmp [FirstColumnArray + 3], 1
je Player1WinnerAnnounce2
jmp Column2
Column2:
cmp [SecondColumnArray], 1
je Continue1Column2
jmp Column3
Continue1Column2:
cmp [SecondColumnArray + 1], 1
je Continue2Column2
jmp Column3
Continue2Column2:
cmp [SecondColumnArray + 2], 1
je Continue3Column2
jmp Column3
Continue3Column2:
cmp [SecondColumnArray + 3], 1
je Player1WinnerAnnounce2
jmp Column3
Column3:
cmp [ThirdColumnArray], 1
je Continue1Column3
jmp Column4
Continue1Column3:
cmp [ThirdColumnArray + 1], 1
je Continue2Column3
jmp Column4
Continue2Column3:
cmp [ThirdColumnArray + 2], 1
je Continue3Column3
jmp Column4
Continue3Column3:
cmp [ThirdColumnArray + 3], 1
je Player1WinnerAnnounce2
jmp Column4
Column4:
cmp [FourthColumnArray], 1
je Continue1Column4
jmp DiagnolLine1
Continue1Column4:
cmp [FourthColumnArray + 1], 1
je Continue2Column4
jmp DiagnolLine1
Continue2Column4:
cmp [FourthColumnArray + 2], 1
je Continue3Column4
jmp DiagnolLine1
Continue3Column4:
cmp [FourthColumnArray + 3], 1
je Player1WinnerAnnounce2
jmp DiagnolLine1
Player1WinnerAnnounce2:
mov dl, 22
mov dh, 12
mov ah, 2
mov bh, 0
int 10h
lea dx, [Player1Winner]
mov dx, offset Player1Winner
mov ah, 9
int 21h
jmp exit
DiagnolLine1:
cmp [FirstColumnArray], 1
je Continue1DiagnolLine1
jmp DiagnolLine2
Continue1DiagnolLine1:
cmp [SecondColumnArray + 1], 1
je Continue2DiagnolLine1
jmp DiagnolLine2
Continue2DiagnolLine1:
cmp [ThirdColumnArray + 2], 1
je Continue3DiagnolLine1
jmp DiagnolLine2
Continue3DiagnolLine1:
cmp [FourthColumnArray + 3], 1
je Player1WinnerAnnounce3
jmp DiagnolLine2
DiagnolLine2:
cmp [FourthColumnArray], 1
je Continue1DiagnolLine2
jmp CheckPlayer1Number
Continue1DiagnolLine2:
cmp [ThirdColumnArray + 1], 1
je Continue2DiagnolLine2
jmp CheckPlayer1Number
Continue2DiagnolLine2:
cmp [SecondColumnArray + 2], 1
je Continue3DiagnolLine2
jmp CheckPlayer1Number
Continue3DiagnolLine2:
cmp [FirstColumnArray + 3], 1
je Player1WinnerAnnounce3
jmp CheckIfPlayer2Won
Player1WinnerAnnounce3:
mov dl, 22
mov dh, 12
mov ah, 2
mov bh, 0
int 10h
lea dx, [Player1Winner]
mov dx, offset Player1Winner
mov ah, 9
int 21h
jmp exit
ret
endp CheckIfPlayer1Won
proc CheckIfPlayer2Won
Row1T:
cmp [FirstColumnArray], 2
je Continue1Row1T
jmp Row2T
Continue1Row1T:
cmp [SecondColumnArray], 2
je Continue2Row1T
jmp Row2T
Continue2Row1T:
cmp [ThirdColumnArray], 2
je Continue3Row1T
jmp Row2T
Continue3Row1T:
cmp [FourthColumnArray], 2
je Player2WinnerAnnounce1
jmp Row2T
Row2T:
cmp [FirstColumnArray + 1], 2
je Continue1Row2T
jmp Row3T
Continue1Row2T:
cmp [SecondColumnArray + 1], 2
je Continue2Row2T
jmp Row3T
Continue2Row2T:
cmp [ThirdColumnArray + 1], 2
je Continue3Row2T
jmp Row3T
Continue3Row2T:
cmp [FourthColumnArray + 1], 2
je Player2WinnerAnnounce1
jmp Row3T
Row3T:
cmp [FirstColumnArray + 2], 2
je Continue1Row3T
jmp Row4T
Continue1Row3T:
cmp [SecondColumnArray + 2], 2
je Continue2Row3T
jmp Row4T
Continue2Row3T:
cmp [ThirdColumnArray + 2], 2
je Continue3Row3T
jmp Row4T
Continue3Row3T:
cmp [FourthColumnArray + 2], 2
je Player2WinnerAnnounce1
jmp Row4T
Row4T:
cmp [FirstColumnArray + 3], 2
je Continue1Row4T
jmp Column1T
Continue1Row4T:
cmp [SecondColumnArray + 3], 2
je Continue2Row4T
jmp Column1T
Continue2Row4T:
cmp [ThirdColumnArray + 3], 2
je Continue3Row4T
jmp Column1T
Continue3Row4T:
cmp [FourthColumnArray + 3], 2
je Player2WinnerAnnounce1
jmp Column1T
Player2WinnerAnnounce1:
mov dl, 22
mov dh, 12
mov ah, 2
mov bh, 0
int 10h
lea dx, [Player2Winner]
mov dx, offset Player2Winner
mov ah, 9
int 21h
jmp exit
Column1T:
cmp [FirstColumnArray], 2
je Continue1Column1T
jmp Column2T
Continue1Column1T:
cmp [FirstColumnArray + 1], 2
je Continue2Column1T
jmp Column2T
Continue2Column1T:
cmp [FirstColumnArray + 2], 2
je Continue3Column1T
jmp Column2T
Continue3Column1T:
cmp [FirstColumnArray + 3], 2
je Player2WinnerAnnounce2
jmp Column2T
Column2T:
cmp [SecondColumnArray], 2
je Continue1Column2T
jmp Column3T
Continue1Column2T:
cmp [SecondColumnArray + 1], 2
je Continue2Column2T
jmp Column3T
Continue2Column2T:
cmp [SecondColumnArray + 2], 2
je Continue3Column2T
jmp Column3T
Continue3Column2T:
cmp [SecondColumnArray + 3], 2
je Player2WinnerAnnounce2
jmp Column3T
Column3T:
cmp [ThirdColumnArray], 2
je Continue1Column3T
jmp Column4T
Continue1Column3T:
cmp [ThirdColumnArray + 1], 2
je Continue2Column3T
jmp Column4T
Continue2Column3T:
cmp [ThirdColumnArray + 2], 2
je Continue3Column3T
jmp Column4T
Continue3Column3T:
cmp [ThirdColumnArray + 3], 2
je Player2WinnerAnnounce2
jmp Column4T
Column4T:
cmp [FourthColumnArray], 2
je Continue1Column4T
jmp DiagnolLine1T
Continue1Column4T:
cmp [FourthColumnArray + 1], 2
je Continue2Column4T
jmp DiagnolLine1T
Continue2Column4T:
cmp [FourthColumnArray + 2], 2
je Continue3Column4T
jmp DiagnolLine1T
Continue3Column4T:
cmp [FourthColumnArray + 3], 2
je Player2WinnerAnnounce2
jmp DiagnolLine1T
Player2WinnerAnnounce2:
mov dl, 22
mov dh, 12
mov ah, 2
mov bh, 0
int 10h
lea dx, [Player2Winner]
mov dx, offset Player2Winner
mov ah, 9
int 21h
jmp exit
DiagnolLine1T:
cmp [FirstColumnArray], 2
je Continue1DiagnolLine1T
jmp DiagnolLine2T
Continue1DiagnolLine1T:
cmp [SecondColumnArray + 1], 2
je Continue2DiagnolLine1T
jmp DiagnolLine2T
Continue2DiagnolLine1T:
cmp [ThirdColumnArray + 2], 2
je Continue3DiagnolLine1T
jmp DiagnolLine2T
Continue3DiagnolLine1T:
cmp [FourthColumnArray + 3], 2
je Player2WinnerAnnounce3
jmp DiagnolLine2T
DiagnolLine2T:
cmp [FourthColumnArray], 2
je Continue1DiagnolLine2T
jmp CheckPlayer1Number
Continue1DiagnolLine2T:
cmp [ThirdColumnArray + 1], 2
je Continue2DiagnolLine2T
jmp CheckPlayer1Number
Continue2DiagnolLine2T:
cmp [SecondColumnArray + 2], 2
je Continue3DiagnolLine2T
jmp CheckPlayer1Number
Continue3DiagnolLine2T:
cmp [FirstColumnArray + 3], 2
je Player2WinnerAnnounce3
jmp CheckPlayer1Number
Player2WinnerAnnounce3:
mov dl, 22
mov dh, 12
mov ah, 2
mov bh, 0
int 10h
lea dx, [Player2Winner]
mov dx, offset Player2Winner
mov ah, 9
int 21h
jmp exit
ret
endp CheckIfPlayer2Won
proc CheckPlayer1Number
mov ah, 7
int 21h
cmp al, 31h
je CheckColumn1
cmp al, 32h
je CheckColumn2
cmp al, 33h
je MoveToCheckColumn3
cmp al, 34h
je MoveToCheckColumn4
jmp CheckPlayer1Number
endp CheckPlayer1Number
proc CheckColumn1
cmp [FirstColumnArray], 0
je ChangeColumn1Number1
cmp [FirstColumnArray + 1], 0
je ChangeColumn1Number2
cmp [FirstColumnArray + 2], 0
je ChangeColumn1Number3
cmp [FirstColumnArray + 3], 0
je ChangeColumn1Number4
jmp CheckPlayer1Number
endp CheckColumn1
proc ChangeColumn1Number1
inc [FirstColumnArray]
mov [Player1Drawx], 25h
mov [Player1Drawy], 85h
jmp DrawPlayer1Disc
endp ChangeColumn1Number1
proc ChangeColumn1Number2
inc [FirstColumnArray + 1]
mov [Player1Drawx], 25h
mov [Player1Drawy], 67h
jmp DrawPlayer1Disc
endp ChangeColumn1Number2
proc ChangeColumn1Number3
inc [FirstColumnArray + 2]
mov [Player1Drawx], 25h
mov [Player1Drawy], 47h
jmp DrawPlayer1Disc
endp ChangeColumn1Number3
proc ChangeColumn1Number4
inc [FirstColumnArray + 3]
mov [Player1Drawx], 25h
mov [Player1Drawy], 27h
jmp DrawPlayer1Disc
endp ChangeColumn1Number4
proc MoveToCheckColumn3
jmp CheckColumn3
endp MoveToCheckColumn3
proc MoveToCheckColumn4
jmp CheckColumn4
endp MoveToCheckColumn4
proc CheckColumn2
cmp [SecondColumnArray], 0
je ChangeColumn2Number1
cmp [SecondColumnArray + 1], 0
je ChangeColumn2Number2
cmp [SecondColumnArray + 2], 0
je ChangeColumn2Number3
cmp [SecondColumnArray + 3], 0
je ChangeColumn2Number4
jmp CheckPlayer1Number
endp CheckColumn2
proc ChangeColumn2Number1
inc [SecondColumnArray]
mov [Player1Drawx], 45h
mov [Player1Drawy], 85h
jmp DrawPlayer1Disc
endp ChangeColumn2Number1
proc ChangeColumn2Number2
inc [SecondColumnArray + 1]
mov [Player1Drawx], 45h
mov [Player1Drawy], 67h
jmp DrawPlayer1Disc
endp ChangeColumn2Number2
proc ChangeColumn2Number3
inc [SecondColumnArray + 2]
mov [Player1Drawx], 45h
mov [Player1Drawy], 47h
jmp DrawPlayer1Disc
endp ChangeColumn2Number3
proc ChangeColumn2Number4
inc [SecondColumnArray + 3]
mov [Player1Drawx], 45h
mov [Player1Drawy], 27h
jmp DrawPlayer1Disc
endp ChangeColumn2Number4
proc CheckColumn3
cmp [ThirdColumnArray], 0
je ChangeColumn3Number1
cmp [ThirdColumnArray + 1], 0
je ChangeColumn3Number2
cmp [ThirdColumnArray + 2], 0
je ChangeColumn3Number3
cmp [ThirdColumnArray + 3], 0
je ChangeColumn3Number4
jmp CheckPlayer1Number
endp CheckColumn3
proc ChangeColumn3Number1
inc [ThirdColumnArray]
mov [Player1Drawx], 65h
mov [Player1Drawy], 85h
jmp DrawPlayer1Disc
endp ChangeColumn3Number1
proc ChangeColumn3Number2
inc [ThirdColumnArray + 1]
mov [Player1Drawx], 65h
mov [Player1Drawy], 67h
jmp DrawPlayer1Disc
endp ChangeColumn3Number2
proc ChangeColumn3Number3
inc [ThirdColumnArray + 2]
mov [Player1Drawx], 65h
mov [Player1Drawy], 47h
jmp DrawPlayer1Disc
endp ChangeColumn3Number3
proc ChangeColumn3Number4
inc [ThirdColumnArray + 3]
mov [Player1Drawx], 65h
mov [Player1Drawy], 27h
jmp DrawPlayer1Disc
endp ChangeColumn3Number4
proc CheckColumn4
cmp [FourthColumnArray], 0
je ChangeColumn4Number1
cmp [FourthColumnArray + 1], 0
je ChangeColumn4Number2
cmp [FourthColumnArray + 2], 0
je ChangeColumn4Number3
cmp [FourthColumnArray + 3], 0
je ChangeColumn4Number4
jmp CheckPlayer1Number
endp CheckColumn4
proc ChangeColumn4Number1
inc [FourthColumnArray]
mov [Player1Drawx], 85h
mov [Player1Drawy], 85h
jmp DrawPlayer1Disc
endp ChangeColumn4Number1
proc ChangeColumn4Number2
inc [FourthColumnArray + 1]
mov [Player1Drawx], 85h
mov [Player1Drawy], 67h
jmp DrawPlayer1Disc
endp ChangeColumn4Number2
proc ChangeColumn4Number3
inc [FourthColumnArray + 2]
mov [Player1Drawx], 85h
mov [Player1Drawy], 47h
jmp DrawPlayer1Disc
endp ChangeColumn4Number3
proc ChangeColumn4Number4
inc [FourthColumnArray + 3]
mov [Player1Drawx], 85h
mov [Player1Drawy], 27h
jmp DrawPlayer1Disc
endp ChangeColumn4Number4
DrawPlayer1Loop:
mov bh,0h
mov cx,[Player1Drawx]
mov dx,[Player1Drawy]
mov al,[player1disccolor]
mov ah,0ch
int 10h
add [Player1Drawx], 1h
cmp cx, [Player1Drawx + 14h]
jl DrawPlayer1Loop
DrawPlayer1Disc:
mov bh, 0h
mov dx, [Player1Drawy]
add [Player1Drawy], 1h
cmp dx, [Player1Drawy + 14h]
jl DrawPlayer1Loop
jg GoToCheckIfPlayer1Won
proc GoToCheckIfPlayer1Won
call CheckIfPlayer1Won
jmp CheckPlayer2Number
endp GoToCheckIfPlayer1Won
proc CheckPlayer2Number
mov ah, 7
int 21h
cmp al, 31h
je Player2CheckColumn1
cmp al, 32h
je Player2CheckColumn2
cmp al, 33h
je MoveToCheck2Column3
cmp al, 34h
je MoveToCheck2Column4
jmp CheckPlayer2Number
endp CheckPlayer2Number
proc Player2CheckColumn1
cmp [FirstColumnArray], 0
je Change2Column1Number1
cmp [FirstColumnArray + 1], 0
je Change2Column1Number2
cmp [FirstColumnArray + 2], 0
je Change2Column1Number3
cmp [FirstColumnArray + 3], 0
je Change2Column1Number4
jmp CheckPlayer2Number
endp Player2CheckColumn1
proc Change2Column1Number1
add [FirstColumnArray], 2
mov [Player2Drawx], 25h
mov [Player2Drawy], 85h
jmp DrawPlayer2Disc
endp Change2Column1Number1
proc Change2Column1Number2
add [FirstColumnArray + 1], 2
mov [Player2Drawx], 25h
mov [Player2Drawy], 67h
jmp DrawPlayer2Disc
endp Change2Column1Number2
proc Change2Column1Number3
add [FirstColumnArray + 2], 2
mov [Player2Drawx], 25h
mov [Player2Drawy], 47h
jmp DrawPlayer2Disc
endp Change2Column1Number3
proc Change2Column1Number4
add [FirstColumnArray + 3], 2
mov [Player2Drawx], 25h
mov [Player2Drawy], 27h
jmp DrawPlayer2Disc
endp Change2Column1Number4
proc MoveToCheck2Column3
jmp Player2CheckColumn3
endp MoveToCheck2Column3
proc MoveToCheck2Column4
jmp Player2CheckColumn4
endp MoveToCheck2Column4
proc Player2CheckColumn2
cmp [SecondColumnArray], 0
je Change2Column2Number1
cmp [SecondColumnArray + 1], 0
je Change2Column2Number2
cmp [SecondColumnArray + 2], 0
je Change2Column2Number3
cmp [SecondColumnArray + 3], 0
je Change2Column2Number4
jmp CheckPlayer2Number
endp Player2CheckColumn2
proc Change2Column2Number1
add [SecondColumnArray], 2
mov [Player2Drawx], 45h
mov [Player2Drawy], 85h
jmp DrawPlayer2Disc
endp Change2Column2Number1
proc Change2Column2Number2
add [SecondColumnArray + 1], 2
mov [Player2Drawx], 45h
mov [Player2Drawy], 67h
jmp DrawPlayer2Disc
endp Change2Column2Number2
proc Change2Column2Number3
add [SecondColumnArray + 2], 2
mov [Player2Drawx], 45h
mov [Player2Drawy], 47h
jmp DrawPlayer2Disc
endp Change2Column2Number3
proc Change2Column2Number4
add [SecondColumnArray + 3], 2
mov [Player2Drawx], 45h
mov [Player2Drawy], 47h
jmp DrawPlayer2Disc
endp Change2Column2Number4
proc Player2CheckColumn3
cmp [ThirdColumnArray], 0
je Change2Column3Number1
cmp [ThirdColumnArray + 1], 0
je Change2Column3Number2
cmp [ThirdColumnArray + 2], 0
je Change2Column3Number3
cmp [ThirdColumnArray + 3], 0
je Change2Column3Number4
jmp CheckPlayer2Number
endp Player2CheckColumn3
proc Change2Column3Number1
add [ThirdColumnArray], 2
mov [Player2Drawx], 65h
mov [Player2Drawy], 85h
jmp DrawPlayer2Disc
endp Change2Column3Number1
proc Change2Column3Number2
add [ThirdColumnArray], 2
mov [Player2Drawx], 65h
mov [Player2Drawy], 67h
jmp DrawPlayer2Disc
endp Change2Column3Number2
proc Change2Column3Number3
add [ThirdColumnArray], 2
mov [Player2Drawx], 65h
mov [Player2Drawy], 47h
jmp DrawPlayer2Disc
endp Change2Column3Number3
proc Change2Column3Number4
add [ThirdColumnArray], 2
mov [Player2Drawx], 65h
mov [Player2Drawy], 27h
jmp DrawPlayer2Disc
endp Change2Column3Number4
proc Player2CheckColumn4
cmp [FourthColumnArray], 0
je Change2Column4Number1
cmp [FourthColumnArray + 1], 0
je Change2Column4Number2
cmp [FourthColumnArray + 2], 0
je Change2Column4Number3
cmp [FourthColumnArray + 3], 0
je Change2Column4Number4
jmp CheckPlayer2Number
endp Player2CheckColumn4
proc Change2Column4Number1
add [FourthColumnArray], 2
mov [Player2Drawx], 85h
mov [Player2Drawy], 85h
jmp DrawPlayer2Disc
endp Change2Column4Number1
proc Change2Column4Number2
add [FourthColumnArray], 2
mov [Player2Drawx], 85h
mov [Player2Drawy], 67h
jmp DrawPlayer2Disc
endp Change2Column4Number2
proc Change2Column4Number3
add [FourthColumnArray], 2
mov [Player2Drawx], 85h
mov [Player2Drawy], 47h
jmp DrawPlayer2Disc
endp Change2Column4Number3
proc Change2Column4Number4
add [FourthColumnArray], 2
mov [Player2Drawx], 85h
mov [Player2Drawy], 27h
jmp DrawPlayer2Disc
endp Change2Column4Number4
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
proc GoToCheckIfPlayer2Won
call CheckIfPlayer2Won
jmp CheckPlayer1Number
endp GoToCheckIfPlayer2Won
next:
; Wait for key press
mov ah,00h
int 16h
; Return to text mode
mov ah, 0
mov al, 2
int 10h
exit:
mov ax, 4c00h
int 21h
END start
Я сделать игру «Connect Four» (это очень простая игра, если вы не знаете, о это будет читать 2 минуты игры). У меня есть две проблемы с моим кодом:
1 - Чертежная часть, которая должна нарисовать диски (квадрат). Вот как это выглядит, когда вы пытаетесь сделать так:
Проблема происходит в чертежной части (DrawPlayer1Loop и DrawPlayer1Disc, конечно, это также происходит в Player2).
2 - Игра должна переключаться между игроками, но по какой-то причине это не так. Когда проигрыватель 1 заканчивается, он должен перейти в GoToCheckIfPlayer1Won. После этого он вызывает CheckPlayer1Won и проверяет, выиграл ли он. Если нет, он перескакивает на CheckPlayer2Number, который в основном переключает поворот на второй игрок, но это не так.
Спасибо за помощь.
Серьезно KatomPower, Крик помощи? Вы можете проголосовать за большинство голосов на этом сайте, добавить «Пожалуйста, ответьте как можно скорее», и только это сделает его вне темы. Изучите важный урок, когда вы будете работать: когда вы не можете завершить проект, сосредоточьтесь на том, чтобы не сделать его полным сбоем. Возьмите лучший из вас код, изолируйте недостающие функции, объясните выбор дизайна и трудности, с которыми вы столкнулись, запишите его. Из жалости: 'cmp cx, [Player2Drawx + 14h]' неверно, вам понадобится '[PlayerDrawx] + 14h', но это должно быть разделено. Отлаживать! Отлаживать! Отлаживать! Не тратьте свое время и свое время. –
@MargaretBloom Спасибо за ответ и очень жаль, что я делаю такое впечатление. Прежде всего, я новичок в этом сайте, поэтому я просто написал все, что приходит мне на ум. Во-вторых, я изменил свой код, и он сказал «Недопустимая ссылка на память». И, наконец, есть ли у вас какие-то идеи, почему это не изменит очереди? – KatomPower