Я застрял на одной проблеме в моей домашней задаче по программированию в моем классе Введение в компьютерные науки. Нам пришлось использовать OPP в Racket, чтобы создать% автомобилей, а затем использовать объект для создания my-car. Нам также пришлось создать функцию ускорения, чтобы ускорить my-car на 10 при каждом вызове функции и тормозе, что будет тормозить автомобиль на 7 при каждом вызове. НО мы должны установить минимальную скорость 0 и максимум 65, поэтому my-car не go ниже 0 независимо от того, сколько раз мы называем тормозом, и она не go выше 65 независимо от того, сколько раз мы называем ускорение. Любой совет, как это сделать? Я пытался: (определить / publi c set-current-speed) (диапазон 0 65), НО, который не работал. Я никогда не работал с диапазонами или минимальными / максимальными значениями, поэтому я просто застрял. Любой совет будет принята с благодарностью! Заранее спасибо.
(require racket)
(define auto%
(class object%
(field
(color "?")
(brand "?")
(model "?")
(year 1900)
(current-speed 0)
)
(super-new)
(define/public (get-color)
color
)
(define/public (set-color new-color)
(set! color new-color)
)
(define/public (set-brand given-brand)
(set! brand given-brand)
)
(define/public (set-model given-model)
(set! model given-model)
)
(define/public (set-year given-year)
(set! year given-year)
)
(define/public (get-info)
(string-append color " " (number->string year) " " brand " " model " ")
)
(define/public (get-current-speed)
current-speed
)
)
(define/public (accelerate)
(set! current-speed (+ current-speed 10))
)
(define/public (brake)
(set! current-speed (- current-speed 7))
)
)
)