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 213 214 215 216 217 218 219 220 221 222
| (*$r+*)
program JDR_BD_Perso; {** Version Héros **}
Uses WinCrt;
Type
tPerso = record
name : string[25];
race : byte;
carrier : byte;
level : byte;
health: integer;
condition: 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\team.dta';
Var
Persos: file of tPerso;
an_hero: tPerso;
choix: char;
i: integer;
procedure cree;
begin
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, an_hero);
repeat
with an_hero do
Begin
write(' nom du heros ? '); readln(name);
write(' race ? '); readln(race);
write(' carrière ? '); readln(carrier);
write(' niveau ? '); readln(level);
write(' health ? '); readln(health);
write(' condition(0-1)? '); readln(condition);
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, an_hero);
write(' continuer, Quitter ? ');
choice:= readkey; writeln(choice);
until (choice= 'q') or (choice = 'Q');
close(Persos);
end;
procedure lecture;
var number: integer;
begin
assign(Persos, Path);
reset(Persos);
number:= 0;
ClrScr;
writeln(' #### Voilà Vos Héros ####');
writeln;
while not eof(Persos) do
begin
read(Persos, an_hero);
with an_hero do
begin
ClrScr;
writeLn;
writeLn('** Hero: ',number,' : ' ,name,' **');
writeln(' race carrier 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 *)
{$I-}
procedure modifie;
var number: integer;
choice: char;
begin
writeln;
assign(Persos, Path);
reset(Persos);
for i:= 0 to 5 do begin
read(persos, an_hero);writeln(' > Fiche ',i,' - ',an_hero.name);
end;
writeLn;
reset(Persos);
repeat
write(' modifie la fiche numéro ? '); readln(number);
seek(persos, number); read(persos, an_hero);
with an_hero do
Begin
write(' ',name,' New name ? '); readln(name);
write(' ',race,' New race ? '); readln(race);
write(' ',carrier,' New carrier ? '); readln(carrier);
write(' ',level,' New level ? '); readln(level);
write(' ',health,' New health ? '); readln(health);
write(' ',condition,' New condition (0-1)? '); readln(condition);
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;
WriteLn('Erreur : ',IOResult); { Erreur 106 ! }
end;
seek(persos, number); write(persos, an_hero);
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 Personnages de Test #######');
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 *) |
Partager