64 lines
1.1 KiB
Plaintext
64 lines
1.1 KiB
Plaintext
Type physical As Double
|
|
|
|
Enum food
|
|
oyster = 1
|
|
trout
|
|
bloater
|
|
chocolate
|
|
truffles
|
|
cheesecake
|
|
cream
|
|
pudding
|
|
pie
|
|
End Enum
|
|
|
|
Type ActualFood
|
|
nombre As Integer
|
|
size As physical
|
|
quantity As physical
|
|
End Type
|
|
|
|
Type foodbox
|
|
Item(100) As ActualFood
|
|
max As Integer
|
|
End Type
|
|
|
|
Sub put_(Byref fb As foodbox, Byval f As Integer, Byval s As physical, Byval q As physical)
|
|
fb.max += 1
|
|
fb.Item(fb.max).nombre = f
|
|
fb.Item(fb.max).size = s
|
|
fb.Item(fb.max).quantity = q
|
|
End Sub
|
|
|
|
Sub GetNext(Byref fb As foodbox, Byref Stuff As ActualFood)
|
|
If fb.max > 0 Then
|
|
Stuff = fb.Item(fb.max)
|
|
fb.max -= 1
|
|
End If
|
|
End Sub
|
|
|
|
Type Gourmand
|
|
WeightGain As physical
|
|
SleepTime As physical
|
|
End Type
|
|
|
|
Sub eats(Byref g As Gourmand, Byref stuff As ActualFood)
|
|
g.WeightGain += stuff.size * stuff.quantity * 0.75
|
|
stuff.size = 0
|
|
stuff.quantity = 0
|
|
End Sub
|
|
|
|
' Test
|
|
Dim As foodbox Hamper
|
|
Dim As Gourmand MrG
|
|
Dim As ActualFood Course
|
|
|
|
put_(Hamper, food.pudding, 3, 7)
|
|
put_(Hamper, food.pie, 7, 3)
|
|
GetNext(Hamper, Course)
|
|
eats(MrG, Course)
|
|
|
|
Print MrG.WeightGain ' result 15.75
|
|
|
|
Sleep
|