HP Prime для всех

English  Русский 
Angry Birds games-app screenshot}}
Название Angry Birds
Описание Inspired by the Angry Birds game for other mobile platforms.
Автор Mickaël Nicotera

Исходный код (скачать):

Исходный код отформатирован программными средствами сайта

EXPORT ANGRY_BIRDS() BEGIN //By Mickaël Nicotera local touch; LOCAL X, Y, A, B, C, S, T, E; LOCAL W, G, H, J; LOCAL L1, L2; S := 0; E := 10; L1 := {1, 1, 1}; L2 := {#78FF37h, #303030h}; W := 1; G := RANDOM(60, 170); H := RANDOM(60, 170); J := RANDOM(60, 170); WHILE E > 0 DO IF irem(S, 30) == 0 AND S > 29 AND E <> 10-W THEN W := W+1; E := 10-W; L1 := {1, 1, 1}; G := RANDOM(60, 170); H := RANDOM(60, 170); J := RANDOM(60, 170); END; X := 0; Y := 190; DIMGROB_P(G1, 320, 220); RECT_P(G1, RGB(73, 194, 255)); RECT_P(G1, 20, 200, 60, 240, RGB(127, 70, 0), RGB(127, 70, 0)); FOR I FROM 1 TO 6 DO ARC_P(G1, 40, 193, 7-I, 0, 360, RGB(244, 30, 30)); END; FOR I FROM 0 TO 2 DO LINE_P(G1, 43, 189+I, 51, 189+I, RGB(255, 161, 1)); END; RECT_P(G1, 200, G, 240, 240, RGB(127, 70, 0), RGB(127, 70, 0)); FOR I FROM 1 TO 6 DO ARC_P(G1, 220, G-6, 7-I, 0, 360, L2(L1(1))); END; RECT_P(G1, 240, H, 280, 240, RGB(127, 70, 0), RGB(127, 70, 0)); FOR I FROM 1 TO 6 DO ARC_P(G1, 260, H-6, 7-I, 0, 360, L2(L1(2))); END; RECT_P(G1, 280, J, 320, 240, RGB(127, 70, 0), RGB(127, 70, 0)); FOR I FROM 1 TO 6 DO ARC_P(G1, 300, J-6, 7-I, 0, 360, L2(L1(3))); END; TEXTOUT_P("Tries = "+E, G1, 200, 7, 1, RGB(255, 244, 43)); TEXTOUT_P("Score = "+S, G1, 250, 7, 1, RGB(255, 244, 43)); TEXTOUT_P("ANGRY BIRDS", G1, 80, 7, 3, RGB(255, 255, 255)); TEXTOUT_P("Power ", G1, 25, 22, 1, RGB(255, 0, 0)); TEXTOUT_P("By Mic ", G1, 138, 22, 1, RGB(255, 255, 255)); TEXTOUT_P("Level "+W, G1, 118, 198, 1, RGB(255, 255, 255)); WHILE ISKEYDOWN(30) <> 1 do blit_p(G0, G1, 0, 0); touch := mouse(); LINE_P(52, 190, 72, Y-20); RECT_P(20, 10, 20+iquo(X, 6), 20, RGB(255, 0, 0), RGB(255, 0, 0)); WAIT(0.1); if size(touch(1)) then IF touch(1, 5) == 2 THEN X := B→R(touch(1, 1)); Y := B→R(touch(1, 2)); LINE_P(52, 190, 72, Y-20); RECT_P(20, 10, 20+iquo(X, 6), 20, RGB(255, 0, 0), RGB(255, 0, 0)); end; end; END; A := 0.008 - (230-Y) / 70000; B := 2.71 + (40-Y) / 500 + (X-50) / 500; C := 305-X/10; T := 0; E := E-1; TEXTOUT_P("Score = "+S, G1, 250, 7, 1, RGB(255, 244, 43)); IF (G-19 < A*220^2-B*220+C < G+6) AND L1(1) <> 2 THEN S := S+10; L1(1) := 2; END; IF (H-19 < A*260^2-B*260+C < H+6) AND L1(2) <> 2 THEN S := S+10; L1(2) := 2; END; IF (J-19 < A*300^2-B*300+C < J+6) AND L1(3) <> 2 THEN S := S+10; L1(3) := 2; END; M := 51; N := 189; FOR I FROM 1 TO 30 DO TEXTOUT_P("o", M, N, 1, RGB(255, 41, 38)); M := M+10; N := A*M^2-B*M+C; WAIT(0.2); END; END; MSGBOX("Score = "+S); END;

Комментарии