某所にて、あまりにも美しいコードを発見したので保存がてら。
アドベンチャーゲームのひな形のようだが・・・
title "てすと"
width 640,480,0,0
cls 0
sdim nowmes, 1024
*start
redraw 0
color 255,255,255
boxf
color
day = day + 1
;メッセージ
nowmes = " "
if day = 1 : nowmes = "1"
if day = 2 : nowmes = "2"
if day = 3 : nowmes = "3"
if day = 4 : nowmes = "4"
if day = 5 : nowmes = "5"
pos 0,0
mes " " + day + "日目"
pos 0,110
button "次の日" , *tugi
*mess ;メッセージ表示部
pos 0,350
mesbox nowmes, 640, 130, 0
redraw 1
stop
*tugi
goto *start
end
素晴らしくまとめられたソースコードである。何が素晴らしいって、HSPをはじめたばかりの人が学ぶべき点が凝縮されている点である。
具体的に間違いをあげてみると
- 3行目にいらないcls
- *messといういらないラベル
- 絶対に到達できないend
- redraw0の後にboxfで白く塗りつぶすことで、ボタンとメッセージボックスが消えると思っている
- メッセージを表示するたびにメッセージボックスを作成している
さらに、もとはインデントされていなかった。
どこかで一回でもマトモなサンプルを見る機会があればこんな芸術は生まれ出でなかったであろう。redrawやclsの違い、画面に表示される文字やオブジェクトの違いなどが一同に学べるダメの見本市と呼べるコードなので、HSPでノベル作りたいけどよくわからんという初心者の方々はこれを直すためにヘルプやサンプルを総ざらいすることから始めるといいだろう。