' ' UFO task ' @UFO_INI UFO_SX = 0.1 UFO_F = 0 UFO_CNT = 60 RETURN ' @UFO_TASK ON UFO_F GOTO @UFO_WAIT,@UFO_MVR,@UFO_MVL STOP ' @UFO_WAIT UFO_CNT = UFO_CNT - 1 IF UFO_CNT > 0 THEN RETURN IF RND(2) GOTO @UFO_LSET GOTO @UFO_RSET ' move right @UFO_MVR LOCATE UFO_X,UFO_Y PRINT "A" UFO_X = UFO_X + UFO_SX IF UFO_X > 32 GOTO @UFO_DETH HITX = UFO_X HITY = UFO_Y GOSUB @WPN_HITC IF HITF GOTO @UFO_DETH RETURN ' @UFO_LSET UFO_X = 31 UFO_Y = RND(10) UFO_F = 2 RETURN ' move left @UFO_MVL LOCATE UFO_X,UFO_Y PRINT "A" UFO_X = UFO_X - UFO_SX IF UFO_X < 0 GOTO @UFO_DETH HITX = UFO_X HITY = UFO_Y GOSUB @WPN_HITC IF HITF GOTO @UFO_DETH RETURN ' @UFO_RSET UFO_X = 0 UFO_Y = RND(10) UFO_F = 1 RETURN ' @UFO_DETH UFO_F = 0 UFO_CNT = RND(60) RETURN |