Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,85 @@
|
|||
macro Gluttony(vartype, capacity, foodlist)
|
||||
'==========================================
|
||||
|
||||
typedef vartype physical
|
||||
|
||||
enum food foodlist
|
||||
|
||||
type ActualFood
|
||||
sys name
|
||||
physical size
|
||||
physical quantity
|
||||
end type
|
||||
|
||||
Class foodbox
|
||||
'============
|
||||
has ActualFood Item[capacity]
|
||||
sys max
|
||||
|
||||
method put(sys f, physical s,q)
|
||||
max++
|
||||
Item[max]<=f,s,q
|
||||
end method
|
||||
|
||||
method GetNext(ActualFood *Stuff)
|
||||
if max then
|
||||
copy @stuff,@Item[max], sizeof Item
|
||||
max--
|
||||
end if
|
||||
end method
|
||||
|
||||
end class
|
||||
|
||||
Class Gourmand
|
||||
'=============
|
||||
physical WeightGain, SleepTime
|
||||
|
||||
method eats(ActualFood *stuff)
|
||||
WeightGain+=stuff.size*stuff.quantity*0.75
|
||||
stuff.size=0
|
||||
stuff.quantity=0
|
||||
end method
|
||||
|
||||
end class
|
||||
|
||||
end macro
|
||||
|
||||
|
||||
'IMPLEMENTATION
|
||||
'==============
|
||||
|
||||
|
||||
Gluttony (
|
||||
double,100,{
|
||||
oyster,trout,bloater,
|
||||
chocolate,truffles,
|
||||
cheesecake,cream,pudding,pie
|
||||
})
|
||||
|
||||
% small 1
|
||||
% medium 2
|
||||
% large 3
|
||||
% huge 7
|
||||
|
||||
% none 0
|
||||
% single 1
|
||||
% few 3
|
||||
% several 7
|
||||
% many 12
|
||||
|
||||
'INSTANCE
|
||||
'========
|
||||
|
||||
FoodBox Hamper
|
||||
Gourmand MrG
|
||||
|
||||
'TEST
|
||||
'====
|
||||
|
||||
Hamper.put food.pudding,large,several
|
||||
Hamper.put food.pie,huge,few
|
||||
ActualFood Course
|
||||
Hamper.GetNext Course
|
||||
MrG.eats Course
|
||||
|
||||
print MrG.WeightGain 'result 15.75
|
||||
Loading…
Add table
Add a link
Reference in a new issue