10
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

基準は本が出てない or 邦訳書が出てない ぐらいで

↑に書いてますが、HyperCardの本は日本語で沢山でてますし、全然マイナーじゃないですね・・・。Mac持っている人ならHyperCard誰でも知ってますし・・・。

HyperCardはMacで動作するハイパーテキスト作成ソフトウェア(と、http://kotobank.jp/word/HyperCard にかいてました。)です。HyperTalkという言語を使って、ゲームなんかもつくれます。

MacOS XではClassic環境が無いと動作せず、今僕が使っているMacOSX 10.9ではそのClassic環境は廃止されてて使えないという状況。旧Macも無かったので、仕方なくこちら↓のSuperCardを使うことにしました。有料ですが、トライアル版で使えるみたいです。ちょっと試すのならよいかも。

#Hello World
開発ツールのSuperEditを使って、カードにボタンを配置し、そこにスクリプトをかいてみます。

on mouseUp
  put "hello world!"
end mouseUp

Screen Shot 2013-12-15 at 11.25.09.png

HyperTalkはRubyと同じく、文末にセミコロンを入れる必要は無いです。 jQueryの「イベント」よろしく、ボタンでmouseUp(マウスのボタンが押されたら)されたら、on mouseUp ~ end mouseUpのスクリプトが実行される、という具合です。

実行する際はインストール時に一緒に入っていた「SuperCard」を使用します。

Screen Shot 2013-12-15 at 11.29.27.png

下になんか変なウインドウ(メッセージボックスといいます)がでて「HelloWorld」とでました。このメッセージボックスはRubyのirbっぽく、このボックスで入力したスクリプトはすぐ実行され、結果を返してくれます。
put というのは 代入先をしていすることで、変数に値を代入できます。先ほどのHello Worldだと

on mouseUp
  put "hello world!" into message
  put message
end mouseUp

と書けます。英語の様に読みやすくて素晴らしいですね!!

#数あてゲーム的なものを作ってみる

on mouseUp
  put random of 100 into n
  repeat 6
    ask "please input number(1-100)?"
    if it < n then
      answer "more than" && it
    else if it > n then
      answer "less than"  && it
    else  if it is n then
      answer "HIT!!! CONGRATULATIONS!!!"
    exit mouseUp
    end if
  end repeat
  answer "YOU LOSE. MY ANSWER IS" && n 
end mouseUp

名著「ハイパーカードでゲームを作ろう」のほぼ引用なのですが、簡単な数あてゲーム作りました。
説明しなくてもなんとなくどんな感じなのかわかると思います。 何度もいいますが、英語っぽくて解りやすいですね。

10
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?