📄 sim1.st
字号:
"
Simple Minded simulation from Chapter 6 of book
"
Class Main
[
main | i |
i <- IceCreamStore new.
[i time < 25] whileTrue: [ i proceed ].
i reportProfits
]
Class Simulation
| currentTime nextEvent nextEventTime |
[
new
currentTime <- 0
|
time
^ currentTime
|
addEvent: event at: eventTime
nextEvent <- event.
nextEventTime <- eventTime
|
proceed
currentTime <- nextEventTime.
self processEvent: nextEvent
]
Class IceCreamStore :Simulation
| profit rand |
[
new
profit <- 0.
rand <- Random new.
"rand randomize. taken out so results remain the same"
self scheduleArrival
|
scheduleArrival
self addEvent: Customer new
at: (self time + (rand randInteger: 5))
|
processEvent: event
('customer received at ', self time printString) print.
profit <- profit + ( event numberOfScoops * 0.17 ).
self scheduleArrival
|
reportProfits
('profits are ', profit printString) print
]
Class Customer
| rand |
[
new
(rand <- Random new) "--randomize (taken out)"
|
numberOfScoops | number |
number <- rand randInteger: 3.
('customer has ', number printString , ' scoops ') print.
^ number
]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -