1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| MainScreen = _NEWIMAGE(1024, 768, 32)
SCREEN MainScreen
DIM SHARED Decor(1000, 1000) AS INTEGER
vent = 50
Obus = 50
DO
_LIMIT 60
CLS
PRINT "Obus : " + STR$(Obus)
PRINT "Score : " + STR$(score)
FOR i = 1 TO force
LINE (i, 610)-(i, 625), _RGB(255, 255 - i * 2, 0)
NEXT
FOR i = 600 TO 800 STEP 8
a = a + 1
IF a < 20 THEN Decor(600 + 8 * a * 2, 400) = 1
FOR j = 400 TO 590 STEP 8
IF ABS(i + 4 - X) <= 12 AND ABS(j - Y) <= 12 AND Decor(i, j) = 0 THEN Decor(i, j) = 1: bim = 1: score = score + 10: s = s + 10
IF Decor(i, j) = 0 THEN _PRINTSTRING (i, j), CHR$(176)
NEXT
NEXT
IF s > 100 THEN Obus = Obus + 5: s = 0
IF tir = 0 THEN
IF _KEYDOWN(32) AND tir = 0 THEN force = force + 2
IF force > 1 AND _KEYDOWN(32) = -0 THEN tir = 1
IF _KEYDOWN(18432) AND an < 90 THEN an = an + 1
IF _KEYDOWN(20480) AND an > 0 THEN an = an - 1
IF force > 250 THEN force = 250
END IF
CIRCLE (53, 585), 15
LINE (66, 574)-((66) + 10 * COS(an * ((3.1416) / 180)), (574) - 10 * SIN(an * ((3.1416) / 180))), _RGB(255, 0, 0)
IF tir = 1 THEN
t = t + 0.04
X = (66) + ((COS(an * ((3.1416) / 180)) * force) * t) + (.5 * (vent / 5) * t ^ 2)
Y = (568) + ((-1 * ((SIN(an * ((3.1416) / 180)) * force) * t)) + (.5 * 9.8 * t ^ 2)) * (600 / 150)
_PRINTSTRING (X, Y), "."
IF Y >= 595 OR bim = 1 OR X > 1100 THEN
CIRCLE (X, Y), 22
force = 0
Obus = Obus - 1
t = 0
tir = 0
RANDOMIZE TIMER
vent = INT((RND * 100) + 1)
IF INT((RND * 4)) > 2 THEN vent = -vent
END IF
END IF
LINE (1, 600)-(1024, 600)
bim = 0
LINE (800, 400)-(800, 300), _RGB(255, 255, 0)
LINE (800, 325)-(800 + vent, 350), _RGB(255, 0, 0)
LINE (800, 375)-(800 + vent, 350), _RGB(255, 0, 0)
_DISPLAY
LOOP UNTIL (_KEYDOWN(27)) |
Partager