マリオのものと同じ、レベルの終わり
右端にポールがあり、その先に扉があるレベル。遊んでポールに跳びつき、パッドから手を離してみてほしい: 四角は滑り降り、ひとりでに扉まで歩き、残り時間がスコアに数え込まれ、カードが次のレベルを告げ、それが始まる。プログラムは 1,458 バイトの命令 566 個で、作り方も確かめ方も同じだ。
ここで遊ぶ 机の上で変えてみる カートリッジ。NES のカートリッジを遊べるところならどこでも遊べる: interlude.nes
画面の上では
しばらくのあいだ、ゲームは自分で遊ぶ
スーパーマリオブラザーズでマリオが旗のポールに届くと、パッドは効かなくなる。ポールを滑り降り、ひとりで城へ歩いて入り、残り時間が数え下ろされて点に変わるあいだそこに立っている。それから絵は次のワールドを告げるカードのために消され、そのレベルが始まる。そのあいだプレイヤーが決めることは何も無く、何かがうまくいかないこともない。二つのレベルのあいだにゲームが演じる一場面だ。このカートリッジも、自前の速さと、自前の数え方の速さと、自前のカードと言葉で同じ場面を演じる。これを測る台本は、パッドが無視されることを見せるために、ずっと左を押したままにしている。
| このカートリッジ | スーパーマリオブラザーズ | |
|---|---|---|
| ポールを滑り降りるフレーム数 | 31 | 62 |
| そのあとひとりで歩くフレーム数 | 31 | 98 |
| そのあいだ左を押していて、無視された | はい | はい |
| 時間を数え下ろすのにかかるフレーム数 | 295 | 314 |
| 一フレームに減る時間の単位 | 1 | 1 |
| 一単位あたりの点 | 50 | 50 |
| 数え終わってから絵が消されるまでのフレーム数 | 0 | 143 |
| 次のレベルが遊べるまでカードが出ているフレーム数 | 121 | 161 |
| レベルの番号、前と後 | 1、2 | 1、2 |
書いたとおりに
このレッスンが扱うプログラムの部分。プログラム全体は、ただのテキストファイルだ: interlude.s
;; The pole: the square's right edge reaching the pole's column, at any
;; height, is the level's end. From here the pad is not read again until
;; the next level: the slide begins.
pole:
LDA $11
CLC
ADC #$0F
STA $20
LDA $15
CLC
ADC #$08
STA $21
JSR solid
CMP #$05
BNE notyet
LDA #$07
STA $50
LDA #$00
STA $12
STA $13
STA $16
STA $17
STA $03
notyet:
RTSこの前は: マリオのように、命を失ってやり直す
次は: マリオのように、穴に落ちる