Karoshi MSX Community

Desarrollo MSX => Rutinas - Snipets => Mensaje iniciado por: jltursan en 12 de Marzo de 2006, 09:09:55 pm



Título: Linear trajectory
Publicado por: jltursan en 12 de Marzo de 2006, 09:09:55 pm
[Original snippet by Wyz]

It can be very usefull to shoot'em up programers. This is my proposal:

Considering only starting and final points (shooter and objetive)

Código:
; DIRECTION OF A LINEAR TRAJECTORY
; MODULE APROX. TO 1

; POSICION INICIAL: XI,YI
; POSICION FINAL: XF,YF
; INCREMENTOS; INCX,INCY

LD HL,[XI]
EX DE,HL
LD HL,[XF] ;D=YI,E=XI,H=YF,L=XF

LD A,H ;SIGNO Y
SBC D
LD A,0
RLA
LD [SIGN_INCY],A

LD A,L ;SIGNO X
SBC E
LD A,0
RLA
LD [SIGN_INCX],A

SBC HL,DE ;MODULE~1
MODBC0: BIT 7,H ;IF START=FINAL => HANGS
JR NZ,FIN
BIT 7,L
JR NZ,FIN
RLC H
RLC L
JR MODBC0

FIN: LD [INCX],HL
RET

XI: DB 10 ;START POSITION (EXAMPLE)
YI: DB 10
XF: DB 80 ;FINAL POSITION
YF: DB 80

INCX: DB 0 ;INC COORD X
INCY: DB 0 ;INC COORD Y
SIGN_INCX: DB 0 ;SIGNO INCX
SIGN_INCY: DB 0 ;SIGNO INCY

;___________________________________________________

;THEN TO MOVE A BULLET(X,Y) DEFINE

;X AS WORD - HIGH BYTE TO SPRITE COORD X,Y
;Y AS WORD -

;INCX AS BYTE
;INCY AS BYTE

;AND CONSIDER THE SIGN


LD HL,[X]
LD A,[INCX]
LD D,0
LD E,A
LD A,[SIGN_INCX]
AND A
JR NZ,THEN_SUBSTRACT
ADD HL,DE
JR NEXT
THEN_SUBSTRACT: SBC HL,DE
NEXT: LD [X],HL
....


Título: Re: Linear trajectory
Publicado por: WYZ en 16 de Marzo de 2006, 12:44:33 am
As soon as possible I will try to use this snippet. '06 is comming fast! I guess dev'06 will recive more than 50 roms.


Título: Re: Linear trajectory
Publicado por: KNM en 17 de Marzo de 2006, 11:05:19 am
That´s the spirit,WYZ.It´s a pleasure see you with energy for making new things :D.Don´t give up!!!

KNM
Dev´06 NOW!


Título: Re: Linear trajectory
Publicado por: Dioniso en 17 de Marzo de 2006, 02:40:33 pm
That´s the spirit,WYZ.It´s a pleasure see you with energy for making new things :D.Don´t give up!!!

Don't give up, for the glory of Perry Mason!!!


Título: Re: Linear trajectory
Publicado por: KNM en 17 de Marzo de 2006, 07:04:25 pm
Do you realize?Sinner of the meadowls!Coward! ;D ;D ;D ;D ;D ;D ;D ;D

KNM
English Chiquiteitor! :voguel: :voguel:


Título: Re: Linear trajectory
Publicado por: SapphiRe en 17 de Marzo de 2006, 07:30:48 pm
I can't, I can't! I didn't say you wheat to not call you Rodrigo!

Chiquititaaaun, taaun taaaaun...


Título: Re: Linear trajectory
Publicado por: KNM en 17 de Marzo de 2006, 07:32:24 pm
¡Me rindo!¡Esa me ha dado en todo el hígado! JUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR  :D :D :D :D :D :D

KNM
Chiquito Forever


Título: Re: Linear trajectory
Publicado por: SapphiRe en 17 de Marzo de 2006, 07:37:13 pm
I´m going to make you the little fall of Rome!!!


Título: Re: Linear trajectory
Publicado por: KNM en 17 de Marzo de 2006, 07:41:37 pm
WhatR?I´m going to erase your sexual zero,you sinner fistro!

KNM
Straigth Man...No confuse!


Título: Re: Linear trajectory
Publicado por: SapphiRe en 17 de Marzo de 2006, 07:42:45 pm
It's one go and say: "mom'r mom'r (pant-pant) I'm very hairy... hiiiiii!!!!!"
And the mom says: "hiiiiii!!!! the dog's speaking!"


Título: Re: Linear trajectory
Publicado por: jltursan en 17 de Marzo de 2006, 08:46:49 pm
Pues ya que estamos, aquí teneis una beta de mi generador automático de chiquitistaní limitado :

Para peaso fistro, pinchar aqui (http://www.telefonica.net/web2/msxpage/fistro.rom)


Título: Re: Linear trajectory
Publicado por: KNM en 18 de Marzo de 2006, 11:06:57 am
¡ESTO ES LA HOSTIA!Chiquiteitor surrealista al 200%..."Tienes mas peligror que Carmen Sevilla desenroscando bombillas"  ;D ;D ;D ;D ;D ;D ;D ;D.Jose Luis,MAGISTRAL,como siempre  ;)

KNM
Descojonandose... :D :D :D :D


Título: Re: Linear trajectory
Publicado por: WYZ en 18 de Marzo de 2006, 12:46:41 pm
 :o

You are more dangerous than Geppetto's Black&decker.


Título: Re: Linear trajectory
Publicado por: Darth_Fistro en 18 de Marzo de 2006, 05:27:19 pm
This is a piece of a program, for the glory of my mother!  :D


Título: Re: Linear trajectory
Publicado por: SapphiRe en 18 de Marzo de 2006, 06:14:57 pm
¡Tienes más peligro que Raphael resolviendo una integral!

QUEEE MEEEEEE MEEEEEOOOOOOOOOOO!!!!!!!!!!!!

JUUUUUUUUUUUUUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASSSSSSSSSSSSSSSSS!!!!
 ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D


Título: Re: Linear trajectory
Publicado por: jltursan en 18 de Marzo de 2006, 08:24:20 pm
- !Tienes mas peligror que Eduarrrdo Manostijeras con un abono transportes!

 ;D ;D

Una pena que la aleatoriedad y los intervalos exactos no se lleven muy bien... :P

Este snippet se nos ha ido de las manos, ¡por la gloria de mi mareeee!


Título: Re: Linear trajectory
Publicado por: samsaga2 en 12 de Julio de 2012, 09:25:06 am
Estoy probando este código para implementar balas y estoy viendo que sólo funciona cuando la trayectoria de la bala es hacia la derecha y abajo. Si intentas disparar de derecha a izquierda (por ejemplo) no funciona bien. El problema viene cuando calcula la diferencia de la posición incial y la final (sbc hl,de) que no tiene en cuenta el signo. Mi solución ha sido reemplazar esa resta por:

Código:
    ld a,h
    sub d
    jp nc,.noy
    neg
.noy
    ld h,a

    ld a,l
    sub e
    jp nc,.nox
    neg
.nox
    ld l,a

Ahora la bala apunta bien independientemente de la dirección a disparar.

Mi siguiente problema es que la velocidad de la bala varia bastante. A veces el disparo es muy lento.

Por lo demás agradecería una ayudita para entender para que sirve el cálculo del modulo~1.