by aguiloco » Sun Oct 07, 2007 6:38 pm
by aguiloco
Sun Oct 07, 2007 6:38 pm
I made this code, it works and I can make a movement and return to the previous state, but surely isnt a good code, I cant understand the REMOCON comands well...
GOTO AUTO
FILL 255,10000
DIM RR AS BYTE
DIM A AS BYTE
CONST ID = 0 ' 1:0, 2:32, 3:64, 4:96,
'== Action command check (50 - 82)
IF RR > 50 AND RR <83> 50 THEN RETURN
RR = 0
GOTO MAIN
main_exit2:
IF RR > 50 THEN RETURN
RR = 0
GOTO pistola_quieta
'===============================================
k1:
GOSUB cojer_arma
GOSUB pistola_quieta
GOTO main_exit
k2:
GOSUB giro_izquierda
k3:
GOSUB giro_derecha
k4:
GOSUB standard_pose
GOTO MAIN
k5:
GOSUB giro_izquierda2
k6:
GOSUB giro_derecha2
k7:
GOSUB recarga_arma
standard_pose:
MOVE G6A,100, 76, 145, 93, 100, 100
MOVE G6D,100, 76, 145, 93, 100, 100
MOVE G6B,100, 30, 80, 100, 100, 100
MOVE G6C,100, 30, 80, 100, 100, 100
WAIT
RETURN
'===============================================
cojer_arma:
SPEED 8
MOVE G6B,146, 16, 44, 25, 104, 100
MOVE G6B,146, 16, 10, 25, 104, 100
MOVE G6B,146, 16, 44, 25, 104, 100
MOVE G6B,146, 16, 10, 25, 104, 100
MOVE G6B,146, 16, 44, 25, 104, 100
WAIT
DELAY 1000
MOVE G6B,100, 30, 80, 100, 100, 100
MOVE G6C,190, 30, 80, 186, 100, 100
MOVE G6A,100, 76, 145, 85, 100, 100
MOVE G6D,100, 76, 145, 85, 100, 100
DELAY 3000
MOVE G6C,190, 30, 80, 40, 100, 100
DELAY 3000
SPEED 3
GOSUB pistola_quieta
'===============================================
pistola_quieta:
MOVE G6C,190, 30, 80, 40, 100, 100
IF RR = 0 THEN GOTO MAIN2
ON RR GOTO pistola_quieta,K1,K2,K3,K4,K5,K6,K7
GOTO main_exit2
'===============================================
MAIN2:
A = REMOCON(1)
A = A - ID
ON A GOTO pistola_quieta,K1,K2,K3,K4,K5,K6,K7
GOTO pistola_quieta
'===============================================
giro_izquierda:
MOVE G6C,190, 10, 80, 40, 100, 100
WAIT
A = REMOCON (1)
A = A - ID
ON A GOTO giro_izquierda,K1,K2,K3,K4,K5,K6,K7
GOTO giro_izquierda
'===============================================
giro_derecha:
MOVE G6C,190, 60, 80, 40, 100, 100
A = REMOCON (1)
A = A - ID
ON A GOTO giro_derecha,K1,K2,K3,K4,K5,K6,K7
GOTO giro_derecha
'===============================================
giro_izquierda2:
MOVE G6C,190, 10, 55, 40, 100, 100
DELAY 2000
GOSUB giro_izquierda
'===============================================
giro_derecha2:
MOVE G6C,190, 80, 80, 40, 100, 100
DELAY 2000
GOSUB giro_derecha
'================================================
recarga_arma:
SPEED 3
MOVE G6B,174, 44, 10, 106, 100, 100
MOVE G6C,165, 19, 43, 47, 100, 100
WAIT
MOVE G6B,178, 30, 10, 106, 100, 100
MOVE G6C,165, 18, 40, 47, 100, 100
WAIT
MOVE G6B,178, 18, 10, 106, 100, 100
MOVE G6C,165, 14, 39, 47, 100, 100
WAIT
MOVE G6B,178, 10, 10, 106, 100, 100
MOVE G6C,160, 10, 43, 47, 100, 100
WAIT
MOVE G6B,178, 18, 10, 106, 100, 100
MOVE G6C,165, 14, 41, 47, 100, 100
MOVE G6B,178, 30, 10, 106, 100, 100
MOVE G6C,165, 18, 41, 47, 100, 100
MOVE G6B,174, 44, 10, 106, 100, 100
MOVE G6C,165, 19, 43, 47, 100, 100
WAIT
MOVE G6B,100, 30, 80, 100, 100, 100
GOSUB pistola_quieta
I made this code, it works and I can make a movement and return to the previous state, but surely isnt a good code, I cant understand the REMOCON comands well...
GOTO AUTO
FILL 255,10000
DIM RR AS BYTE
DIM A AS BYTE
CONST ID = 0 ' 1:0, 2:32, 3:64, 4:96,
'== Action command check (50 - 82)
IF RR > 50 AND RR <83> 50 THEN RETURN
RR = 0
GOTO MAIN
main_exit2:
IF RR > 50 THEN RETURN
RR = 0
GOTO pistola_quieta
'===============================================
k1:
GOSUB cojer_arma
GOSUB pistola_quieta
GOTO main_exit
k2:
GOSUB giro_izquierda
k3:
GOSUB giro_derecha
k4:
GOSUB standard_pose
GOTO MAIN
k5:
GOSUB giro_izquierda2
k6:
GOSUB giro_derecha2
k7:
GOSUB recarga_arma
standard_pose:
MOVE G6A,100, 76, 145, 93, 100, 100
MOVE G6D,100, 76, 145, 93, 100, 100
MOVE G6B,100, 30, 80, 100, 100, 100
MOVE G6C,100, 30, 80, 100, 100, 100
WAIT
RETURN
'===============================================
cojer_arma:
SPEED 8
MOVE G6B,146, 16, 44, 25, 104, 100
MOVE G6B,146, 16, 10, 25, 104, 100
MOVE G6B,146, 16, 44, 25, 104, 100
MOVE G6B,146, 16, 10, 25, 104, 100
MOVE G6B,146, 16, 44, 25, 104, 100
WAIT
DELAY 1000
MOVE G6B,100, 30, 80, 100, 100, 100
MOVE G6C,190, 30, 80, 186, 100, 100
MOVE G6A,100, 76, 145, 85, 100, 100
MOVE G6D,100, 76, 145, 85, 100, 100
DELAY 3000
MOVE G6C,190, 30, 80, 40, 100, 100
DELAY 3000
SPEED 3
GOSUB pistola_quieta
'===============================================
pistola_quieta:
MOVE G6C,190, 30, 80, 40, 100, 100
IF RR = 0 THEN GOTO MAIN2
ON RR GOTO pistola_quieta,K1,K2,K3,K4,K5,K6,K7
GOTO main_exit2
'===============================================
MAIN2:
A = REMOCON(1)
A = A - ID
ON A GOTO pistola_quieta,K1,K2,K3,K4,K5,K6,K7
GOTO pistola_quieta
'===============================================
giro_izquierda:
MOVE G6C,190, 10, 80, 40, 100, 100
WAIT
A = REMOCON (1)
A = A - ID
ON A GOTO giro_izquierda,K1,K2,K3,K4,K5,K6,K7
GOTO giro_izquierda
'===============================================
giro_derecha:
MOVE G6C,190, 60, 80, 40, 100, 100
A = REMOCON (1)
A = A - ID
ON A GOTO giro_derecha,K1,K2,K3,K4,K5,K6,K7
GOTO giro_derecha
'===============================================
giro_izquierda2:
MOVE G6C,190, 10, 55, 40, 100, 100
DELAY 2000
GOSUB giro_izquierda
'===============================================
giro_derecha2:
MOVE G6C,190, 80, 80, 40, 100, 100
DELAY 2000
GOSUB giro_derecha
'================================================
recarga_arma:
SPEED 3
MOVE G6B,174, 44, 10, 106, 100, 100
MOVE G6C,165, 19, 43, 47, 100, 100
WAIT
MOVE G6B,178, 30, 10, 106, 100, 100
MOVE G6C,165, 18, 40, 47, 100, 100
WAIT
MOVE G6B,178, 18, 10, 106, 100, 100
MOVE G6C,165, 14, 39, 47, 100, 100
WAIT
MOVE G6B,178, 10, 10, 106, 100, 100
MOVE G6C,160, 10, 43, 47, 100, 100
WAIT
MOVE G6B,178, 18, 10, 106, 100, 100
MOVE G6C,165, 14, 41, 47, 100, 100
MOVE G6B,178, 30, 10, 106, 100, 100
MOVE G6C,165, 18, 41, 47, 100, 100
MOVE G6B,174, 44, 10, 106, 100, 100
MOVE G6C,165, 19, 43, 47, 100, 100
WAIT
MOVE G6B,100, 30, 80, 100, 100, 100
GOSUB pistola_quieta