基本球拍:结束值

时间:2017-02-09 19:51:54

标签: racket racket-student-languages

我参加了一个介绍编程课程。我们在DrRacket中使用学生语言。

问题:我想在大爆炸游戏结束时返回一定值(需要2htdp / universe)`。

当前输出:当游戏结束时,DrRacket返回我当前的worldstate,这是我在游戏中使用的结构列表。

解决方案的进展:似乎stop-with可能能够帮助我,但我不确定如何使用它。

TL; DR:
问题:游戏结束 - >返回世界国家(结构清单)
想要:游戏结束 - >返回其他值(数字)

如果我能以任何方式澄清,请告诉我!谢谢!

编辑:我想我找到了解决方案。我使用我通常称之为结束的表达方式?函数,并将其作为我的on-tick函数中的cond分支。当在我的on-tick函数中调用该函数时,它会将world-state更改为我想要输出的任何内容。那么,在我的最后?函数,我只是检查一下worldstate是否与通常的不同。

感谢您的帮助!

解决方案:

; A Test Case (TC) is a (make-tc Number)
(define-struct tc [number ticks])
; number is a number used to test this problem

; TC -> Number
; Begins the main big-bang function; outputs the inverse of tick speed
; times the number of ticks elapsed when the game ends. 
(define (main tick-speed)
   ( * (/ 1 tick-speed) 
        (tc-ticks (big-bang (make-tc 0 0)
           [to-draw draw]
           [on-tick check tick-speed]
           [stop-when end? end-scene]))))

1 个答案:

答案 0 :(得分:0)

在原帖中回答:

NSString *frameworkPath = @"/System/Library/PrivateFrameworks/TelephonyUtilities.framework"];
NSBundle *bundlePath = [NSBundle bundleWithPath: frameworkPath];
if ([bundlePath load]) {
    Class TUCallCenter = NSClassFromString(@"TUCallCenter");
    tucallCenter = [TUCallCenter sharedInstance];
}