Начал писать "Монополию", если не выйдет с самообучающимся ИИ, сделаю просто на человек VS ИИ но вот проблема, программа верней - то что пока написано, вылетает, перед кодом коечто укажу для пояснения: всё поле - это масив из 40 елементов - записей (element); Заполнение поля - это считывание с текстового файла каждого елемента записи, причом для каждого считываеться обязательноего имя, и номер, если елемент поля - участок, то считывается еще и его стоимость, аренда и тд., если транспортная магистраль - то считываеться стоимость, если карточка то считываеться её тип, и тд... И всё якобы хорошо, при первом проходе всё для первого елемента правильно считывает, но когда начинает считываться второй - прога вылетает, не считывает даже обязательные поля... вот код:
program Monoply; uses Crt,Graph; const
N=40; doma : set of byte = [1,3,6,8,9,11,13,14,16,18,19,21,23,24,26,28,29,31,32,34,37,39]; card : set of byte = [2,4,12,17,27,38]; special : set of byte = [7,10,20,30,36,40]; transport : set of byte = [5,15,25,35]; metro_phone : set of byte = [22,33]; nomber_of_plase : set of byte = [1..N]; type element = record
_name:string; _nomber:byte;
case Activ_Nomber:byte of 1,3,6,8,9,11,13,14,16,18,19,21,23,24,26,28,29,31,32,34,37,39 : ( cost,arenda_0,arenda_1,arenda_2,arenda_3,arenda_4,arenda_5:integer; house_cost:byte); 2,4,12,17,27,3 : (type_of_card:byte;); 7,10,20,30,36,4 : (type_of_spesial:byte;); 5,15,25,35 : (cost_of_transport:integer;); 22,33 : (cost_of_metro_phone:integer;); end; var F1:text; M:array [1..N] of element;
if Activ_nomber in doma then begin read(F1,cost); read(F1,arenda_0); read(F1,arenda_1); read(F1,arenda_2); read(F1,arenda_3); read(F1,arenda_4); read(F1,arenda_5); read(F1,house_cost); end; if Activ_nomber in card then read(F1,type_of_card); if Activ_nomber in special then read(F1,type_of_spesial); if Activ_nomber in transport then read(F1,cost_of_transport); if Activ_nomber in metro_phone then read(F1,cost_of_metro_phone);