unit uGameTask;
/////////////////////////////
// версия 0,6
/////////////////////////////
// модуль игровых заданий
// и их порядка следования
/////////////////////////////

interface

uses uGeneralData;

type tGameTask=object
      {name,}text:string;
      gscene:tGameScene;
      lvl:tCmplxLvl;
     end;

     tGameTaskSequence=object
      nowtask:integer;
      gametasks:array [1..100] of tGameTask;
      qgametask:integer;

      procedure LoadTask(patch:string);
      procedure NextTask;
      procedure ContinueTask;
     end;

implementation

uses uGame;

procedure tGameTaskSequence.LoadTask(patch:string);
var DF:textfile;
    j,t1,t2:integer;
    t:string;
begin

assignfile(DF,patch);
reset(DF);
readln(DF,qgametask);
for j:=1 to qgametask do begin
 readln(DF,t1,t2);
{ readln(DF,gametasks[j].name);}
 readln(DF,gametasks[j].text);
 case t1 of
  1:gametasks[j].gscene:=sInto;
  2:gametasks[j].gscene:=sTraining;
  3:gametasks[j].gscene:=sIntroduction;
  4:gametasks[j].gscene:=sComparison;
  5:gametasks[j].gscene:=sSearchElements;
  6:gametasks[j].gscene:=sFillingCards;
  7:gametasks[j].gscene:=sEncryption;
  8:gametasks[j].gscene:=sDecoding;
  9:gametasks[j].gscene:=sPlot;
  10:gametasks[j].gscene:=sCoordination;
 end;
 case t2 of
  1:gametasks[j].lvl:=Easy;
  2:gametasks[j].lvl:=Normal;
  3:gametasks[j].lvl:=Hard;
 end;
end;
closefile(DF);

nowtask:=1;

end;

procedure tGameTaskSequence.NextTask;
begin

end;

procedure tGameTaskSequence.ContinueTask;
begin
//это почему-то не работает на сценах с игрой, но в других - без проблем.
if nowtask=qgametask+1 then begin
 scene:=sMenu;
 nowtask:=1;
 gamestart:=false;
end else begin
 gscene:=gametasks[nowtask].gscene;
 cmplxlvl:=gametasks[nowtask].lvl;
end;

end;

end.
