Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uses crt;
- var
- slaves_attak:real; //Сколько рабов идет атаковать
- hp:real; //общее кол-во едениц жизней у рабов
- attak:real; //общее кол-во едениц атаки
- /// speed_hp:real; //Скорость атаки (коэффициент атаки)
- /// speed_attack:real;
- slaves_attak_:real; //кол-во рабов в замке врага
- hp_:real;//Общее кол-во жизней у врагов
- attak_:real; //кол-во едениц атаки в замке врага
- slaves_sk:real; //сравниваем рабов в процессе битвы наши
- slaves_sk_:real;// вражесике
- slaves_sk_end:real; //сравниваем рабов в конце наши
- slaves_sk_end_:real;// вражеские
- /// speed_hp_:real;
- /// speed_atack_:real;
- castle_:integer; //Порядковый номер замка
- castle:integer;//Номер замка, который выбрали
- y:integer;
- x:string;//заглушка
- n:integer;//номер боя
- w:integer;//кто атакует первым 0-мои 1-враг
- slaves:integer;
- label up_slaves_attak_,attak_lb,exit,start,end_attak;
- begin
- slaves:=999;
- n:=1;//номер боя приравниваем к еденице
- Randomize;
- castle_:=random(3); //определяем, сколько замков рядом с нами
- writeln('Рядом с вами есть ',castle_,' замка.');
- writeln('Какой замок вы хотите атаковать?(номер замка)');
- read(castle);
- if castle_-castle<0 then begin
- writeln('Такого замка нету');
- goto exit;
- end;{begin}
- case castle of
- 1:begin
- Randomize;
- writeln('Отсылаем шпионов во вражеский замок...');
- sleep(500);
- up_slaves_attak_: slaves_attak_:=random(slaves)*random(5);
- if slaves_attak_=0 then goto up_slaves_attak_;
- slaves_sk_end_:=slaves_attak_;
- writeln('Во вражеском замке находятся ',slaves_attak_,' рабов');
- sleep(1000);
- writeln('');
- writeln('Вы действительно хотите напасть на этот замок?');
- writeln('1-да, напасть; 0-нет, не нападать');
- sleep(250);
- readln(y);
- if y=0 then goto exit;
- writeln('У вас есть ',slaves,' рабов.');
- writeln('Сколько рабов вы хотите отправить на вражеский замок');
- read(slaves_attak);
- if slaves_attak>slaves then begin
- writeln('Недостаточно рабов');
- readln(x);
- goto exit;
- end;{begin}
- slaves_sk_end:=slaves_attak;
- writeln('Отправляем ',slaves_attak,' рабов на замок ', castle);
- sleep(3000);
- w:=random(1);//0-мы 1-они
- goto attak_lb;
- end;{begin}
- 2: ;
- end;{case}
- //attak
- attak_lb: sleep(1000);
- clrscr;
- writeln('Идет ',n,' стадия боя');
- w:=1-w; //Определяем, кто атакует следуюдий. Если было 0, то станет 1, и наоборот
- hp:=slaves_attak*10; //жизни у моих рабов
- attak:=slaves_attak*5;//атака у моих рабов
- {Враги} hp_:=slaves_attak_*10; //жизни у чужих рабов
- attak_:=slaves_attak_*5;//атака у чужих рабов
- // writeln('Наши войны имеют ',hp,' едениц жизней.');
- // writeln('Наши войны имеют ',attak,' едениц атаки.');
- case w of
- {мы первые} 0: begin
- n:=n+1;
- writeln(slaves_attak,' наших рабов атакуют ',slaves_attak_,' вражеских рабов');
- sleep(1000);
- slaves_sk_:=slaves_attak_;
- slaves_attak_:=(hp_-attak)/10;
- slaves_attak_:=round(slaves_attak_);
- if slaves_attak_<1 then begin
- slaves_attak_:=0;
- sleep(1000);
- goto end_attak;
- end;{begin}
- writeln('У нас осталось ',slaves_attak,' рабов');
- writeln('У врага осталось ',slaves_attak_,' рабов.');
- writeln('Потери врага составляют ',slaves_sk_-slaves_attak_,' рабов');
- sleep(1000);
- writeln('');
- writeln('Продолжить битву?');
- writeln('1-да, продолжить; 0-нет, сбежать');
- readln(y);
- if y=1 then goto attak_lb;
- if y=0 then goto end_attak;
- end;{begin}
- 1:begin
- n:=n+1;
- writeln(slaves_attak_,' вражеских рабов атакуют ',slaves_attak,' наших рабов');
- sleep(1000);
- slaves_sk:=slaves_attak;
- slaves_attak:=(hp-attak_)/10;
- slaves_attak:=round(slaves_attak);
- if slaves_attak<1 then begin
- slaves_attak:=0;
- sleep(1000);
- goto end_attak;
- end;{begin}
- writeln('Наши потери составляют ',slaves_sk-slaves_attak,' рабов');
- writeln('У нас осталось ',slaves_attak,' рабов');
- writeln('У врага осталось ',slaves_attak_,' рабов.');
- sleep(1000);
- writeln('');
- writeln('Продолжить битву?');
- writeln('1-да, продолжить; 0-нет, сбежать');
- readln(y);
- if y=1 then goto attak_lb;
- if y=0 then goto end_attak;
- end;
- end;{case}
- //attak
- end_attak: if slaves_attak=0 then begin
- clrscr;
- writeln('Мы потерпели поражение');
- writeln('Мы потеряли ',slaves_sk_end-slaves_attak,' рабов');
- writeln('У противника осталось ',slaves_attak_,' и он потерял ',slaves_sk_end_-slaves_attak_,' рабов');
- /// slaves:=slaves_attak;
- end;{begin}
- if slaves_attak_=0 then begin
- clrscr;
- writeln('Мы победили');
- writeln('Мы потеряли ',slaves_sk_end-slaves_attak,' рабов и у нас осталось ',slaves_attak,' рабов');
- writeln('Враг потерял ',slaves_sk_end_-slaves_attak_,' рабов');
- /// slaves:=slaves_attak;
- end;{begin}
- if (slaves_attak<>0) and (slaves_attak<>0) then begin
- writeln('Из ',slaves_sk_end,' мы потеряли ',slaves_sk_end-slaves_attak,' рабов и у нас осталось ',slaves_attak,' рабов');
- writeln('Из ',slaves_sk_end_,' враг потерял ',slaves_sk_end_-slaves_attak_,' рабов и у него осталось ',slaves_attak_,' рабов');
- /// slaves:=slaves_attak;
- end;{begin}
- exit:
- end.
- // Допустим у нас есть 100 рабов. Каждый раб имеет 10 жизней и атакует на 5 жизней.
- //Если мы атакуем другого, у которого 60 рабов, которые имеют по 10 жизней и по 5 атаки
- //То наш удар: 100(рабов)*5(атака)=500
- //Вражеские жизни 60(рабов)*10(жизней)=600
- //У врага осталось рабов: (600-500)/10=10(рабов)
- //Таким образом надо знать:
- //1.Жизни наших рабов 3.На сколько атакуют наши рабы
- //2.Жизни вражеских рабов 4.На сколько атакуют вражеские рабы
Advertisement
Add Comment
Please, Sign In to add comment