El pasado mas presente que nuncaSlogan Icon

 

Ejemplo de un juego simple en ACTION!

Esto fue un juego simple realizado por MICHAEL MITCHELL para la Revista ANTIC , aqui lo muestro de ejemplo con algunos textos traducidos.

Codigo

; DARKSTAR
; Ejemplo sacado de la revista ANTIC
; BY MICHAEL MITCHELL
; Curso de ACTION! por AsCrNet

BYTE WSYNC=54282,VCOUNT=54283,
CLR=53274,CTR,CLR1=53270,
CHGCLR=[0],INCCLR1,S,INCCLR,
CLR2=53271,A,B
CARD ML,SC,SP,Q,I

PROC WAIT(CARD N); Proc. Pausa
  FOR I=0 TO N+N
  DO OD
RETURN

PROC TITLE() ; Proc. titulos
  SC=0 ML=0
  GRAPHICS(2+16)
  POSITION(5,2)
  PRINTDE(6,"dArKsTaR")
  POSITION(5,4)
  PRINTDE(6,"Ejemplo")
  POSITION(1,6)
  PRINTDE(6," Gamer en action!")
  POSITION(0,09)
  PRINTDE(6," pUlSe BoToN")
  DO
  FOR CTR=1 TO 10
  DO
  INCCLR=CHGCLR INCCLR1=CHGCLR
  DO
  S=STRIG(0)
  IF S=0 THEN RETURN FI
  WSYNC=0
  CLR=INCCLR CLR1=INCCLR1
  CLR2=INCCLR+10
  INCCLR==+1 INCCLR1==-1
  UNTIL VCOUNT&128
  OD
  OD
  CHGCLR==+1
  OD

PROC BOX() ; Proc. enemigos
  A=RAND(150)+3 B=RAND(74)+3 COLOR=1
  PLOT(A,B)
  DRAWTO(A+2,B) DRAWTO(A+2,B+2)
  DRAWTO(A,B+2) DRAWTO(A,B)
RETURN

PROC MAIN() ; Proc. central
  INT XX=[1],YY=[0],SS,X,Y,Q
  BYTE Z,E,E1,A1,B1,D,C=[0]
  BYTE A,B
  X=50 Y=50
  GRAPHICS(7) COLOR=2 ; Dibuja bordes
  SNDRST()
  PLOT(1,1)
  DRAWTO(158,1) DRAWTO(158,79)
  DRAWTO(1,79) DRAWTO(1,1)
  BOX()
      ; Ciclo de colision
  DO
  Z=LOCATE(X,Y)
  IF Z=1 THEN ; Haz golpeado al enemigo
  FOR E=1 TO 20
  DO WAIT(50) SOUND(0,E,08,10)
  SETCOLOR(2,E,10)
  OD
  SNDRST() BOX()
  SC==+10 SETCOLOR(2,0,0)
  FI
  IF Z=2 THEN ; Te han golpeado
  FOR D=1 TO 35
  DO COLOR=C
  SOUND(0,D,8,10) C==+1
  SETCOLOR(2,D,C) SETCOLOR(0,C,D)
  SETCOLOR(1,A1,B1)
  IF C=4 THEN C=1 FI
  A1=RAND(153) B1=RAND(78) PLOT(X,Y)
  DRAWTO(A1,B1)
  OD
  ML==+1 SNDRST()
  IF ML>2 THEN ; Si tiene vidas
  ML=0 GRAPHICS(2+16)
  POSITION(4,4)
  PRINTD(6,"GAME OVER")
  POSITION(4,5)
  PRINTD(6,"PUNTAJE: ") PRINTBDE(6,SC)
  FOR X=0 TO 242 STEP 2
  DO
  WAIT(500) SOUND(0,X+1,10,10)
  SOUND(1,X+2,10,10)
  SOUND(2,X+3,10,10)
  SOUND(3,X+4,10,10)
  SETCOLOR(0,X,10)
  OD
  WAIT(32000) ; Tiempo de pausa
  SC=0 TITLE()
  FI
  MAIN()
  FI 
  Q==+1 SETCOLOR(1,Q,14)
  COLOR=2 PLOT(X,Y)
  SS=STICK(0) ; Leyendo JOYSTICK
  IF SS=14 THEN XX=0 YY=-1
  ELSEIF SS=13 THEN XX=0 YY=1
  ELSEIF SS=11 THEN XX=-1 YY=0
  ELSEIF SS=7 THEN XX=1 YY=0
  FI
  WAIT(350) ; Cambia este valor si
  ; lo quiere mas rapido o lento
  X==+XX Y==+YY
  POKE(53279,5)
  OD
RETURN

PROC START() ; Proc. de inicio
  TITLE()
  MAIN()

 

Descarga games
 

 

 

 


Comentarios
Cargando...


Por favor, espere...

Para comentar debes tener una cuenta en el foro.
Haz click aquí para iniciar sesión.