1

そこで、ビッグバンを使って「HI」のイメージを育てるプログラムを作ろうとしています。キャンバスの中央に配置しました。テキストサイズを1から開始し、サイズが80に達したときに拡大を停止したい。オンティックを追加しましたが、それでも1から開始して拡大することはありません。私が間違っていることについて何か考えはありますか?

編集-

    (require 2htdp/image)
    (require 2htdp/universe)

    (define word "HELLO WORLD" )

    (define (draw-world world )
      (place-image (text word world  "olive")
                   240 210
                   (empty-scene 500 300)))


         (define (next t)
  (cond [(>= (draw-world t) 80) t]
        [else (+ t 1)]))

    (big-bang 1
              (on-tick add1)
              (to-draw draw-world)
              (stop-when zero?))
4

2 に答える 2

2

あなたはこのようにそれを行うことができます:

(require 2htdp/image)
(require 2htdp/universe)

(define WORD "HELLO WORLD" )

(define (main x)
  (big-bang x
          (on-tick next)        ; World -> World
          (to-draw draw-world)  ; World -> Image
          (stop-when stop?)))   ; World -> Boolean


; World -> World
; Gives the next world
(define (next world)
  (cond [(>= world 80) world]
        [else (+ world 1)]))

; World -> Image
; Draw the current world
(define (draw-world world )
  (place-image (text WORD world  "olive")
               240 210
               (empty-scene 500 300)))

; World -> Boolean
; Check if this is the last world
(define (stop? world)
  (= world 80))

(main 1)
于 2013-07-04T09:09:01.810 に答える
1

いくつかあります。最も重要なのはdraw-world 、サイズ11のテキストを描画する場所です。代わりにサイズのテキストを描画すると、テキストworldは現在の世界と同じサイズになります。

(text word world "olive")

そのバグを修正した後、すぐに修正すべき次のことを見つけるでしょう。

アップデート:

(define (stop? a-world)
  (<= a-world 80))
于 2013-01-21T18:02:55.447 に答える