Сообщение от
krt17
Мог немного ошибиться, проверял на нескольких рандомных значения, полную обвязку поленился ( уже не интересно)
Набросал тестовую прогу (во вложении).
Левым и правым синклер-джойстиком можно погонять точки по экрану.
0 - точка стремится к цели
Пробел - очистить экран от следов (без потери координат).
Вроде как стремится бежать куда надо, но как-то криво.
Или это я лажанулся?
Исходник тоже в архиве, но если лень смотреть то кусок кода который вычисляет приращение:
Код:
STEP EQU 4
LD BC,(COOR1),DE,(COOR2):CALL VECTOR
LD H,STEP:CALL MULS ; dY
PUSH HL
LD H,STEP,E,C:CALL MULS ; dX
LD BC,(COOR1)
LD A,B:ADD A,H:LD B,A
POP HL
LD A,C:ADD A,H:LD C,A
LD (COOR1),BC
.....
MULS ; HL=H*E (+-)
LD L,0,D,L,A,H:XOR E:EXA
LD A,H:NEG:JP M,$+4:LD H,A
LD A,E:NEG:JP M,$+4:LD E,A
DUP 8:ADD HL,HL:JR NC,$+3:ADD HL,DE:EDUP
EXA:RET P:EX DE,HL:LD L,H
SBC HL,DE:RET