home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 15
/
CD_ASCQ_15_070894.iso
/
news
/
2516
/
syl7.doc
< prev
next >
Wrap
Text File
|
1993-11-21
|
8KB
|
205 lines
Patrik Carpentier Octobre 93
195, rue de Douai
F59450 SIN
INTRODUCTION
------------
Si vous lisez ce texte c'est donc que vous avez en main le pack
n°7 des Casses-Têtes de Sylvie, selon DP Tool Club puisque je
me contentais de mettre un SYL générique et de regrouper le tout
par paquet de 4 jeux.
Si vous comptez bien, il y a donc à ce jour, 28 jeux dans cette
série (7*4). Ces jeux sont libres de diffusion, du moment qu'on
ne les dénature pas par modification des textes, des images et
bien sur du fonctionnement. Ils sont de plus gratuits, je ne me
suis jamais fait d'illusion lucrative en ce qui concerne le
shareware made in France.
LISTE DES 28 JEUX
-----------------
┌──────────────────────────────────────┐
│ SYL*** par Patrik Carpentier 10/93 │
├──────────────────────────────────────┤
│ 28 jeux dans la série SYL (7 packs) │
│ SYL1 -one -ouka -oulo -atche │
│ SYL2 -aby -aji -erson -ouye │
│ SYL3 -inda -ade -ite -ojiq │
│ SYL4 -oro -achel -eze -ilance │
│ SYL5 -epa -iswa -ube -ama │
│ SYL6 -emin -etro -oook -aison │
│ SYL7 -iulia -atre -orne eere │
│ 4 jeux dans la série SYX │
│ plus divers autres trucs ci et là... │
└──────────────────────────────────────┘
BRIC A BRAC
-----------
Au début, j'ai tenté le principe de l'EchangeWare de programmes
afin de compléter ma collection de disquettes mais j'ai vite
récupéré un virus furtif qui est passé outre mes anti-virus
(pas gratuis) et qui m'a mis le disque dur dans un état impossible,
ce qui a été une bonne occasion de changer de machine !
Maintenant, comme DP Tool Club (publicité) posséde un catalogue
de CD-Roms pas chers, avec en plus le CD mensuel (j'ai du n°0 au 8,
au fait, pas d'abonnement prévu ?), je suis tranquille de ce côté.
PROSPECTIVES
------------
Je pense que SYL8 et SYL9 verront le jour. Il faudra que je me
consacre un peu plus à la série SYX (pas pour les bébés) et que
je crée la série FLO pour les enfants. J'ai déjà écrit quelques
bricoles pour ma fille. Dans un coin, je posséde des routines de
sprites et autres amusements du type et au travail, mes programmes
sont écrits pour du 800*600*256 mais je trouve plus rigolo d'être
en 640*480*16 pour inventer sur un coup de tête un petit jeu.
Ces derniers sont écrits pour ma femme, bien qu'elle me déclare
souvent que c'est avec mon ordinateur que j'aurai du être marié...
BOUTS DE PROGRAMMES
-------------------
Mes étudiants me demandent souvent quelques routines, en
voici quelques unes, çà peut toujours servir:
-------------------
-------------------
Function unetouche(maj:boolean):integer;
var c :integer;
begin
if maj then c:=ord(upcase(readkey))
else c:=ord(readkey);
if c=0 then c:=-ord(readkey);
unetouche:=c;
end;
Cette fonction lit le clavier et retourne le code ascii.
Si nous appuyons sur une touche étendue, le code est négatif.
UP -72 PG UP -73 INS -82
DOWN -80 PG Dn -81 DEL -83
LEFT -75 HOME -71 F1 -59
RIGHT -77 END -79 F2 -60 (etc..)
TAB 9 BS 8 ENTER 13 ESC 27
-------------------
-------------------
unit usouris;
interface
uses dos,crt;
type
type_curseur =array[0..33]of word;
{ 0..15:écran 16..31:masque 32:x 33:y }
const
curseur_main :type_curseur=
( 65535,65535,65287,65027,32768,0,32768,61440,
63488,63488,64512,64512,65031,65535,65535,65535,
0,0,0,248,28,32751,119,1983,
127,959,124,440,0,0,0,0, 0,5);
curseur_fleche :type_curseur=
( 16383,8191,4095,2047,1023,511,255,127,
63,63,511,255,4351,63615,63615,64767,
0,16384,24576,28672,30720,31744,32256,32512,
32640,32256,31744,28160,1536,768,768,0, 0,0);
var regs :registers; { pour int 33H }
function souris_init: word;
procedure souris_affiche(ok:boolean);
procedure souris_info(var x,y,b:integer);
procedure souris_place(x,y:integer);
procedure souris_zone(x,y,xb,yb:integer);
procedure souris_curseur(var m:type_curseur);
implementation
function souris_init: word; { rejette le nombre de boutons }
begin { si 0 -> pas de souris }
regs.ax:=0; intr($33,regs);
if regs.ax=0 then souris_init:=0 else souris_init:=regs.bx;
end;
procedure souris_affiche(ok:boolean);
begin
if ok=true then regs.ax:=1 else regs.ax:=2;
intr($33,regs);
end;
procedure souris_info(var x,y,b:integer); { B -> 1:gau 2:dr 3:deux }
begin
regs.ax:=3; intr($33,regs); x:=regs.cx; y:=regs.dx; b:=regs.bl
end;
procedure souris_place(x,y:integer);
begin
regs.cx:=x; regs.dx:=y; regs.ax:=4; intr($33,regs);
end;
procedure souris_zone(x,y,xb,yb:integer);
begin
regs.ax:=7; regs.cx:=x; regs.dx:=xb; intr($33,regs);
regs.ax:=8; regs.cx:=y; regs.dx:=yb; intr($33,regs);
end;
procedure souris_curseur(var m:type_curseur);
begin
regs.ax:=9; regs.bx:=m[32]; regs.cx:=m[33];
regs.es:=seg(m); regs.dx:=ofs(m);
intr($33,regs);
end;
begin
end.
Cette unité gère la souris. Je pense qu'elle est explicite.
Elle est minimale mais on peut déjà faire quelques bricoles avec.
-------------------
-------------------
Afficher quelque chose sur une image puis restituer l'image
d'origine. Attention à la taille de la zone (<64ko)
var p :pointer;
var x,y,xx,yy :integer; {dimensions de la zone }
...
getmem(p, imagesize(x,y,xx,yy));
getimage(x,y,xx,yy,p^); {n'oubliez pas le ^ sinon plantage}
(* mettre ici le recouvrement *)
(* ou d'autres choses *)
putimage(x,y,p^, 0); {n'oubliez pas le ^ sinon plantage}
dispose(p); {on libère le tas sinon... }
-------------------
-------------------
Une procedure simple pour faire du relief, ce qui est très à la mode
de nos jours. Pourtant, c'est vraiment simple !
procedure cadre(x,y,xx,yy,cf,c0,c1:integer);
begin
if cf>=0 then begin {couleur du fond }
setfillstyle(1,cf); bar(x,y,xx,yy); {négatif -> transparent}
end;
setcolor(c0);
line(x,y,x,yy); line(x,y,xx,y);
setcolor(c1);
line(xx,yy,xx,y); line(xx,yy,x,yy);
end;
Exemple:
cadre(100,100,500,200, 7, 15,8);
cadre(110,110,490,190,-1, 8,15);
Cà vous rappellera quelque chose...
-------------------
-------------------
Un peu de langage C..
function itoa(n,d:integer):string;
var t:string;
begin
str(n:d,t); itoa:=t;
end;
Exemple:
for i:=1 to 20 do
Outtextxy(200,100+i*10, itoa(i,3));
Simple mais pratique. C'est facilement adaptable au real.
-----------------------------------------------------------------------
-----------------------------------------------------------------------
C'est tout pour aujourd'hui. L'affichage de PCX prendrait trop de
place ici en raison du type d'image (2, 16, 256 couleurs).
Bonne informatique
Patrik Carpentier.