forked from kevin2000141/TubesDasPro
-
Notifications
You must be signed in to change notification settings - Fork 0
/
F6.pas
60 lines (55 loc) · 1.54 KB
/
F6.pas
1
2
3
4
5
6
7
8
9
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
unit F6;
interface
uses uDef,F1;//untuk ngambil data
procedure olahbahan(olah:Abahanolahan;var olahb,mentah:Ainventori;var c : Asimulasi);
implementation
procedure olahbahan(olah:Abahanolahan;var olahb,mentah:Ainventori;var c : Asimulasi);
var
nama:string;
i,j,count,k:longint;
ketemu:boolean;
begin
writeln('bahan yang mau dibuat : ');
readln(nama);
i:=1;
while (olah[i].nama <> nama) do//mencari dimana bahan olahan yang ingin dibuat pada kamus
begin
i:=i+1;
end;
count:=0;//untuk bahan yang mencukupi
for j:=1 to olah[i].n do
begin
ketemu:=False;//var untuk nyari
k:=1;
while((ketemu=False)and(k< NInvBM[NomorSim])) do
begin
if((olah[i].bahan[j]=mentah[NomorSim][k].nama) and (mentah[NomorSim][k].jumlah>0)) then
begin
ketemu:=True;
count:=count+1;
end;
k:=k+1;
end;
end;
if((count=olah[i].n)and(c[NomorSim].tEnergi>0)) then
begin
for j:=1 to olah[i].n do
begin
ketemu:=False;//var untuk nyari
k:=1;
while((ketemu=False)and(k< NInvBM[NomorSim])) do
begin
if((olah[i].bahan[j]=mentah[NomorSim][k].nama) and (mentah[NomorSim][k].jumlah>0)) then
begin
ketemu:=True;
mentah[NomorSim][k].jumlah:=mentah[NomorSim][k].jumlah-1;//ngurangi jumlah bahan mentah di inventori
end;
k:=k+1;
end;
end;
c[NomorSim].tEnergi:=c[NomorSim].tEnergi-1;
c[NomorSim].tBOlahanDibuat:=c[NomorSim].tBOlahanDibuat+1;
//msih perlu tanggal
end else writeln('gak bisa beli');
end;
end.