- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
uses crt;
var
n, c, d:text;//текстовые переменный сохранений
name:string;//имя игрока
namet, cot, dit:string;//имена файлов
co,di:real;//переменные в игре
cdi:integer;//переменные с курсом
dif:string;//комманды
pm:byte;//+-курс
col:integer;//выбор количества для продажи
procedure cur; //вывод курса
begin
writeln ('Курс алмаза - ',cdi,' монет(ы)');
end;
procedure newr; //изменение курса
begin
pm:=random(2);//курс алмазов +- в промежутке 5,10
if pm=1 then cdi:=cdi+random(5)+5 else cdi:=cdi-(random(5)+5);
cur();
end;
procedure buyco;
begin
write ('Сколько алмазов вы обменяете на монеты: ');
readln (col);
if col>di then
begin
writeln ('У вас нет такого количества алмазов, введите меньше');
write ('Сколько алмазов вы обменяете на монеты: ');
col:=0; readln (col);
end
else
begin
co:=co+(di*cdi); di:=di-col;
writeln ('Монет: ',co); writeln ('Алмазов: ',di);
end;
end;
procedure buydi;
begin
write ('Сколько монет вы обменяете на алмазы: ');
readln (col);
if col>co then
begin
writeln ('У вас нет такого количества монет, введите меньше');
write ('Сколько монет вы обменяете на алмазы: ');
col:=0;
readln (col);
end
else
begin
di:=di+((col*co)/cdi); co:=co-col;
writeln ('Монет: ',co); writeln ('Алмазов: ',di);
end;
end;
procedure buy;
begin
Writeln ('Введиде "co", если хотите купить монеты'); Writeln ('Введиде "di", если хотите купить алмазы');
Write ('Ввод: '); Readln (dif);
if dif = 'co' then buyco(); if dif = 'di' then buydi();
end;
procedure save;
begin
assign(n, namet);
rewrite (n);//cоздаём имена файлов
cot:=concat(name,'co.txt');
dit:=concat(name,'di.txt');
{создаём сохранения}assign (c, cot); rewrite(c); co:=5; write(c,co);
assign (d, dit); rewrite(d); di:=1; write(d,di);
writeln ('Монет: ',co); writeln ('Алмазов: ',di); writeln ('Игра ',name,' сохранена');
end;
begin
cdi:=random(20)+10; //Задаём начальный курс
write ('Введите ваше имя: '); readln (name);
namet:=concat(name,'.txt');
if FileExists(namet) then
begin
writeln ('Сохранение ',name,' обнаружено');
writeln ('Загружается сохранение...');
assign (n, namet);
reset(n);
cot:=concat(name,'co.txt');
dit:=concat(name,'di.txt');//"вспомиаем" имена файлов
assign (c, cot); reset(c); read(c,co);
assign (d, dit); reset(d); read(d,di);//загрузка сохранений
writeln ('Монет: ',co);
writeln ('Алмазов: ',di); //вывод данных из сохранений
end
else
begin
//создаём файл с именем игрока
writeln ('Сохранение ',name,' не обнаружено'); writeln ('Создаётся сохранение...');
save();
end;
repeat //бесконечный репит
write('Введите комманду: ');
readln(dif);
case dif of
'new' : newr(); 'cur' : cur(); 'buy' : buy();'save' : save();
else Writeln ('Такой команды нет'); end;
until dif='end'; close(n);close(c);close(d);
Ну вот. Одна из моих первых программ на паскале. Про переводы из одной валюты в другую с учётом курса. Есть даже сохранения.
Чёрт ногу сломит, я сам уже не понимаю, что тут написал.