FRACTAL.PAS 856 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. Uses Lsystems,Graph;
  2. var
  3. Inp : TEXT;
  4. Ax,Comm,Fname : string;
  5. Frac : PLSYS;
  6. Rule : string;
  7. Turn,r : integer;
  8. begin
  9. If ParamCount <> 1 then Assign(Inp,'input.fra')
  10. else Assign(inp,ParamStr(1));
  11. {$I-}
  12. Reset(Inp);
  13. {$I+}
  14. If IOResult <> 0 then
  15. begin
  16. WriteLn('File open Error');
  17. HAlt(220);
  18. end;
  19. ReadLn(inp,comm);
  20. repeat
  21. readln(inp,ax);
  22. until comm[1] = ';';
  23. Val(Ax,Turn,R);
  24. ReadLn(Inp,Ax);
  25. Frac := CreateLsys(Ax,copy(Comm,2,Length(Comm)-1),Turn);
  26. while not EOF(inp) do begin
  27. ReadLn(inp,rule);
  28. if Length(Rule) > 2 then AddRule(Frac,rule[1],copy(rule,3,Length(rule)-2));
  29. end;
  30. WriteLn('Enter stage number');
  31. ReadLn(Turn);
  32. fname := calculate(Frac,Turn);
  33. turn:=0;
  34. r:=0;
  35. InitGraph(r,turn,'');
  36. DrawLsys(Fname,frac);
  37. ReadLn;
  38. CloseGraph;
  39. DestroyLsys(Frac);
  40. end.