プログラムを書いてみよう
プログラムを知らなかったキミも、挫折したキミもHSPワールドに入っていくよ。
ドキドキの一瞬だね。
でもそんなに硬くならなくていいんだよ。
はい、息を大きく吸ってゆっ〜くり吐く…。
このページからいきなり難しいことをするわけじゃあない。
初めに書いてた様に新しく出てくるものが1つか2つ程度。
いきなり知らないものが10コとか出てくるわけじゃないから安心して。
1つの命令をもうシツコイほど、
目に(?)タコができる以上のイカができるくらいに説明しているから。
初め見てわからなくても次へ進んで1通り読んでみようね。
さっきのでは分からなかったけどコッチのなら分かるとなるかもしれないよ。
前のページのhsed2.exeを実行してみようという所は読んだかな?
あまり必要ないから飛ばしてもイイ、と書いてたから
ホントに見てない人もいるはずだよね?
メニューを選択してもいいけど、キー一発でする方法でいくからね。
普通のキーボードなら一番上の段にあるF5キーをポチッ押すと
書いたプログラムをコンパイル+実行する処理をするよ。
前回押したことある人ももう一度押して。
実行したときの状況を説明するよ。
プログラムが翻訳された後起動する
↓
「Hot Soup Processor verX.XX」と書かれた白いウィンドウが表示される
↓
1秒も表示された状態を保つことなく見えなくなる
↓
その後どれだけ待っても実行前の状態
このようになると思う。
ウィンドウに「Hot Soup Processor verX.XX」とあるけど速くて見えないよ。
そもそも「X.XX」って何?
HSPバージョンによって数字が変わるから「X.XX」って書いただけだよ。
コレを書いている時点だと2.6が一番新しいバージョンだから
表示タイトルは「Hot Soup Processor ver2.6」だね。
それで速くてよく見えなかったという人のために
起動直後の決定的瞬間を捕らえました(笑
こんなウィンドウがディスプレイ上に起動していたのです。
一連の処理をプログラミング風に書くと、
コンパイルをした後実行される
↓
640×480ドットの白色ウィンドウをディスプレイに生成する
↓
ウィンドウを破棄する処理が実行される
↓
使用していた物理メモリを解放し終了する
プログラムは何も書いてないけど上のような処理をしてくれるわけ。
プログラムを終了するというのは自動でやってくれるわけだけど、
明示的に「終わらせろ」と命令することも出来るんだ。
一番初めのHSP命令だけど、end命令と呼ばれているよ。
英語を少しでも知っている人は聞いたことのある単語だね。
外国の映画の終了シーンやゲームをクリアした後に
「(THE) END」と書かれているのを見たことあるよね?
「ゲームのエンディング(Ending)でさぁ…」という言い方するでしょ?
終わりを告げる「エンド」で終了するってのを示す命令。
この「end」を自分の書いたプログラムに書いておくと翻訳されて…
あ、一つ言い忘れてたよ。
プログラムが実行される順番というのは決まっているんだよ。
適当にココの次はあそこにするか、といった曖昧な流れではない。
文章を読む時のルールと一緒。
君は今この文章を読んでいっているわけだけど、
上から順番に読んでいってるよね?
厳密には一番上の行の左端から
右に文章を読んでいって、端まで来たら
一段下の行の左端から右に進むんだ。
その文章を読むのと一緒のやり方で
プログラムの実行する順番も一番上の左端から
右へ進み、端まできたら次の行の左端から
実行していくという順番になるんだ。
その直前の所でend命令を実行させれば
その先を実行することなくプログラムを終了するわけ。
んでend命令の記述の仕方だけど、endとだけ書いておく。
「え?それだけ?」それだけなんです。実に簡単だね。
プログラムが最後まで来ると自動で終了されるんでしょ?
なんでend命令なんて必要なの?
まだココでは早すぎるのでその命令の説明はしないんだけど、
命令の中に同じ処理を延々と繰り返し、
一番最後まで行かない命令や、
プログラムの流れを分岐させる命令のとこで途中だけど
終了させなきゃいけない時などでend命令を使うってわけ。
ココではまだ全然必要ないんだけどね。
これから先必要になってくるんだから「覚えなくていい」
な〜んて思わずに覚えておいて頂戴。
それじゃあ早速書いてみようか。
hsed2.exeの黒い画面の所に「end」と3文字入れてみて。
う〜む。プログラマーとして君は今プログラムを書いていっているわけだ。
友達とかが見たら「すげぇ」なんて思われるかも知れないよ?
それはさておき…書いてみたかな?
end
上のような感じ…と、また一つ言い忘れてたよ。
ヘルプ内の「HSP入門」にも書かれているんだけど、
行の初めにTABキーを押すという約束事があるよ。
別にエラーとなるわけじゃあないんだけど、見やすくするためルール。
それで書いたらF5キーを押して実行してみる。
エラーがでてきたな〜んて人が何人かはいるんじゃない?
全員が全員一発でいけるとは限らないから、
問題がありそうな所を上げてみるからね。
今回は問題の起きなかった人も
見ておいたほうがイイと思うよ。というか見ておいて。
前はうまく言ったのになんで?となっても次からは説明しないからさ。
<パターン1>全角文字で書いている。
「end」と書いてると、パッと見の見た目は
ほとんど同じなんだけどHSPはend命令と解釈してくれない。
「文法が間違ってます」となった人は半角で打ってみよう。
end命令だけでなく全命令を半角で打たなきゃならないよ。
<パターン2>結果レポートウィンドウが表示される。
結果レポートに「#Fatal error in file writing.」と書かれた人は
一時ファイル「obj」が読取専用になってると思うよ。
<パターン3>end命令以外のものが書かれている。
初めのTABと「end」というの以外何も書いちゃいけないよ。
「end」の前や後ろに半角スペースを入れるのはOKなんだけど、
全角のスペースを入れてみたり、「end」の間に入れてみる
例えば「e nd」という風にしてみるとかしちゃだめなんだ。
う〜ん。すぐにはコレくらいしか思いつかないねぇ…。
これ以外でもこのエラーがよく出るよってのがあれば教えてほしいな。
何回やってもエラーだって人は上の黒い背景の奴を
自分のhsed2.exeにコピーして実行してみてよ。
それをコピーしてもエラーだ、って人は技術掲示板に書いてほしい。
力になれるかも知れないよ。
あ、あとこういうのもあるかもしれない…。
「エラーは出ない。でも白いウィンドウが一瞬出たりもない」っての。
hsp2.exe(デモが起動してた奴)の名前を変えちゃったり消してない?
若しくはhsprtって奴を捨てちゃったというのや名前を変えたというの。
名前を変えちゃった人たちは今すぐ戻してほしい。
捨てちゃったという人はご愁傷様です。
もう一度落としなおさなきゃならないよ…。
ホントはココでこういうファイルを公開してあげたいんだけど、
一式公開でないDLLを除く一部公開は出来ない
だからこれから先ソフトを作ってあのファイルも入れとこう、ってのはダメ。
見つかったら大変なことになっちゃうよ。
上に書いたように「DLLを使ってて、ないと動かない」
ってならないようにDLLは入れておいても問題ないよ。
さぁ話を戻して動いた、と(一瞬で終わるけど)。
そう、よかったね動いて。
それじゃあこのページはおしまい、というとブーイングが飛んできそう。
あともう1つだけ説明しておくからね。
プログラムが上から下へ流れて最後まで来たら終了。
今知ってる命令じゃ(1つだけど)いつかは勝手に終わっちゃう…。
作りたいプログラムはウィンドウを自動で終了させるんじゃなくて
表示させたまま止まらせたいんだ。
そういう風には考えないかい?
ココはとりあえず「そうだ」と頷いておく。そうしないと話が進まないよ。
プログラムの処理を一時停止する命令がある(当然?)。
完全な停止じゃあない。
停止だと再開も出来ず終了以外ないよ。
…でその一時停止してくれる命令、その名は…
…とテレビ番組だとココでCMになるんだけど話をずらすのはいいとして
その命令は「stop」と呼ばれています。
次に実行すべき命令がstop命令だと、
下にプログラムがあってもソレを実行すると一時停止しちゃう。
一時停止ってことだから再開命令もあるんだよね?
いいえ…stopしたのを再開させるための命令というものはない…。
だからといって再開できないわけじゃあない。
なにかイベントが発生すると復活させられるというのがいくつかあるんだ。
ただまぁ…別命令になるしココでは説明しないんだけど。
現段階ではこのstop命令を実行させると、
右上の×ボタンを押さなきゃ待ってても何もないとだけいっておこう。
別に×ボタンじゃなくて他のを終わらせる時にやってるかもしれないけど、
タスクバーの起動したウィンドウを右クリックして「閉じる」を選んだり、
ウィンドウ一番上に表示されるタイトル(キャプション)バーの
左端のカップアイコンをクリックするメニューの「閉じる」を選んだり、
「Ctrl + Alt + Del」で出るタスクマネージャから終了させたり、
はたまた「Alt + F4」にしてみたりとソレは自由。
記述の仕方なんだけどコレもend命令と同じく、
stopとだけ書くというのがstop命令の書式となっているよ。
さぁそれでは君も実際に書いて実行してみよう。
stop
さっきのと同じ要領で上のように書けたかな?
実行したのが確認できたら手動で終わらせてネ。
はい〜このページは以上でおしまいだよ〜。
めちゃくちゃ簡単だったでしょ?
コレなら自分にもできるって自信が湧いてきたんじゃない?
HSPBCでのルールみたいなものを最後に書いておくからね。
他のコンテンツでも共通のことなんだけど、
ワードを色分けしてるよね?
同じワードでなんで色が違うの、となるので書いておく。
● HSP命令であってそれを説明する時に使う。
● プログラムで書かれている(一部を抜き出した)ときに使う。
● 重要なことが書かれていて目を惹かせるために使う。
またこのページでは実際の黒い画面をイメージして
黒い背景に白い文字でプログラムを書いてきたけど、
次のページからはこんな書き方はしないよ。
それとTABキーだけどページの幅の関係で
いつも入れられる余裕がないから半角スペース1つだけにするからね。
でも自分のhsed2.exeに書くときはきちんとTABキーを入れなきゃダメだよ。
この説明した所についてわかんない所があれば
技術掲示板で「●●の意味が分からん」と書いてくだされ。
もう1つの入門講座と同じ内容になっちゃったけど…いっか。