gentest.pas 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. uses GenUnit,Graph;
  2. const
  3. cx = 320;
  4. cy = 20;
  5. var
  6. World : CWorld;
  7. Adam, Eva, Avel : PCreature;
  8. Cr1,Cr2 : TChromos;
  9. pos : Tvec;
  10. Procedure EnumWriteCreature(aCr : PCreature);far;
  11. begin
  12. WriteLn(aCr^.Gender,'-',aCr^.Size,'-',ord(aCr^.color));
  13. end;
  14. Procedure EnumDrawCreature(aCr : PCreature);far;
  15. begin
  16. SetColor(ord(aCr^.color));
  17. if aCr^.Gender = 'W' then
  18. Circle(round(aCr^.Pos.x+cx),round(aCr^.Pos.y+cy),round(aCr^.size))
  19. else
  20. Rectangle(round(aCr^.Pos.x+cx-aCr^.size),round(aCr^.Pos.y+cy-aCr^.size),
  21. round(aCr^.Pos.x+cx+aCr^.size),round(aCr^.Pos.y+cy+aCr^.size));
  22. end;
  23. var
  24. grDriver: Integer;
  25. grMode: Integer;
  26. ErrCode: Integer;
  27. begin
  28. { grDriver := Detect;
  29. InitGraph(grDriver, grMode,'..');}
  30. randomize;
  31. Cr1[CR_X][GEN_X_GENDER] := $FF;Cr2[CR_X][GEN_X_GENDER] := $FF;
  32. Cr1[CR_X][GEN_X_COL_RG] := $FF;Cr2[CR_X][GEN_X_COL_RG] := 0;
  33. Cr1[CR_X][GEN_X_COL_BA] := 0;Cr2[CR_X][GEN_X_COL_BA] := $FF;
  34. Cr1[CR_X][GEN_X_SIZE] := $FF;Cr2[CR_X][GEN_X_SIZE] := $FF;
  35. Cr1[CR_X][GEN_X_MIND] := 0;Cr2[CR_X][GEN_X_MIND] := 0;
  36. Cr1[CR_X][GEN_X_AGE1] := $FF;Cr2[CR_X][GEN_X_AGE1] := 0;
  37. Cr1[CR_X][GEN_X_AGE2] := 0;Cr2[CR_X][GEN_X_AGE2] := 0;
  38. Pos.X:=-50;Pos.Y:=0;
  39. Eva := World.AddNewCreature(Pos,Cr1,Cr2,nil,nil);
  40. Cr2[CR_X][GEN_X_GENDER] := 0;Cr1[CR_X][GEN_X_COL_RG] := 0;
  41. Cr2[CR_X][GEN_X_COL_RG] := $FF;Cr1[CR_X][GEN_X_COL_BA] := 0;
  42. Cr2[CR_X][GEN_X_COL_BA] := 0;Cr1[CR_X][GEN_X_SIZE] := 0;
  43. Cr2[CR_X][GEN_X_SIZE] := 0;Cr1[CR_X][GEN_X_MIND] := $FF;
  44. Cr2[CR_X][GEN_X_MIND] := 0;Cr1[CR_X][GEN_X_AGE1] := 0;
  45. Cr2[CR_X][GEN_X_AGE1] := 0;Cr1[CR_X][GEN_X_AGE2] := 0;
  46. Cr2[CR_X][GEN_X_AGE2] := 0;
  47. Pos.X:=50;Pos.Y:=0;
  48. Adam := World.AddNewCreature(Pos,Cr1,Cr2,nil,nil);
  49. Pos.X:=-20;Pos.Y:=10;
  50. Avel := World.CreateChild(Pos,Eva,Adam);
  51. Pos.X:=20;Pos.Y:=10;
  52. World.CreateChild(Pos,Eva,Adam);
  53. World.CreateChild(Pos,Eva,Adam);
  54. World.CreateChild(Pos,Eva,Adam);
  55. World.CreateChild(Pos,Avel,Avel);
  56. World.CreateChild(Pos,Avel,Avel);
  57. World.CreateChild(Pos,Avel,Avel);
  58. World.CreateChild(Pos,Avel,Avel);
  59. { World.ForEachCreature(EnumDrawCreature);}
  60. World.ForEachCreature(EnumWriteCreature);
  61. ReadLn;
  62. World.Done;
  63. { CloseGraph;}
  64. end.