05-18-2017, 05:32 AM
Bonjour
Le jeu que je vous propose est une adaptation d'un programme pour Hp 48 parût
dans HAUTE PERFORMANCE n°1 (1992).
Le but du jeu : l'écran est divisé en 9 parties rectangulaires (3*3), chaque chiffre (1-9)
correspond à une combinaison aléatoire de rectangle qui seront noircis.
A partir d'un écran blanc, il faut noircir les 9 zones, difficulté si une ou plusieurs
zones de l'écran déjà noircies correspondent avec la combinaison du chiffre joué
celles-ci redeviennent blanches.
0 efface l'écran, on peut voir la combinaison d'un chiffre en pressant 'SHIFT' avant.
Pour jouer la combinaison d'un chiffre appuyez sur la touche correspondante.
La solution est en 4 combinaisons maximum.
Appuyez sur 'HELP' pour avoir la première combinaison de la solution, puis les 2 premières
et ainsi de suite : à la quatrième c'est perdu.
'ESC' pour quitter la partie.
Bon amusement.
Hello
The game that I propose to you is an adaptation of a program for Hp 48 par
In HIGH PERFORMANCE n ° 1 (1992).
The goal of the game: the screen is divided into 9 rectangular parts (3 * 3), each digit (1-9)
Corresponds to a random combination of rectangle that will be blacked out.
From a white screen, you have to blacken the 9 zones, difficulty if one or more
Areas of the screen already blackened match with the combination of the number played
They become white again.
0 clears the screen, you can see the combination of a digit by pressing 'SHIFT' before.
To play the combination of a number press the corresponding key.
The solution is in 4 combinations maximum.
Press 'HELP' to get the first combination of the solution, then the first 2
And so on: to the fourth is lost.
'ESC' to exit the game.
Good fun.
Le jeu que je vous propose est une adaptation d'un programme pour Hp 48 parût
dans HAUTE PERFORMANCE n°1 (1992).
Le but du jeu : l'écran est divisé en 9 parties rectangulaires (3*3), chaque chiffre (1-9)
correspond à une combinaison aléatoire de rectangle qui seront noircis.
A partir d'un écran blanc, il faut noircir les 9 zones, difficulté si une ou plusieurs
zones de l'écran déjà noircies correspondent avec la combinaison du chiffre joué
celles-ci redeviennent blanches.
0 efface l'écran, on peut voir la combinaison d'un chiffre en pressant 'SHIFT' avant.
Pour jouer la combinaison d'un chiffre appuyez sur la touche correspondante.
La solution est en 4 combinaisons maximum.
Appuyez sur 'HELP' pour avoir la première combinaison de la solution, puis les 2 premières
et ainsi de suite : à la quatrième c'est perdu.
'ESC' pour quitter la partie.
Bon amusement.
Hello
The game that I propose to you is an adaptation of a program for Hp 48 par
In HIGH PERFORMANCE n ° 1 (1992).
The goal of the game: the screen is divided into 9 rectangular parts (3 * 3), each digit (1-9)
Corresponds to a random combination of rectangle that will be blacked out.
From a white screen, you have to blacken the 9 zones, difficulty if one or more
Areas of the screen already blackened match with the combination of the number played
They become white again.
0 clears the screen, you can see the combination of a digit by pressing 'SHIFT' before.
To play the combination of a number press the corresponding key.
The solution is in 4 combinations maximum.
Press 'HELP' to get the first combination of the solution, then the first 2
And so on: to the fourth is lost.
'ESC' to exit the game.
Good fun.
Code:
//by Tyann
#pragma mode( separator(.,;) integer(h32) )
C_noir:=#0h;C_blanc:=#FFFFFF:32h;
C_gris:=#7D7D7D:32h;C_argent:=#CECECE:32h;
help(n,l)
BEGIN
LOCAL s;
n:=MIN(n+1,4);
s:=l({1,n});
BLIT_P(G2,G0);
TEXTOUT_P(s,160-8*SIZE(s),116,5,C_gris);
WAIT(2);
BLIT_P(G0,G2);
n;
END;
z_rect(n)
BEGIN
CASE
IF n==0 THEN INVERT_P(1,0,106,79); END;
IF n==1 THEN INVERT_P(107,0,212,79); END;
IF n==2 THEN INVERT_P(213,0,318,79); END;
IF n==3 THEN INVERT_P(1,80,106,159); END;
IF n==4 THEN INVERT_P(107,80,212,159); END;
IF n==5 THEN INVERT_P(213,80,318,159); END;
IF n==6 THEN INVERT_P(1,160,106,239); END;
IF n==7 THEN INVERT_P(107,160,212,239); END;
IF n==8 THEN INVERT_P(213,160,318,239); END;
END;
END;
s_rect(n)
BEGIN
LOCAL c:=C_gris;
CASE
IF n==0 THEN RECT_P(G1,0,0,19,19,c);END;
IF n==1 THEN RECT_P(G1,20,0,39,19,c);END;
IF n==2 THEN RECT_P(G1,40,0,59,19,c);END;
IF n==3 THEN RECT_P(G1,0,20,19,39,c);END;
IF n==4 THEN RECT_P(G1,20,20,39,39,c);END;
IF n==5 THEN RECT_P(G1,40,20,59,39,c);END;
IF n==6 THEN RECT_P(G1,0,40,19,59,c);END;
IF n==7 THEN RECT_P(G1,20,40,39,59,c);END;
IF n==8 THEN RECT_P(G1,40,40,59,59,c);END;
END;
END;
c_rect(v,f)
BEGIN
LOCAL i;
RECT_P(G1,0,0,59,59,C_argent);
FOR i FROM 0 TO 8 DO
IF BITAND(v,2^i) THEN
IF f THEN
s_rect(i);
ELSE
z_rect(i);
END;
END;
END;//FOR
IF f THEN
BLIT_P(G2,G0);BLIT_P(G0,129,89,G1);
WAIT(1);BLIT_P(G0,G2);
END;
END;
combi()
BEGIN
LOCAL i,n,m;
LOCAL lc:={1,2,3,4,5,6,7,8,9},l:={{},{}};
FOR i FROM 1 TO 9 DO
m:=IFTE(i==4,511,RANDINT(511));
l(1,i):=BITXOR(n,m);n:=m;
l(2,i):=lc(RANDINT(1,SIZE(lc)));
lc:=remove(l(2,i),lc);
END;
l;
END;
g_key()
BEGIN
LOCAL k,p,l:={42,43,44,37,38,39,32,33,34,47,41,3,4};
WHILE p==0 DO
k:=GETKEY;p:=POS(l,k);
END;
p;
END;
EXPORT DEFI()
BEGIN
LOCAL l,i,c,b,v,s,q,m;
LOCAL h;
DIMGROB_P(G1,60,60);
DIMGROB_P(G2,320,240);
RECT_P();
l:=combi();
REPEAT
c:=g_key();
CASE
IF c==10 THEN RECT_P();b:=0;s:=0;END;
IF c==11 THEN s:=1;END;
IF c==12 THEN h:=help(h,l(2));q:=(h=4);END;
IF c==13 THEN
BLIT_P(G2,G0);
q:=MSGBOX("Quitter la partie ?",1);
BLIT_P(G0,G2);
END;
DEFAULT
v:=l(1,POS(l(2),c));c_rect(v,s);
b:=IFTE(s,b,BITXOR(b,v));s:=0;
END;
UNTIL b==511 OR q;
m:=IFTE(q,"PERDU","BRAVO");
TEXTOUT_P(m,120,110,6,C_gris);
WAIT(3);
DIMGROB_P(G1,0,0);DIMGROB_P(G2,0,0);
END;