That seems to work ok, I've noticed a tendency that you have that will slow things down though..
for i = 1 to 10
rem Soldier
setrgb 1, 300, 200, 100
fill rect -1 + (soldier_x(i) / 20), 203 + (soldier_y(i) / 20), 1 + (soldier_x(i) / 20), 205 + (soldier_y(i) / 20)
clear rect -1 + (soldier_x(i) / 20), 203 + (soldier_y(i) / 20), 1 + (soldier_x(i) / 20), 205 + (soldier_y(i) / 20)
rem Tank
setrgb 1, 100, 300, 200
fill rect -1 + (tank_x(i) / 20), 203 + (tank_y(i) / 20), 1 + (tank_x(i) / 20), 205 + (tank_y(i) / 20)
clear rect -1 + (tank_x(i) / 20), 203 + (tank_y(i) / 20), 1 + (tank_x(i) / 20), 205 + (tank_y(i) / 20)
rem Jet
setrgb 1, 200, 100, 300
fill rect -1 + (jet_x(i) / 20), 203 + (jet_y(i) / 20), 1 + (jet_x(i) / 20), 205 + (jet_y(i) / 20)
clear rect -1 + (jet_x(i) / 20), 203 + (jet_y(i) / 20), 1 + (jet_x(i) / 20), 205 + (jet_y(i) / 20)
next i
You could do;
setrgb 1, 300, 200, 100
for i = 1 to 10
rem Soldier
fill rect -1 + (soldier_x(i) / 20), 203 + (soldier_y(i) / 20), 1 + (soldier_x(i) / 20), 205 + (soldier_y(i) / 20)
clear rect -1 + (soldier_x(i) / 20), 203 + (soldier_y(i) / 20), 1 + (soldier_x(i) / 20), 205 + (soldier_y(i) / 20)
next i
setrgb 1, 100, 300, 200
for i = 1 to 10
rem Tank
fill rect -1 + (tank_x(i) / 20), 203 + (tank_y(i) / 20), 1 + (tank_x(i) / 20), 205 + (tank_y(i) / 20)
clear rect -1 + (tank_x(i) / 20), 203 + (tank_y(i) / 20), 1 + (tank_x(i) / 20), 205 + (tank_y(i) / 20)
next i
setrgb 1, 200, 100, 300
for i = 1 to 10
rem Jet
fill rect -1 + (jet_x(i) / 20), 203 + (jet_y(i) / 20), 1 + (jet_x(i) / 20), 205 + (jet_y(i) / 20)
clear rect -1 + (jet_x(i) / 20), 203 + (jet_y(i) / 20), 1 + (jet_x(i) / 20), 205 + (jet_y(i) / 20)
next i
Might not amount to much, but an optimisation nevertheless and wouldl prove important in Yabasic, especially if you plan to run it on the console.