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 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212
|
(*$r+*)
program JDR_BD_Perso; {** Version Monstres **}
Uses WinCrt;
Type
tPerso = record
name : string[25];
race : byte;
carrier : byte;
level : byte;
weapon1 : byte;
weapon2 : byte;
def: byte;
money : integer;
ptExp: integer;
CaracP : Array[1..8] of integer;
CaracS : Array[1..8] of integer;
stuff : array[1..6] of string[15];
end;
Const
Path: string = 'c:\tpw\jdr\datas\monsters.dta';
Var
Persos: file of tPerso;
a_monster: tPerso;
choix: char;
i: integer;
procedure cree;
begin
writeLn(' Etes vous sûr ? ceci écrase le fichier!');choix:= readkey;
if choix <> 'o' then exit;
assign(Persos, path);
rewrite(Persos);
close(Persos);
ClrScr;
write(#7);
writeLn;
writeLn(' FICHIER Créé !!! ');
readkey;
end; (* cree *)
procedure ajoute;
var choice: char;
begin
assign(Persos, path);
reset(Persos);
while not eof(Persos) do
read(Persos, a_monster);
writeln('Saisie des Monstres:');writeln;
repeat
with a_monster do
Begin
write(' nom du Monstre ? '); readln(name);
write(' race (0) ? '); readln(race);
write(' venin (0-1) ? '); readln(carrier);
write(' niveau ? '); readln(level);
write(' arme 1 ? '); readln(weapon1);
write(' arme 2 ? '); readln(weapon2);
write(' classe armure ? '); readln(def);
write(' argent ? '); readln(money);
write(' Points Exp ? '); readln(ptExp);
write(' Capac combat ? '); readln(caracP[1]);
write(' Capac tir ? '); readln(caracP[2]);
write(' Force ? ');readln(caracP[3]);
write(' Endurance ? ');readln(caracP[4]);
write(' Agilité ? ');readln(caracP[5]);
write(' Intelligence ? '); readln(caracP[6]);
write(' Force mentale ? '); readln(caracP[7]);
write(' Sociabilité ? '); readln(caracP[8]);
write(' PtsAttaque ? '); readln(caracS[1]);
write(' PtsBless (8-14) ? '); readln(caracS[2]);
caracS[3] := (caracP[3] div 10);
caracS[4] := (caracP[4] div 10);
write(' Mouvement (3-5) ? '); readln(caracS[5]);
caracS[6] := 0;
write(' Pts Destin (1-3) ? '); readln(caracS[7]);
caracS[8] := 0;
end;
write(Persos, a_monster);
write(' continuer, Quitter ? ');
choice:= readkey; writeln(choice);
until (choice= 'q') or (choice = 'Q');
close(Persos);
end; (* ajoute *)
procedure lecture;
var number: integer;
begin
assign(Persos, Path);
reset(Persos);
number:= 0;
ClrScr;
writeln(' #### Voilà Vos Monstres ####');
writeln;
while not eof(Persos) do
begin
read(Persos, a_monster);
with a_monster do
begin
ClrScr;
writeLn;
writeLn('** Monstre: ',number,' : ' ,name,' **'); writeLn;
writeln(' race venin niveau arme1 arme2 def argent PtExp');
write(race:7, carrier:7, level:7, weapon1:7, weapon2:7);
writeLn(def:7, money:7, ptExp:7);
writeLn;
writeLn(' * Profil Principal *');
writeLn(' cc ct fo end agi int fm soc');
write(' ');
for i := 1 to 8 do write(caracP[i]:5);
writeln;
writeln;
writeln(' * Profil secondaire *');
writeln(' nA pB BF BE Mv Mg pD pF');
write(' ');
for i:= 1to 8 do write(caracS[i]:4);
end;
number:= number+1;
writeln;
writeln;
readkey;
end;
close(Persos);
end; (* lecture *)
procedure modifie;
var number: integer;
choice: char;
begin
assign(Persos, Path);
reset(Persos);
repeat
write(' modifie la fiche numéro ? '); readln(number);
seek(persos, number); read(persos, a_monster);
with a_monster do
Begin
write(' ',name,' New name ? '); readln(name);
write(' ',race,' New race (0) ? '); readln(race);
write(' ',carrier,' Veninous ? '); readln(carrier);
write(' ',level,' New level ? '); readln(level);
write(' ',weapon1,' New weapon1 ? '); readln(weapon1);
write(' ',weapon2,' New weapon2 ? '); readln(weapon2);
write(' ',def,' New def class ? '); readln(def);
write(' ',money,' New money ? '); readln(money);
write(' ',ptExp,' New Exp pts ? '); readln(ptExp);
write(' ',caracP[1],' New Capac combat ? '); readln(caracP[1]);
write(' ',caracP[2],' New Capac tir ? '); readln(caracP[2]);
write(' ',caracP[3],' New Force ? '); readln(caracP[3]);
write(' ',caracP[4],' New Endurance ? '); readln(caracP[4]);
write(' ',caracP[5],' New Agility ? '); readln(caracP[5]);
write(' ',caracP[6],' New Intelligence ? '); readln(caracP[6]);
write(' ',caracP[7],' New mental force ? '); readln(caracP[7]);
write(' ',caracP[8],' New Sociability ? '); readln(caracP[8]);
write(' ',caracS[1],' New Attack Pts ? '); readln(caracS[1]);
write(' ',caracS[2],' New Life Pts(8-14)? '); readln(caracS[2]);
caracS[3] := (caracP[3] div 10);
caracS[4] := (caracP[4] div 10);
write(' ',caracS[5],' New Movement(3-5) ? '); readln(caracS[5]);
caracS[6] := 0;
write(' ',caracS[7],' New Dest Pts(1-3) ? '); readln(caracS[7]);
caracS[8] := 0;
end;
seek(persos, number); write(persos, a_monster);
write('continuer, Quitter ? ');
choice:= readkey; writeln(choice);
until (choice= 'q') or (choice = 'Q');
close(Persos);
end; (* modifie *)
begin (* principal *)
clrscr;
writeln;
writeln(' ####### Générateur de Monstres #######');
repeat
writeln;
write(' > C)réer, A)jouter à la fin, L)ister, M)odifier, Q)uitter ? ');
choix:= readkey; writeln(choix);
case choix of
'c' : cree;
'a' : ajoute;
'A' : ajoute;
'l' : lecture;
'L' : lecture;
'm' : modifie;
'M' : modifie;
end;
until (choix= 'q') or (choix = 'Q');
write(#7);
end. (* principal *) |