HP Prime for All
English
Русский
Name | Memory |
Description | A little memory game, where the numbers 1 to 9 appear on the screen and are hidden by rectangles. |
Author | Unknown |
Source code formatted by website engine
BEGIN
LOCAL i, x, y, f;
FOR i FROM 1 TO 9 DO
f := 0;
REPEAT
x := RANDINT(1, 8);
y := RANDINT(1, 6);
IF M1(y, x) == 0 THEN
M1(y, x) := i; f := 1;
END;
UNTIL f;
END;
END;
Afmat(m)
BEGIN
LOCAL i, j, x, y;
RECT_P();
FOR i FROM 1 TO 6 DO
FOR j FROM 1 TO 8 DO
IF M1(i, j) > 0 THEN
x := j*40-32; y := i*40-32;
IF m THEN
TEXTOUT_P(STRING(M1(i, j)), G0, x, y, 7, C_noir);
ELSE
RECT_P(x-7, y-7, x+31, y+31, C_gris);
END;
END;
END;
END;
END;
EXPORT Test_du_singe()
BEGIN
LOCAL x, y, i, j, n, r, t;
LOCAL m, o;
M1 := MAKEMAT(0, 6, 8);
Filmat();
CHOOSE(m, "Observation", "Libre", "4 sec.", "6 sec.", "8 sec.");
Afmat(1);
n := 1; t := TICKS;
IF m > 1 THEN
t := m*2; o := 1;
WAIT(t);
Afmat(0);
END;
REPEAT
WHILE MOUSE(4) < 0 DO
END;
IF n == 1 AND NOT o THEN
t := ROUND((TICKS-t) / 1000, 1);
END;
x := MOUSE(2); y := MOUSE(3);
WHILE MOUSE(4) ≥ 0 DO
END;
j := IP(y/40) + 1; i := IP(x/40) + 1;
r := M1(j, i);
IF r == n THEN
IF n == 1 AND NOT o THEN
Afmat(0);
END;
n := n+1; r := n;
RECT_P(i*40-40, j*40-40, i*40, j*40);
END
UNTIL n == 10 OR r ≠ n AND r ≠ 0;
Afmat(1);
FILLPOLY_P({i*40-40, j*40-40, i*40, j*40-40, i*40, j*40, i*40-40, j*40}, C_vert1, 128);
WHILE GETKEY < 0 DO
END;
IF n == 10 THEN
MSGBOX("BRAVO "+CHAR(10) + "Temps d'observation : "+STRING(t) + " sec.");
END;
END;