home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
EVENTS
/
WWIVGIRL.ZIP
/
GIRL.PAS
< prev
Wrap
Pascal/Delphi Source File
|
1990-03-01
|
11KB
|
475 lines
Program girlrate(input,output);
{$V-} {$C-}
{$G1}{$P1}
CONST strlen=160;
TYPE str=string[strlen];
regs=record ax,bx,cx,dx,bp,si,di,ds,es,flags:integer; end;
var
Temp : char;
Temp2: string[2];
Result : Integer;
Name : String[32];
Age : Integer;
Rt : Integer;
incom,okansi,cs,so,hangup:boolean;
rp:regs;
procedure checkhangup;
begin
end;
procedure getkey(var c:char); forward;
procedure prompt(i:str); forward;
procedure ansic(c:integer);
var i:str;
begin
if (c=1) or (c=0) then
c:=0
else
if (c=2) then
c:=7
else
c:=c-2;
i:=#3+chr(ord('0')+c);
prompt(i);
end;
procedure prompt;
var c:integer; cc:char;
begin
if (not hangup) then
for c:=1 to length(i) do begin
if (i[c]=#10) then
ansic(0);
write(i[c]);
end;
end;
procedure print(i:str);
begin
prompt(i+chr(13)+chr(10))
end;
function cstr(i:integer):str;
var c:str;
begin
str(i,c); cstr:=c;
end;
procedure nl;
begin
prompt(chr(13)+chr(10))
end;
procedure prt(i:str);
begin
ansic(4); prompt(i); ansic(0);
end;
function empty:boolean;
begin
rp.ax:=$0b00;
msdos(rp);
if (rp.ax and $00ff)=$00 then
empty:=true
else
empty:=false;
end;
procedure getkey;
begin
rp.ax:=$0800;
msdos(rp);
c:=chr(rp.ax and $00ff);
end;
procedure cls;
begin
write(chr(12));
end;
function yn:boolean;
var c:char;
begin
if not hangup then begin
ansic(3);
repeat
getkey(c);
c:=upcase(c);
until (c='Y') or (c='N') or (c=chr(13)) or hangup;
if c='Y' then begin print('Yes'); yn:=true; end else begin print('No'); yn:=false; end;
if hangup then yn:=false;
end;
end;
procedure input1(var i:str; ml:integer; tf:boolean);
var cp:integer;
c:char;
r:real;
begin
checkhangup;
if not hangup then begin
cp:=1;
repeat
getkey(c);
if not tf then c:=upcase(c);
if (c>=' ') and (c<chr(127)) then
if cp<=ml then begin
i[cp]:=c;
cp:=cp+1;
write(c);
end else else case ord(c) of
8:if cp>1 then begin
c:=chr(8);
write(#8#32#8);
cp:=cp-1;
end;
21,24:while cp<>1 do begin
cp:=cp-1;
write(#8#32#8);
end;
end;
until (c=#13) or (c=#14) or hangup;
i[0]:=chr(cp-1);
nl;
end;
end;
procedure input(var i:str; ml:integer);
begin
input1(i,ml,false);
end;
procedure inputl(var i:str; ml:integer);
begin
input1(i,ml,true);
end;
procedure onek(var c:char; ch:str);
begin
repeat
getkey(c);
c:=upcase(c);
until (pos(c,ch)>0) or hangup;
if hangup then c:=ch[1];
print(''+c);
end;
procedure wkey(var abort,next:boolean);
var cc:char;
begin
while not (empty or hangup or abort) do begin
getkey(cc);
if (cc=' ') or (cc=chr(3)) or (cc=chr(24)) or (cc=chr(11)) then
abort:=true;
if (cc=chr(14)) then begin abort:=true; next:=true; end;
if (cc=chr(19)) or (cc='P') or (cc='p') then begin
getkey(cc);
end;
end;
end;
procedure printa1(i:str; var abort,next:boolean);
var c:integer;
begin
checkhangup;
if not hangup then begin
abort:=false; next:=false; c:=1;
if not empty then wkey(abort,next);
while (not abort) and (c-1<length(i)) and (not hangup) do begin
checkhangup;
if i[c]=#3 then
if i[c+1] in [#0..#8] then
if okansi then
ansic(ord(i[c+1]));
if not empty then wkey(abort,next);
if i[c]=#3 then
c:=c+1
else
write(i[c]);
c:=c+1;
end;
end else abort:=true;
end;
procedure printa(i:str; var abort,next:boolean);
var s:str; p,op,rp,rop,nca:integer; crend:boolean;
begin
abort:=false;
crend:=(i[length(i)]=#1) and (i[length(i)-1]<>#3);
if crend then i:=copy(i,1,length(i)-1);
wkey(abort,next);
if i='' then nl;
while (i<>'') and (not abort) and (not hangup) do begin
rp:=0; nca:=80-wherex-1; p:=0;
while (rp<nca) and (p<length(i)) do begin
if i[p+1]=#8 then rp:=rp-1 else
if i[p+1]=#3 then
p:=p+1
else
if (i[p+1]<>#10) then rp:=rp+1;
p:=p+1;
end;
op:=p; rop:=rp;
if (rp>=nca) and (p<length(i)) then begin
while ((not (i[p] in [' ',#8,#10])) or (i[p-1]=#3)) and (p>1) do begin
rp:=rp-1; p:=p-1;
end;
if p=1 then
if not (i[1] in [' ',#8,#10]) then begin rp:=rp-1; p:=p-1; end;
end;
if abs(rop-rp)>=(80 div 2) then p:=op;
s:=copy(i,1,p); delete(i,1,p);
if (s[length(s)]=' ') then s[0]:=pred(s[0]);
printa1(s,abort,next);
if ((i='') and crend) or (i<>'') or abort then
nl
else
printa1(' ',abort,next);
end;
end;
procedure printacr(i:str; var abort,next:boolean);
begin
if not abort then
if i[length(i)]=#1 then
printa(i,abort,next)
else
printa(i+#1,abort,next);
end;
procedure pfl(fn:str; var abort:boolean; cr:boolean);
var fil:text;
i:str;
next:boolean;
begin
if not hangup then begin
assign(fil,fn);
{$I-} reset(fil); {$I+}
if ioresult<>0 then print('File not found.') else begin
abort:=false;
while not eof(fil) and (not abort) and (not hangup) do begin
readln(fil,i);
if cr then
printacr(i,abort,next)
else
printa(i,abort,next);
end;
close(fil);
end;
nl;nl;
end;
end;
procedure printfile(fn:str);
var abort:boolean;
begin
pfl(fn,abort,true);
end;
procedure iport;
begin
hangup:=false;
end;
procedure topscr;
begin
end;
procedure start;
var r2:integer;
begin
print('Welcome to CompuRate! The computerized woman rating service!');
print ('Converted to Pascal by Firebird');
print ('Debugged by Brian Hanson');
print ('Re-written by Wizard of Aahs 1@7100');
prt('Name of your girl >');Input(name,32);
prt('Age >');Input(temp2,2);Val(temp2,age,result);nl;
r2:=r2+1; Rt := 0;
end;
Procedure q1;
var r2:integer;
begin rt:=0;
nl; print('How is her face?');nl;
print('0> Full of zits, chubby, craters');
print('1> A face only a mother could love');
print('2> Major wart residing on nose');
print('3> No warts, zits, but lots of black spots');
print('4> Zits, few black spots');
print('5> Couple zits, rare black spots');
print('6> Couple zits, no black spots');
print('7> Seamly face, rare zit');
print('8> Beautiful face, very rare zits');
print('9> Perfect face');nl;
prt('Number > ');OneK(temp,'1234567890');Val(Temp,R2,Result);r2:=r2+1;
rt:=rt+r2;end;
Procedure q2;
var r2:integer;
begin cls;print('How is her hair?');nl;
print('0> What?! That beehive?! Hair?!');
print('1> What hair? Chorme-dome we call her..');
print('2> Looks like a worn brillo pad');
print('3> Too much mousse and hairspray');
print('4> Too much mousse');
print('5> Too much hairspray');
print('6> Stringy, but decent');
print('7> Perm of some sort, bodywave');
print('8> Beautifully cared for');
print('9> Beyond words in perfectness...');nl;
prt('Number > ');OneK(temp,'1234567890');Val(Temp,R2,Result);r2:=r2+1;
rt:=rt+r2;end;
procedure q3;
var r2:integer;
begin cls;print('How is her skin?');nl;
print('** Some may not be valid for black women **');
print('0> White as a ghost');
print('1> Flappy, flimsy, like my 103 yr old grandmother');
print('2> Wrinkled like a Shar-pai dog..');
print('3> Are those hives or some sort of rash?');
print('4> Blubber');
print('5> Slightly tanned, but sorta blah..');
print('6> Tanned, but ok');
print('7> Not bad..');
print('8> Typical skin');
print('9> Perfect!');nl;
prt('Number > ');OneK(temp,'1234567890');Val(Temp,R2,Result);r2:=r2+1;
rt:=rt+r2;end;
procedure q4;
var r2:integer;
begin cls;print('And now, how are her legs?');nl;
print('0> Scabby, flabby, and hairy <canadian?>');
print('1> Looks like it went through battle');
print('2> Got some sort of dots or whatever on it');
print('3> Bristle Mania');
print('4> THUNDER THIGHS!!!!');
print('5> Scabs and cuts');
print('6> Wears stockings but only god knows whats underneath');
print('7> Eh...');
print('8> Nice..');
print('9> Perfect!');nl;
prt('Number > ');OneK(temp,'1234567890');Val(Temp,R2,Result);r2:=r2+1;
rt:=rt+r2;end;
procedure q5;
var r2:integer;
begin cls;print('Ok.. how is her ass?');nl;
print('0> Blub blub blub blub');
print('1> Round and fat <yuk!>');
print('2> I dont think she wipes...');
print('3> Ok, but smells');
print('4> I think she got hemmorroids');
print('5> Small, but ok');
print('6> It''s ok');
print('7> Veerrrryy Nice!!');
print('8> NNNggghhh!!!');
print('9> Perfect!!!');nl;
prt('Number > ');OneK(temp,'1234567890');Val(Temp,R2,Result);r2:=r2+1;
rt:=rt+r2;end;
procedure q6;
var r2:integer;
begin cls;print('How are her tits?');nl;
print('0> What tits?');
print('1> Mosquito bites');
print('2> Peas on end');
print('3> Not even begun to form..');
print('4> You can tell she has kids');
print('5> Lemons');
print('6> Oranges');
print('7> Decent sized');
print('8> Bigger than normal');
print('9> More than a handfull <2 handfulls that is..>');nl;
prt('Number > ');OneK(temp,'1234567890');Val(Temp,R2,Result);r2:=r2+1;
rt:=rt+r2;end;
procedure q7;
var r2:integer;
begin cls;
print('How is her figure?');nl;
print('0> Well, if you like balloons, ok..');
print('1> Looks like a whale');
print('2> No figure');
print('3> Round. Plump. Perfect for roasting.');
print('4> A little chubby, but ok');
print('5> Skinny as hell. SuperStick.');
print('6> Some parts good, some parts bad');
print('7> Ok...');
print('8> Humina');
print('9> NNNggghhh!!!');nl;
prt('Number > ');
OneK(temp,'1234567890');
Val(Temp,R2,Result);r2:=r2+1;rt:=rt+r2; end;
procedure q8;
var r2:integer;
begin cls;
print('How is her voice?'); nl;
print('1> Terrible');
print('2> Crackly');
print('3> Ehh..');
print('4> Ok..');
print('5> Very sexy!');nl;
prt('Number > ');
OneK(temp,'12345');
Val(Temp,R2,Result);
rt:=rt+(r2*2);
end;
procedure q9;
var r2:integer;
begin cls;
print('What is your relationship with her?');nl;
print('1> Stranger');
print('2> Sister');
print('3> Co-worker');
print('4> Girlfriend');
print('5> Wife');nl;
prt('Number > ');
OneK(temp,'12345');
Val(Temp,R2,Result);
rt:=rt+(r2*2);
end;
procedure q10;
var r2:integer;
begin cls;
print('When you see her, do you...'); nl;
print('1> Turn away and yak on the ground');
print('2> Look for a little, but then yak');
print('3> Just look');
print('4> Look and daydream');
print('5> Cream your jeans');nl;
prt('Number > ');
OneK(temp,'12345');
Val(Temp,R2,Result);
rt:=rt+(r2*2);
end;
Procedure finish;
begin
nl;
print('Name > '+name);
print('Age > '+cstr(age));
print('Rate > '+cstr(rt)+'%');
end;
procedure return;
begin
print('Now returning to Gamers! BBS...');
end;
Begin
iport;
checkhangup;
if hangup then return;
start;q1;q2;q3;q4;q5;q6;q7;q8;q9;q10;finish;return;
End.