Бывает :)
Вид для печати
Бывает :)
Посмотрел на оригинал игры, на аркадном автомате.
Там из вращающихся объектов - только сам кораблик, всё остальное хоть и векторное, но рисуется без поворотов.
Получается, что все объекты можно один раз отрендерить под фиксированное разрешение и хранить как статичные спрайты.
Только с корабликом уже возиться - либо на лету рендерить либо держать N спрайтов для одного сектора в 90 градусов и отражать по вертикали и горизонтали.
Может так скорости хватит?
Если векторами рисовать, то все равно вращаются они или нет, по любому каждый раз на матрицу переноса-поворота умножаем.
Хочу попробовать рисовать средствами граф. режима терминала, вроде быстрее рисует. (разом выводить просчитанный кадр.. массивом кодов)..хотя.. хз.
Если рантайм отрендерить в память кораблик через градус, а камни статичные сделать .. можно попробовать на крайняк.
- - - Добавлено - - -
Кому интересно:
Преобразование чисел в коды терминала (для граф. режима)
Код:;---------------------------------------------------------------------
; П/п преобразование целого числа в три символа
;вход: R1 - число , R3- буфер для 3х смволов.
;---------------------------------------------------------------------
ACE1:
MOV R0,-(SP)
MOV R3,-(SP)
MOV R4,-(SP)
TST R1
BGE 1$
NEG R1
1$: MOV R1,R0
ASH #-12,R0
BIC #177700,R0
BIS #100,R0
MOVB R0,(R3)+
MOV R1,R0
ASH #-4,R0
BIC #177700,R0
BIS #100,R0
MOVB R0,(R3)+
MOV R1,R0
BIC #177760,R0
BIS #40,R0
MOVB R0,(R3)+
MOV (SP)+,R4
MOV (SP)+,R3
MOV (SP)+,R0
RETURN
Код:;---------------------------------------------------------------------
; П/п преобразования двух целых чисел в пять символов
;вход: R1 - X, R2-Y , R3- буфер для 5ти смволов.
;---------------------------------------------------------------------
ACE2:
MOV R0,-(SP)
MOV R3,-(SP)
MOV R4,-(SP)
MOV R2,R0
ASH #-7,R0
BIC #177740,R0
BIS #40,R0
MOVB R0,(R3)+
MOV R1,R4
BIC #177774,R4
MOV R2,R0
BIC #177774,R0
ASL R0
ASL R0
BIS R0,R4
BIS #140,R4
MOV R4,R0
MOVB R0,(R3)+
MOV R2,R0
ASR R0
ASR R0
BIC #177740,R0
BIS #140,R0
MOVB R0,(R3)+
MOV R1,R0
ASH #-7,R0
BIC #177740,R0
BIS #40,R0
MOVB R0,(R3)+
MOV R1,R0
ASR R0
ASR R0
BIC #177740,R0
BIS #100,R0
MOVB R0,(R3)+
MOV (SP)+,R4
MOV (SP)+,R3
MOV (SP)+,R0
RETURN