ゲーム作りの基本
  がついたリンクは、ダウンロードして解凍後KAMETAMA.exeをダブルクリックするとLOGOの作品が実行されます。
構造化
KAMETAMAから起動する(外部発表)
最初に起動するメイン作品
メインから起動するサブ作品
起動と終了
シンプル画面で起動
プレゼンテーションモードで起動
得点を記録して終了
得点をファイルに保存する
保存した得点を読み込んで起動
 
提示
テキストを提示
グラフィック文字を提示
効果音を出す
音楽を出す
リンク機能で音・映像を出す(ブラウザ利用)
  カメを動かす  
ボタンで動かす(宝さがし)
キーで動かす(LOGOベーダ-)
ページ動作
起動したら動作
ページを替える(プレゼン)
 
スクロール
横スクロール(ナイトランナー)
縦スクロール(電車の運転席から風景)
 
イベント動作
カメにぶつかったら動作
指定したカメにぶつかったら動作
色の上に行ったら動作(座席決め)
ある位置に行ったら動作(気球)
アイテム
バリア
ミサイル発射(蜂とミサイル)
ミサイルの着弾
アイテムの更新
正解したらアイテムの獲得(何買った?)
アイテムの利用(分類)
  回答判定
文字入力で回答(人工知能)
画像を移動して判定
選択判定
選択判定
複数の選択判定
写真の上を選択判定
 
制限時間
時間が来たら終わり(カーレース)
音楽が終わったら終わり(英単語)
 
採点
得点表示(マグロ船)

迷路
線の上を向きを変えながらたどる(ゴキブリ)
 
落下運動
落下(鳥からボールの落下)
滑空(カメの鳥)
 



▲TOP
KAMETAMAから起動する(作品を発表するときのKAMETAMAを使う技術です)
 MENU.zip へのリンク 


 マイクワールドEXの作品をマイクロワールドEXがインストールされていないPCで起動するときは、KAMETAMAのフォルダに作品を入れ、KAMETAMAを起動すると、体験版マイクロワールドEXで作品が起動します。(体験版では作品を保存する機能は使えません)
KAMETAMAは、「KAMETAMA.exe」とMWEX(中身は体験版MWEX)フォルダから構成されています。「KAMETAMA.exe」をダブルクリックで起動すると、MWEXフォルダの中にある体験版マイクロワールドEXによって、「sturtup.mwx」が起動します。
 
  
KAMETAMAは、体験版のマイクロワールドEXで作品を開くためのソフトです。KAMETAMAのあるフォルダにマイクロワールドEXの作品が1つだけあると、すぐにその作品を開きます。複数の作品があるとメニューが開きます。ただし、複数の作品があっても、その中に半角文字で「 startup.」「st.自由な名前.」全角で「スタートアップ.」という名前の作品があった場合は、メニューを開かず起動します。また、これらの名前の優先順位は「 startup.」「st.自由な名前.」「スタートアップ.」の順です。
▲TOP



▲TOP
(KAMETAMAで)最初に起動するメイン作品
 startup.mwx へのリンク startup.zip へのリンク


startup.mwxが起動すると、メニューのページが提示されます。

小さな作品は、1つのファイルとして作成しますが、少し大きな作品になる場合は、1つのメインの作品と複数のサブの作品として作成します。
メインの作品には、メニューを置き、メニューからサブの作品に分岐し、サブの作品からメインの作品に戻るように記述します。
この例では、「startup.mwx」が最初に起動するメイン作品となっています。


作品「startup.mwx」は、メニューとなる作品です。
4つあるボタンの1つをクリックすると、それぞれのフォルダの中にある作品に分岐するようにしています。
分岐先の作品は、それぞれのフォルダに入っているので、「ディレクトリは」の命令を使ってディレクトリを変更してから、「作品を出す」で作品を起動しています。
「作品を出す」が実行されると、自分自身は保存されずに終了します。作品を作成中にうっかり実行すると、記述中のプログラムが消えてしまうので注意しましょう。
作品の保存は、フォルダごとに分けておくと、作品全体が把握しやすくなります。
この例のフォルダは、海老~西村の4名の作品をそれぞれのフォルダに入れています。
フォルダ「MWEX」の中には、体験版マイクロワールドEXが入っています。
  
作品をつくる人それぞれが自分の作品に責任をもってつくるには、自分の名前をつけたフォルダの中で作業するのが良いようです。
それぞれのフォルダの中の作品を完成させ、全体をまとめるようにメニューとなる作品を作っています。メニューとなる作品は、KAMETAMAから自動で起動できるように「 startup.」「st.自由な名前.」全角で「スタートアップ.」のいずれかにしておくと良いでしょう。
▲TOP



▲TOP
 分岐先から戻る作品
 科学を学ぼう.mwx へのリンク 科学を学ぼう.zip へのリンク


フォルダ「海老」の中にある作品「科学を学ぼう.mwx」は、終わると、「startup.mwx」に戻るように作っています。

分岐先の作品は、さらに分岐する場合もあるので、作品全体を把握しやすいように、フォルダごとにしています。

分岐から戻るときは、「ディレクトリは ”..」 と記述して、フォルダを変更してから、「作品を出す」を実行しています。
  
「戻る」という機能が無いので、「作品を出す」で指定した作品に戻っています。この方法では、必ず戻る作品名を指定しなくてはいけないので、戻る作品名は、いつも「startup.mwx」にすると決めておくと良いでしょう。
▲TOP



▲TOP
 シンプル画面で起動
 コマンドセンターやステータスバーを表示しないようにすると、シンプルな画面で起動できます。
 21.mwx へのリンク 21.zip へのリンク


「21.mwx」を起動すると、
ページだけのシンプルな画面になります。

※起動すると真っ白な画面になります。
  
「手順は スタートアップ」は、作品が開くとき、自動的に実行される手順です。この手順で、画面のモードを設定することで、シンプルな画面にしています。
▲TOP



▲TOP
 プレゼンテーションモードで起動
 プレゼンテーションモードにすると、ページの外側は全て黒になります。
元の画面に戻すには、外側の黒い部分をクリックするか、ESCボタンを押します。
 22.mwx へのリンク 22.zip へのリンク


「22.mwx」を起動すると、プレゼンテーションモードになります。
  
命令語として、「プレゼンテーション」を実行すると、プレゼンテーションモードになり、もう一度「プレゼンテーション」を実行すると、元の画面に戻ります。
「設定する」でプレゼンテーションモードにすると、続けて何回実行してもプレゼンテーションモードになります。
▲TOP



▲TOP
 得点を記録して終了
テキストボックスの中の文字は、作品を保存すると、そのまま保存されるので、作品を実行中の途中経過を保存する方法として利用できます。
 st.23.mwx へのリンク 23.zip へのリンク


「保存して終了」をクリックすると、ENDの画面が表示されます。
作品を保存する命令語は、「作品の保存」です。
作品を保存したら終わり・・・と見えるようにするために、終わりの画面だけの「end.mwx」を読み込み、終わりらしくしています。

 
  
「end.mwx」は、ページを開くときに「ページ→ページの切り替え効果」を設定しています。
▲TOP



▲TOP
 得点を記録して終了
テキストボックスの中の文字は、作品を保存すると、そのまま保存されるので、作品を実行中の途中経過を保存する方法として利用できます。
 24.mwx へのリンク 24.zip へのリンク




得点の保存ボタンをクリックすると、「得点」テキストボックスの文字をを「得点.txt」が作られて保存されます。
得点の読み込みボタンをクリックすると、「得点.txt」を読み込んで、「前回の得点」に表示します。
 
  
「得点.txt」を保存するには、上書きはできないので、保存する前に「得点.txt」を削除しています。
しかし、まだ「得点.txt」が作られていないの「得点.txt」を削除しようとするとエラーになってしまうので、「注意してやる」を使っています。
▲TOP



▲TOP
 保存した得点を読み込んで起動
作品が起動するとき、外部で設定した内容をよ読み込む方法です。
 25.mwx へのリンク 25.zip へのリンク


体験版のときは作品の書き方は見られますが、外部ファイルの入力、出力はできません。

 
  
作品を起動すると、自動的に実行される手順として、スタートアップがあります。スタートアップの手順でテキストを読み込むようにしておけば、作品の起動と同時にテキストが読み込まれます。
▲TOP



▲TOP
テキストを表示
テキストが1文字ずつ表示され、すべての文字が表示されると、「次」のボタンが出てきます。
 31.mwx へのリンク 31.zip へのリンク


1文字ずつ、文字が提示され、文字提示が終わると、「次」のボタンが表示されます。
 
  手順は startup
 注意してやる 「無くす "ボタン」 「」
絵だけ消す
設定する "テキスト2 "みえるか "うそ
 不透明 "テキスト2
 テキスト2は "
 せっていする "さくひん "プレゼンテーションモードか "ほんとう
 かめ1, クリックオン
 かめ2, クリックオン
 かめ3, クリックオン
かめ4, クリックオン
 テロップ
終わり
手順は 次
 かめ1, クリックオフ
 かめ2, クリックオフ
 かめ3, クリックオフ
 かめ4, クリックオフ
 さくひんをだす "打ち寄せる波
終わり
手順は テロップ
名前は "テロップ文 "|紀元前5000年,高度な文化をもった亀帝国があった。

亀帝国は,高度な文化と巨大なピラミッドをつくり,海に消えてしまった。

ある日,消えた亀帝国からの小ビンが流れ着いた。|
 テロップ2
終わり

手順は テロップ2
 名前は "1文字 最初 :テロップ文 名前は "テロップ文 最初以外 :テロップ文
 設定する "テキスト2 "みえるか "うそ
 不透明 "テキスト2
 テキスト2, 文末へ 書き入れる :1文字
 透明 "テキスト2
 設定する "テキスト2 "みえるか "ほんとう
 字のスタンプ "テキスト2
 もし 空か :テロップ文
 「
 絵だけ消す
 ボタン "ボタン 「194 -180」 「次」
 せっていする "ボタン "おおきさ 「100 40」
 止まる
 」
待つ 2
テロップ2
終わり












テキストは、不透明にしないと、文字の変更ができないので、最初は、不透明にしていおきます。しかし、不透明にすると枠が表示されてしまうので、表示しないでおきます。

文字列の”テロップ文 を1文字ずつ、取り出して、テキストを隠し、不透明のまま1文字入れて、文字を入れたら、テキストを透明にして、表示します。これを繰り返して1文字ずつ順に表示しますが、これだけだと、文字がちらちらします。そこで、1文字表示するたびに字を背景にスタンプしています。



「次」のボタンをクリックすると、次のステージとなる作品を起動します。

  
作品を起動すると、自動的に実行される手順として、スタートアップがあります。スタートアップの手順で初期設定をしています。
表示する文字を変更するには、テロップの手順の中のテロップ文を変更します。
▲TOP



▲TOP
グラフィック文字を提示
説明文やHELPの文をグラフィックで提示する方法です。
 32.mwx へのリンク 32.zip へのリンク


をクリックすると、グラフィック文字が提示されます。グラフィック文字をクリックすると、消えます。
     手順は 使い方
仮の名前は 「X 横の位置」
仮の名前は 「Y 縦の位置」
HELP、 位置は リスト :X - 180 :Y - 50 
出てくる
終わり
  
文字をペイントツールなどで、グラフィックとして作って使うと、文字化けの心配がなくなります。
文字の修正は、再度作り直しになってしまいますが、その代わりに改造されにくい作品になります。
▲TOP



▲TOP
効果音を出す
ボールが壁にぶつかるとポンッと音がし、ラケットにボールがぶつかると、ボンッと音がします。
ラケットは、矢印キーで上下左右に動かせます。
 33.mwx へのリンク 33.zip へのリンク


緑色の「開始」をクリックすると、ボールが動き始めます。矢印キーを押すと茶色のラケットを動かせます。壁、ラケットにぶつかると音がします。終えるときは、赤色の「終」をクリックします。
    
手順は 開始
 無限に 「ポン」
終わり
手順は 終了
 取り消す 「ポン」
終わり
手順は ポン
玉、
 もし ぶつかったか "玉 "ラケット
 「
 向きは 160 - 向き + 乱数 40
 音 前へ 10
 」
 前へ 1
 打つ
終わり
手順は 打つ
 もし キーを押したか

  仮の名前は 「キー 受けた字」
もし (アスキー :キー) = 37
「頼む "ラケット 「向きは 270 前へ 10」」
もし (アスキー :キー) = 38
「頼む "ラケット 「向きは 0 前へ 10」」
もし (アスキー :キー) = 39
「頼む "ラケット 「向きは 90 前へ 10」」
もし (アスキー :キー) = 40
「頼む "ラケット 「向きは 180 前へ 10」」
 」
終わり
手順は 音
はじめる 「drum」
終わり
手順は 音2
はじめる 「openb」
終わり 
  
開始、終了ボタンを色で作成しています。これは、キーボードの操作を「受けた字」で受け取るためです。
普通にボタンを使って、開始して、矢印キーを操作したときは、キーを押すと、手順にあるカーソルが移動するだけで受けた字でキーの操作を受け取れないときがあります。
▲TOP



▲TOP
音楽を流す
作品が起動するとき、外部で設定した内容をよ読み込む方法です。
 34.mwx へのリンク 34.zip へのリンク


開始ボタンをクリックすると、音楽が流れて歩き始めます。音楽が終わると、しゃがんで止まります。
 
 
  

手順は 開始
はじめる 「ants 止」
無限に 「歩く」
終わり
手順は 歩く
形は 1 待つ 1
形は 2 前へ 15 待つ 2
形は 3 前へ 20 待つ 3
終わり
手順は 止
形は 4 取り消す 「歩く」
終わり
  
音楽が流れている間も動くためには、「はじめる」を使うとよいでしょう。はじめるを使うと、ボタンは押されたままになり、もう一度ボタンをクリックして、止めることができます。
▲TOP



▲TOP
音楽を流す
音楽、動画など、ブラウザで再生できるものを再生する方法です。
 35.mwx へのリンク 35.zip へのリンク


「一覧作成」をクリックして、一覧に表示されたファイルをドラッグして選択し、「再生」をクリックすると再生されます。
 
 


 ハイパーリンクを貼り付け、名前を「ブラウザ」にしています。
 手順は 一覧作成
注意してやる 「ディレクトリは ”DATA」「」
一覧、 字を消す
名前は "拡張子 "mid
名前は "楽曲集 ファイル名 :拡張子
リスト作成 :拡張子
名前は "拡張子 "mp3
名前は "楽曲集 ファイル名 :拡張子
リスト作成 :拡張子
ディレクトリは "..
終わり
手順は リスト作成 :拡張子
注意してやる
 「フォントのサイズは 14 書く (ワード 最初 :楽曲集 ”. :拡張子)」「」
 注意してやる
 「名前は "楽曲集 最初以外 :楽曲集」「」
 もし 空か :楽曲集 「止まる」
 リスト作成 :拡張子
終わり
手順は 再生
 もし 空か 選んだもの 「メッセージを出す "曲を選択してください 止まる」
 ディレクトリは "DATA
 設定する "ブラウザ  "アドレス ワード カレントディレクトリ 選んだもの ブラウザ
終わり



再生したいファイルの拡張子を追加すれば、動画など、ブラウザで再生できるものが再生できます。
  
ファイルのインポートで指定できないファイルを作成す方法としてハイパーリンクの機能を使いました。
再生するごとにブラウザが開いたままになるので、再生が終わったらブラウザを閉じます。
▲TOP



▲TOP
ボタンで動かす
ボタンをクリックして、人物を上下左右の方向に歩かせます。
壺にぶつかると、壺の中身がゴミだと減点、宝物だと加点されます。
 41.mwx へのリンク 41.zip へのリンク


緑色の「開始」をクリックすると、ボールが動き始めます。矢印キーを押すと茶色のラケットを動かせます。壁、ラケットにぶつかると音がします。終えるときは、赤色の「終」をクリックします。
 
手順は はじまり
はじめる 「ants やめる」
登場人物, 絵を消す 得点は 0
形番号は 4 歩数は 15 向きは 180
クリックオン 位置は 「0 50」
終わり
手順は やめる
みんなとまる
終わり
手順は 北
 登場人物、 向きは 0 形番号は 10 歩数は 15
終わり
手順は 東
 登場人物、 向きは 90 形番号は 1 歩数は 15
終わり
手順は 南
 登場人物、 向きは 180 形番号は 4 歩数は 15
終わり 
手順は 西
 登場人物、 向きは 270 形番号は 7 歩数は 15
終わり

手順は 宝探し
 もし 歩数 > 0
「登場人物、
 形は 形番号 待つ 2
形は 形番号 + 1 前へ 歩数 はじめる 「stamper」
 形は 形番号 待つ 2
 形は 形番号 + 2 前へ 歩数 はじめる 「stamper」
 」
終わり
手順は ゴミ
頼む "登場人物 「クリックオフ」
スタンプ 形は 2  bear 頼む "登場人物 「クリックオン」
得点は 得点 - 10 待つ 5 形は 1
位置は リスト 乱数 400 - 200 乱数 300 - 150
終わり
手順は 宝物
頼む "登場人物 「クリックオフ」
スタンプ 形は 2  grow 頼む "登場人物 「クリックオン」
得点は 得点 + 10 待つ 5 形は 1
位置は リスト 乱数 400 - 200 乱数 300 - 150
終わり
手順は 壁で止まる
 登場人物, 歩数は 0
終わり
  
開始、終了ボタンを色で作成しています。これは、キーボードの操作を「受けた字」で受け取るためです。
普通にボタンを使って、開始して、矢印キーを操作したときは、キーを押すと、手順にあるカーソルが移動するだけで受けた字でキーの操作を受け取れないときがあります。
▲TOP



▲TOP
キーで動かす
矢印キーで砲台を左右に動かし、スペースキーでミサイルを発射します。キーボードで操縦する方法です。
 42.mwx へのリンク 42.zip へのリンク


STARTをクリックすると、ゲームがスタートします。
 
手順は スタートアップ
名前は ”旗 0
配置
テキスト1は "亀べーダー
終わり
---ゲームの開始---
//絵のSTARTをクリックすることでフォーカスを取る
手順は ゲーム開始
 もし :旗 > 0 「名前は ”旗 0 みんなとまる」
 配置
 無限に 「横移動」
 名前は ”旗 1
砲台, クリックオン
終わり
---UFOを配置・初期設定---
手順は 配置
テキスト1は 0
絵を消す
頼む "CLEAR亀 「隠れる」
頼む "ゲーム終了亀 「隠れる」
頼む "破壊亀 「隠れる」
頼む "ミサイル 「 ミサイル移動」
UFOの数は 0
発射位置は "
発射中は 0
砲台, 形は 1 位置は 「15 -232」
要塞, 出てくる 
位置は 「-220 -140」 スタンプ
位置は 「-60 -140」 スタンプ
位置は 「100 -140」 スタンプ
位置は 「260 -140」 スタンプ
隠れる
名前は "縦数 -1
繰り返す 5

名前は "縦数 :縦数 + 1
名前は "横数 0
繰り返す 10

名前は "横数 :横数 + 1
頼む  ワード "かめ  :横数 + (:縦数 * 10)
「UFOの数は UFOの数 + 1 出てくる UFOは 1 形は 1 向きは 90 位置は リスト :横数 * 60 - 300 :縦数 * 40」


終わり
---キーボードで操縦---
手順は 操縦
仮の名前は 「キー 受けた字」
もし (アスキー :キー) = 39 「右」
もし (アスキー :キー) = 37 「左」
もし (アスキー :キー) = 32 「発射」
もし (アスキー :キー) = 16513 「発射」
終わり

---それぞれのキーでの動き---
手順は 右
位置は リスト (最初 位置) + 10 最後 位置  
終わり
手順は 左
位置は リスト (最初 位置) - 10 最後 位置 
終わり
---砲台からミサイルの発射---
手順は 発射
もし 発射中 = 0

名前は "発射位置 位置
頼む "玉 「出てくる 位置は :発射位置 クリックオン」
発射中は 1

終わり
---UFOの移動---
手順は 横移動
もし ぶつかったか "ミサイル "砲台 「ゲームオーバー」
もし 発射位置 = "

名前は "攻撃亀 ワード  "かめ (1 + 乱数 50)
発射位置は 頼む :攻撃亀 「位置」
もし はんたい 頼む :攻撃亀 「形 = 3」 「頼む "ミサイル 「発射」」

名前は "縦数 -1
繰り返す 5

名前は "縦数 :縦数 + 1
名前は "横数 0
繰り返す 10

名前は "横数 :横数 + 1
名前は "UFO亀 ワード "かめ  :横数 + (:縦数 * 10)
頼む  :UFO亀
 「
 もしどちらかを UFO = 1
 「
 向きは 90 前へ 4 もしどちらかを 形 = 2 「形は 1」「形は 2」
もし 横の位置 > 360 「位置は リスト 横の位置 + 10 縦の位置 - 40」
 頼む "音亀  「クリックオン」
もし ぶつかったか :UFO亀 "砲台 「ゲームオーバー」
 」
 「
 STOP
 」
 」


終わり
---UFOに玉が当たったときの処理---
手順は 爆発
もし UFO = 1 

UFOの数は UFOの数 - 1
UFOは 0
形は 3
待つ 1
隠れる
テキスト1は テキスト1 + 10
頼む "玉 「隠れる」
名前は "元亀 今のカメ
頼む "boon亀 「クリックオン」
もし UFOの数 < 1 「CLEAR」

終わり
手順は 破壊
名前は "破壊位置 位置
頼む "破壊亀 「出てくる 位置は :破壊位置 スタンプ 隠れる」
終わり

手順は 爆撃
もし ぶつかったかめ = "砲台 「ゲームオーバー」
終わり
手順は ゲームオーバー
頼む "砲台 「形は 2」
頼む "boon亀 「クリックオン」
待つ 5
ゲーム終了亀、 出てくる
みんなとまる
終わり
手順は CLEAR
CLEAR亀、 出てくる
みんなとまる
終わり



スタートアップを使って、起動時に初期化しています。








































押したキーをアスキーで判定している。

→ 39
← 37
半角スペース  32
全角スペース  16513

  
カメをUFOにして、UFOゲームを作ってみました。たったこれだけのプログラム量で、動くのは、立派?
第二ステージを作ったら、CLEARの手順で、「作品を出す」で続けるようにすればよいでしょう。
▲TOP



▲TOP
起動したら動作
作品が開いたら、自動で実行する方法です。
 51.mwx へのリンク 51.zip へのリンク


作品が開くと、自動的に蜂が飛び始めます。
 
手順は スタートアップ
クリックオン
終わり
 
 
  
作品を起動すると、自動的に実行される手順として、スタートアップがあります。スタートアップの手順は、作品が開かれたとき自動的に実行される特別な手順です。
▲TOP



▲TOP
ページを替える
数枚のページを作り、ページを切り替える作品です。
 52.mwx へのリンク 52.zip へのリンク


写真をマウスで選択し、クリックすると、そのページに替わります。ページの名前がそのまま、そのページを開く命令になります。
 
 






新しいページを2ページ追加し、ページの名前を「カントウタンポポ」「セイヨウタンポポ」にします。






左の写真をクリックすると、
カントウタンポポのページが開きます。
 
最初にページに戻るには、「戻る」のボタンをクリックします。
 
手順は 戻る
ページ1
終わり 

 
 
1つの問題と2つの解答のページでできた簡単な作品です。複数の問題を作るときは、たくさんページを作るのではなく、別の作品として作り、「作品を出す」でつないだ方が良いでしょう。
たくさんのページを作るような作品は、DOOMのように迷路の中を歩き回るような作品を作るときでしょう。
▲TOP



▲TOP
横スクロール
画面が横に移動する作品を作ります。
 61.mwx へのリンク 61.zip へのリンク


STARTをクリックすると、夜景が左から右へ動き出します。コインにぶつかると加点されます。コウモリと犬がやってきますが、人とぶつかると減点されます。ぶつからないようにJUMP、ROLL、DOWNをクリックします。音楽が終わると、ゲーム終了です。
 

 

 
手順は START
名前は ”速度 5
無限に 「jazz  名前は ”速度 0 人、 形は 12 はじめる「sleep」  待つ 30 形は 11 みんなとまる」
得点は 0
夜景、 無限に 「夜景が動く」
人、 無限に 「走る」
コイン、 クリックオン
コウモリ、 クリックオン
イヌ、 クリックオン
終わり

手順は JUMP
CPは 1
終わり
手順は ROLL
CPは 2
終わり
手順は DOWN
CPは 3
終わり

手順は 走る
形は 1 待つ 2
形は 2 待つ 2
もし CP = 1 「前へ 150 形は 3 待つ 2 形は 2 待つ 13 後ろへ 150 CPは 0」
もし CP = 2 「形は 5 待つ 10 形は 6 待つ 2 形は 7 待つ 2 形は 8 待つ 2 CPは 0」
もし CP = 3 「形は 9 待つ 4 形は 10 待つ 2 形は 11 待つ 2 形は 12 待つ 2 CPは 0」
形は 3 待つ 2
形は 4 待つ 2
終わり
手順は 夜景が動く
前へ :速度
待つ 1
終わり

手順は ジャンプ
人、
形は 5 待つ 1
形は 6 待つ 1
終わり
手順は 加点
はじめる 「wand」
得点は 得点 + 100
終わり
手順は 減点 :TEN
はじめる 「angry」
得点は 得点 - :TEN
終わり 

 横にスクロールする画面は、ページサイズの2倍の大きさで作ります。

 つながりが自然になるように左端の絵と右端の絵を同じ高さでそろえます。

  
コウモリ、犬、コインとの衝突判定は、カメの中にある追加設定の衝突命令で行っています。
命令のカメの形をページサイズの2倍で作ると、スクロールしたときに自然につながるようです。
▲TOP



▲TOP
縦スクロール
カメが上から下へ動き、列車が動いているに見えます。
 62.mwx へのリンク 62.zip へのリンク


「発車」をクリックすると、音楽が始まり、景色が放射状に動いて、電車が前に進むように見えます。
 
手順は 初期化
仮の名前は 「L 0」
それぞれをやる 「i 「かめ1 かめ2 かめ3 かめ4 かめ5」」
「かめは :i 向きは どれか「150 210」 位置は 「0 200」 大きさは 5
仮の名前は 「L :L + 60」 前へ :L 前へ出す」
パネル、 前へ出す
終わり
手順は リセット
形は 1 + 乱数 3
向きは どれか「140 220」 位置は 「0 200」 大きさは 5
終わり
手順は 発車
初期化
無限に 「jazz」
無限に 「それぞれをやる 「i 「かめ1 かめ2 かめ3 かめ4 かめ5」」
  「かめは :i 遠近法」」
終わり
手順は 遠近法
頼む ”パネル 「向きは 乱数 360 前へ 3 後ろへ 3」
前へ 大きさ / 10 大きさは (250 - 縦の位置) / 5
終わり
 
 
  
車窓をカメで作り、窓から見える動く景色は、カメが動いて作っています。カメの景色は、遠くのときは最小の5で、近づきながら大きくしています。
▲TOP



▲TOP
カメにぶつかったら動作
カメが動き回り、いろいろなカメにぶつかったときの処理を行います。
 71.mwx へのリンク 71.zip へのリンク


開始ボタンをクリックすると、カメが動き回り、ケーキ、ハンバーガー、ゴングとぶつかったら、ぶつかった相手の名前と賞金を表示します。
追加設定の衝突命令を使うと、どのカメとぶつかったがわかる「ぶつかったかめ」が使えて便利ですが、追加設定の衝突命令は、カメの中のプログラムだけで動作させます。つまり、ぶつけるカメは、カメの中に動くプログラムを書き、クリックオンで動かします。ぶつかったときの判定は、カメの中にある衝突命令の欄だけで完結させます。
 







  景品は ぶつかったかめ 頼む ぶつかったかめ [クリックオン]
 
手順は 開始
はじめる「jig みんなとまる」
賞金は 0
全部「形は 1」
かめ1、 形は 0 クリックオン
終わり
手順は 発進
かめ1、 前へ 1 右へ 乱数 5 左へ 乱数 5
終わり
手順は 衝突判定
相手は ぶつかったかめ
終わり
手順は 音1
はじめる「bigger」
終わり
手順は 音2
はじめる「eat2」
終わり
手順は 音3
はじめる「angry」
終わり
  
「ぶつかったかめ」使うと、どのカメにぶつかったときでもぶつかった相手のカメがわかるので便利です。しかし、カメの外の手順にプログラムするとフリーズするので、注意が必要です。
▲TOP



▲TOP
指定したカメにぶつかったら動作
カメを発射して、★のカメにぶつかったときにメッセージを出します。
 72.mwx へのリンク 72.zip へのリンク


カメの位置を変えたり、向きを変えたりした後で、発射ボタンをクリックすると、カメが発射されます。★のカメにぶつかると「やったー」となり、地面に落ちてしまうと「残念・・・」とメッセージが出ます。
 
  手順は 発射
かめ1、
前へ 発射速度
落下速度は 落下速度 + 落下加速度 * 0.01
縦の位置は 縦の位置 - 落下速度
もし ぶつかったか 今のカメ ”★ 「メッセージを出す ”やったー みんなとまる」
待つ 1
終わり
手順は 着地
メッセージを出す ”残念・・・
みんなとまる
終わり
手順は 初期化
かめ1、
位置は 「-308 -195」
発射速度は 10
落下速度は 0
落下加速度は 9
向きは 45
終わり

 
  
ぶつかるカメがわかっていて、数が少ないときの判定方法です。カメの中の追加設定の衝突命令より安全な方法で、複数の手順を組み合わせてもフリーズすることがないようです。
▲TOP



▲TOP
色の上に行ったら動作
カメが色の上に行くと、色に応じた処理を行うプログラムです。
 73.mwx へのリンク 73.zip へのリンク


開始ボタンをクリックすると、数字が動き回り、色のついた席で止まります。同じ席には、1つの数字しか止まりません。
色の上に数字が来た時の判定は、色への命令のカメで行っています。
 
 
  to 開始
syokika
everyone [setpos [0 -150]]
everyone [clickon]
end
to 停止
stopall
end
----- 実行前の変数初期化処理 -----
/*座席が埋っているかの旗*/
to syokika
make "r1 0
make "r2 0
make "r3 0
make "r4 0
make "r5 0
make "g1 0
make "g2 0
make "g3 0
make "g4 0
make "g5 0
make "s1 0
make "s2 0
make "s3 0
make "s4 0
make "s5 0
make "b1 0
make "b2 0
make "b3 0
make "b4 0
make "b5 0
end

/*生徒が歩く*/
to aruku
fd 1
right random 5 left random 5
end
----- 色衝突のイベント処理 -----
/*赤列のチェック*/
to Riika
if not colorunder = color [
if 119 < last pos [if 141 > last pos [Rseki1]]
if 79 < last pos [if 101 > last pos [Rseki2]]
if 39 < last pos [if 61 > last pos [Rseki3]]
if -1 < last pos [if 21 > last pos [Rseki4]]
if -41 < last pos [if -21 > last pos [Rseki5]]
]
end
to Rseki1
if :r1 = 0 [clickoff make "r1 1]
end
to Rseki2
if :r2 = 0 [clickoff make "r2 1]
end
to Rseki3
if :r3 = 0 [clickoff make "r3 1]
end
to Rseki4
if :r4 = 0 [clickoff make "r4 1]
end
to Rseki5
if :r5 = 0 [clickoff make "r5 1]
end

/*緑列のチェック*/
to Giika
if not colorunder = color [
if 119 < last pos [if 141 > last pos [Gseki1]]
if 79 < last pos [if 101 > last pos [Gseki2]]
if 39 < last pos [if 61 > last pos [Gseki3]]
if -1 < last pos [if 21 > last pos [Gseki4]]
if -41 < last pos [if -21 > last pos [Gseki5]]
]
end
to Gseki1
if :g1 = 0 [clickoff make "g1 1]
end
to Gseki2
if :g2 = 0 [clickoff make "g2 1]
end
to Gseki3
if :g3 = 0 [clickoff make "g3 1]
end
to Gseki4
if :g4 = 0 [clickoff make "g4 1]
end
to Gseki5
if :g5 = 0 [clickoff make "g5 1]
end

/*水列のチェック*/
to Siika
if not colorunder = color [
if 119 < last pos [if 141 > last pos [Sseki1]]
if 79 < last pos [if 101 > last pos [Sseki2]]
if 39 < last pos [if 61 > last pos [Sseki3]]
if -1 < last pos [if 21 > last pos [Sseki4]]
if -41 < last pos [if -21 > last pos [Sseki5]]
]
end
to Sseki1
if :s1 = 0 [clickoff make "s1 1]
end
to Sseki2
if :s2 = 0 [clickoff make "s2 1]
end
to Sseki3
if :s3 = 0 [clickoff make "s3 1]
end
to Sseki4
if :s4 = 0 [clickoff make "s4 1]
end
to Sseki5
if :s5 = 0 [clickoff make "s5 1]
end

/*青列のチェック*/
to Biika
if not colorunder = color [
if 119 < last pos [if 141 > last pos [Bseki1]]
if 79 < last pos [if 101 > last pos [Bseki2]]
if 39 < last pos [if 61 > last pos [Bseki3]]
if -1 < last pos [if 21 > last pos [Bseki4]]
if -41 < last pos [if -21 > last pos [Bseki5]]
]
end
to Bseki1
if :b1 = 0 [clickoff make "b1 1]
end
to Bseki2
if :b2 = 0 [clickoff make "b2 1]
end
to Bseki3
if :b3 = 0 [clickoff make "b3 1]
end
to Bseki4
if :b4 = 0 [clickoff make "b4 1]
end
to Bseki5
if :b5 = 0 [clickoff make "b5 1]
end 

 
  
色のプロパティーは無いので、代わりにr1からb5までの旗となる変数を作って、同じ色の上に数字が止まらないようにしています。
▲TOP



▲TOP
ある位置に行ったら動作
カメがある高さまで移動すると変化するプログラムです。
 74.mwx へのリンク 74.zip へのリンク


発射ボタンをクリックすると、気球が上がっていき、高さが変かすると、大きさが変化します。
 
 
  手順は 初期化
位置は 「0 -200」
形は 1
終わり
手順は 発射
もしどちらかを 縦の位置 < 200
「横の位置は 横の位置 + 乱数 3
前へ 1 / 2 形は 1 + (200 + 縦の位置) / 70 待つ 0.1 発射」
「形は 8 落下 0」
終わり
手順は 落下 :速度
もしどちらかを 縦の位置 > -200
「後ろへ :速度 待つ 0.1 落下 :速度 + 0.1」
「みんなとまる」
終わり
気球は、上昇しながらふくらむので、大きさの違う気球をカメの形として作って使います。
  
ページの中心が座標の中心になっています。ページの上が200なら、ページの下は-200になります。
▲TOP



▲TOP
バリア
キャラクターの周りにバリアを作ります。
 81.mwx へのリンク 81.zip へのリンク


バリアボタンをクリックすると、怪獣の周りにバリアができ、発射します。
  
  手順は バリア
繰り返す 5 「形は 1 待つ 1 形は 3 待つ 1」
形は 4
はじめる 「bear 形は 5 待つ 20 形は 1」
終わり
 
怪獣の周りにバリアを描いた形を作って、切り替えて表示します。
  
画像の変化を計算して表示する方法に比べ、画像を切り替えるだけの手法は、簡単です。
▲TOP



▲TOP
ミサイル発射
スペースキーでミサイルを発射します。
 82.mwx へのリンク 82.zip へのリンク


スタートをクリックすると、ゲームがスタートします。←→キーで砲台を左右に動かしながら、スペースキーでミサイルを発射します。音楽が終わるとゲーム終了です。
 
  手順は スタートアップ
得点は "|←→キーで砲台移動 スペースでミサイル発射|
終わり
手順は ゲーム開始
 初期化
カメは「かめ1 かめ2 かめ3 かめ4 かめ5」
 出てくる クリックオン
 始める「fall」
 発射台, クリックオン
 始める「rimski 終了」
終わり
手順は 終了
 もしどちらかを 得点 > 70
 「得点は "|やったね!!!|」
  「もしどちらかを 得点 > 50
   「得点は "|もう少しでした|」
   「もしどちらかを 得点 > 30
  「得点は "|残念でした・・・|」
    「得点は "|あなたの負けです。|」」」
 みんなとまる
終わり
手順は 初期化
 ミサイル, 隠れる 
 発射台, かたちは "発射台
 得点は 0 
終わり
手順は 砲台操作
もし キーを押したか
「名前は "X 最初 位置
名前は "Y 最後 位置
名前は "キー 受けた字
もし (アスキー :キー) = 37
「位置は リスト :X - 10 :Y」
もし (アスキー :キー) = 39
「位置は リスト :X + 10 :Y」
もし (アスキー :キー) = 32
「たのむ "ミサイル 「クリックオン」」
もし (アスキー :キー) = 16513
「たのむ "ミサイル 「クリックオン」」

終わり
手順は 発射
 はじめる 「decel」
 たのむ "発射台 「かたちは 2」
位置は 発射台の "位置
 出てくる
 すべる 350 1
 隠れる
 たのむ "発射台 「かたちは 1」
 位置は 発射台の "位置
終わり
スペースキーを押すと、ミサイルの中に書かれた「発射」で「手順は 発射」が実行される。「発射」でミサイルのカメを350ドット前に進める。
  
カメの中から命令を実行させるとことで、並列処理(スレッド処理)にして、プログラムの実行が止まらないようにしています。
▲TOP



▲TOP
ミサイルの着弾
どんなカメに着弾して利用できる追加設定で「ぶつかったかめ」を使ったプログラムです。
 83.mwx へのリンク 83.zip へのリンク


発射ボタンをクリックすると、ミサイルが発射され、怪獣に着弾すると怪獣が変わります。怪獣を増やしても、どの怪獣でも反応するプログラムです。
 
  手順は 発射
ミサイル、 クリックオン
終わり
手順は 点火
始める「decel」
位置は 頼む "シャトル 「位置」
向きは 90
出てくる
繰り返す 20
「形は 2 前へ 10 待つ 0.3 形は 1 前へ 10 待つ 0.3」
隠れる
終わり
手順は 命中
たのむ ぶつかったかめ 「クリックオン」
終わり
  ミサイルの中にある追加設定の中で衝突命令を使っています。
衝突命令を使うときのカメは、クリックオンで実行されなければいけません。それ以外の手順を呼んで、衝突命令を実行すると、フリーズするか、編集ができなくなります。

ここでは、ミサイルが発射される手順は、ミサイルをクリックオンで実行されています。
着弾処理もクリックオンで実行しています。
  
追加設定の衝突命令は、利用で注意が必要ですが、「ぶつかったかめ」が使えるので、いろいろなカメとの衝突処理に使えて便利です。
▲TOP



▲TOP
アイテムの獲得・削除
アイテムパを獲得したり、無くしたりするプログラムです。
 91.mwx へのリンク 91.zip へのリンク


白黒のハンバーガーをクリックするとカラーになり、パンの数字が1から2になります。同じようにケーキ、アイスをクリックして白黒からカラーに変えられます。獲得した状態は、保存をクリックすると、作品として保存されます。(体験版のときは作品の書き方は見られますが、保存はできません。)
  手順は アイテムA
もしどちらかを 形 > 1 
 「形は 1 パンは ”買った」「形は 2 パンは ”無し」
終わり
手順は アイテムB
もしどちらかを 形 > 1
 「形は 1 ケーキは ”買った」「形は 2 ケーキは ”無し」
終わり
手順は アイテムC
もしどちらかを 形 > 1
 「形は 1 アイスは ”買った」「形は 2 アイスは ”無し」
終わり
手順は 保存
作品の保存
終わり
 
  
アイテムを選択したかどうかは、形の番号で判定しています。
プログラムの作りがわかりやすようにテキストを表示していますが、実際の利用では見えない状態で利用してもよいでしょう。
▲TOP



▲TOP
アイテムによる分岐
作品が起動するとき、外部で設定した内容をよ読み込む方法です。
 92.mwx へのリンク 92.zip へのリンク


花と葉を選んで、次をクリックすると、ページが替わります。
 
   手順は アブラナ
名前は "花弁 4
4枚、 形は 1
5枚、 形は 2
6枚、 形は 2
終わり
手順は サクラ
名前は "花弁 5
4枚、 形は 2
5枚、 形は 1
6枚、 形は 2
終わり
手順は チューリップ
名前は "花弁 6
4枚、 形は 2
5枚、 形は 2
6枚、 形は 1
終わり
手順は 網状
名前は "葉 1
網状脈、 形は 1
平行脈、 形は 2
終わり
手順は 平行
名前は "葉 2
網状脈、 形は 2
平行脈、 形は 1
終わり
手順は 次
4枚、 もし 形 = 1 「花弁4」
5枚、 もし 形 = 1 「花弁5」
6枚、 もし 形 = 1 「花弁36」
終わり
手順は 花弁4
網状脈、 もし 形 = 1 「アブラナなど」
平行脈、 もし 形 = 1 「メッセージを出す "そのような植物はありません。」
終わり
手順は 花弁5
網状脈、 もし 形 = 1 「サクラなど」
平行脈、 もし 形 = 1 「メッセージを出す "そのような植物はありません。」
終わり
手順は 花弁36
網状脈、 もし 形 = 1 「メッセージを出す "そのような植物はありません。」
平行脈、 もし 形 = 1 「チューリップなど」
終わり
 
  
3個と2個を選ぶので、選択した種類は、3×2=6となり、6通りの手順が必要になります。
▲TOP



▲TOP
文字入力で回答
文字入力を求め、回答したら、回答に応じて返事するプログラムです。
 A1.mwx へのリンク A1.zip へのリンク


ロボットに文字を入力して赤いボタンをクリックすると返事をします。ロボットが知らない言葉を入力すると、質問してくるので、回答すると、次からは、入力で答えます。
 
手順は 情報検索
仮の名前は 「調査 (ワード ”/ 入力 ”/)」
知識、 文頭へ
さがす :調査
もしどちらかを 見つけたか
「行頭へ 選ばない 選ぶ 行末へ 返事は 選んだもの 削除作業 :調査
メッセージを出す 返事」
「質問 入力
文末へ 書く " 書き入れる ワード :調査 (ワード "/ 答え "/)」
終わり
手順は 削除作業 :A
返事、
行頭へ 探す :A
もし 反対 見つけたか 「止まる」
切り取る
返事は 最初以外 返事
返事は 最後以外 返事
削除作業 :A
おわり 
 
  
英語を日本語、日本語を英語に変換のように使うこともできます。言葉に空白が入っても適切に処理できるようにしています。
▲TOP



▲TOP
画像を移動して答える
将棋の駒を動かすように写真を正しい位置に動かして答えるプログラムです。
 A2.mwx へのリンク A2.zip へのリンク


カモメの一部の写真を正しい位置に動かして、答えます。
  手順は 正解位置の記憶
黒板は 「出題ボタンをクリックしてください。」
全部「よこは 横の位置 たては 縦の位置」
終わり
手順は 出題
黒板は 「絵を正しい位置に動かしなさい。」
全部「位置は 「0 0」 向きは 乱数 360 前へ 100 + 乱数 100」
終わり
手順は 採点
黒板は "正解です。
全部「もし (絶対値 (よこ - 横の位置)) > 10
 「黒板は "ちがいます」 
もし (絶対値 (たて - 縦の位置)) > 10
 「黒板は "ちがいます」」
終わり
  
カメに写真を載せ、カメを正しい位置に動かし、「採点」ボタンをクリックすると、正解の位置と10ドット以内の近くにあると正解となります。
▲TOP



▲TOP
選択判定
選択問題です。
 B1.mwx へのリンク B1.zip へのリンク


問題を見て、選択肢を選んでクリックして答えます。正解すると次のステージに進めます。
 
手順は ゴキブリ
メッセージを出す 「ゴキブリの仲間ですが、ちがいます。」
終わり
手順は カマキリ
メッセージを出す 「正解です。」 正解
終わり
手順は クモ
メッセージを出す 「違います。」
終わり
手順は 正解
メッセージを出す 「次に進みましょう。」
作品を出す ”第二ステージ
終わり 
 
  
作品を起動すると、自動的に実行される手順として、スタートアップがあります。スタートアップの手順でテキストを読み込むようにしておけば、作品の起動と同時にテキストが読み込まれます。
▲TOP



▲TOP
複数選択判定
複数の問題で、何問か答えれば次に進めるプログラムです。
 B2.mwx へのリンク B2.zip へのリンク


問題が3問あり、そのうち2問に正解できると、次のステージに進めます。
  手順は スタートアップ
全部「形は 1」
正解の数は 0
名前は "元の位置 「0 0」
終わり
手順は 問
もし 形 < 3
「もし 形 = 1 「名前は "元の位置 位置」
位置は 「0 0」 前へ出す
形は 2 待つ 10
質問 「これは何ですか?」 位置は :元の位置 形は 1
もし 反対 空か 答え
「もしどちらかを あるか 答え 今のカメ
「形は 3 メッセージをだす 「正解です」 正解の数は 正解の数 + 1 判定」
「形は 1 メッセージをだす 「残念」」」」
終わり
手順は 判定
もし 正解の数 > 1 「メッセージを出す 「合格しました。次に進ましょう。」 作品を出す "第二ステージ」
終わり
 
 
  
箱の形をしたカメの名前を正解判定に使うことで、一つの「手順は 問」を使って、複数の問題に対応しています。
▲TOP



▲TOP
写真の上を選択判定
写真の上でマウスをクリックして、どこをクリックしたか判定する(ホットポイント)プログラムです。
 B3.mwx へのリンク B3.zip へのリンク


 <正答位置の入力>
・「解答位置入力」をクリックし、正答となる画面の位置でクリックする。終わったら、もう一度「解答位置入力」をクリックする。

<解答の仕方>
・写真の上をクリックする。
  手順は スタートアップ
点、 無限に「位置は マウスの位置」
終わり
手順は 判定
名前は ”カメの位置 位置
判定カメ、
 位置は :カメの位置 名前は ”判定色 下の色
 名前は ”正答色 色
点、 採点 :判定色 :正答色
終わり
手順は 採点 :A :B
もしどちらかを :A = :B 「メッセージを出す「正解です。」」「メッセージを出す「違います」」
終わり 
手順は 解答位置入力
表 筆、 無限に「位置は マウスの位置」
終わり
手順は 色塗り
名前は ”カメの位置 位置
裏 判定カメ、 位置は :カメの位置 スタンプ

終わり 
  
マウスをクリックすると、写真の裏となるページを調べ、クリックした位置の色を調べて、正解場所かどうかを判定しています。
解答となる位置を正確に塗るために「解答位置入力」を用意してあります。「解答位置入力」クリックしたら、解答位置でクリックします。終わったら、プログラムを停止して設定終了です。裏ページを開いて正しく色が塗られたか確認します。
▲TOP



▲TOP
時間がきたら終わり
1分間に車がコースを何周できるかのプログラムです。
 C1.mwx へのリンク C1.zip へのリンク


開始ボタンをクリックすると、1分間のタイマーが起動します。1分間は、音楽が繰り返します。1分間でハンドルで方向を調整いて、車をコース上に走らせます。黄色のゴールを通過すると、周回数がカウントされます。
手順は 開始
向きは 90 形は 10 位置は「-82 -192」 ハンドルは 0
周回数は 0
タイマーのリセット
名前は ”前秒 0
名前は ”上限 610
秒数は :上限 / 10
無限に「経過チェック」
無限に「jig」
無限に「車」
終わり
手順は 経過チェック
もし :上限 < タイマー 「終了」
名前は ”今秒 整数 (:上限 - タイマー) / 10
もし 反対 :前秒 = 秒数 「秒数は :今秒」
名前は ”前秒 整数 (:上限 - タイマー) / 10
終わり
手順は 車
形は 1 + 向き / 10
前へ 2 待つ 0.1
右へ ハンドル / 10
終わり
手順は ゴール
周回数は 周回数 + 1
終わり
手順は 事故
後ろへ 50 shout
終わり
手順は 終了
みんなとまる
終わり 
 
  
タイマーは、0.1秒単位なので、10倍して利用しています。秒数にタイマーをそのまま表示すると、激しく点滅して数字が読めないので、1秒ごとに表示を替えて、数字が読めるようにしています。
▲TOP



▲TOP
音楽が終わったら終わり
作品の終わりを音楽の長さで決めるプログラムです。
 C2.mwx へのリンク C2.zip へのリンク


開始ボタンをクリックすると、フォルダ内の画像を読み込み、画像名を問題として、出題します。出題名をキーボードで正解すると「オーケー」と声がします。音楽が終わるとゲームは終了です。
  to startup
g
end
------ main --------------------
to g
 clearnames
gload
presentationmode
end
------ 開始 -------------------
to 開始
set得点 0
everyone [clickon]
_HAPPY
stopall
end

------発問とKR-----------------
to hatsumon
question mondai
make "mm (word "/ mondai "/)
make "aa (word "/ answer "/)
ifelse member? :aa :mm
[set得点 得点 + 1 _ok]
[_no]
end

------ jpeg画像のDIR------------
to gload
make "fs files "jpg
make "i 0
gload1 :fs :i
end
;----FDからロードして絵亀をつくる---
to gload1 :w :i
make "i :i + 1
;/*** newturtle ***/
carefully[newturtle first :w][newturtle (word "N first :w )]
loadshape (word first :w ".jpg) :i
setshape :i
setx :i * 10 - 280
sety 0 - :i * 10 + 200
setsize 10
st
;/*** 問題 ***/
carefully[turtlesown "mondai ][]
setmondai first :w
;/*** 亀関数の設定 ***/
setinstruction[
forever [fd 2 rt random 5 lt random 5]
]

;/*** リカージョン end or return ***/
if (butfirst :w )= []
[
newturtle "haikei
loadshape "_haikei.gif :i + 1
setshape :i + 1
setx -1
sety -79
st
stop
]
gload1 butfirst :w :i
end
 
 
  
画像ファイル名を問題とすることで、プログラムを修正しなくても問題を変えることができるようにしました。
ページのカメは、画像ファイルに合わせて作られるので、問題数の上限は、カメの数の上限である150程度となります。
▲TOP



▲TOP
得点表示
マグロが釣れると得点が表示されるプログラムです。
 D1.mwx へのリンク D1.zip へのリンク


船の位置を←→キーで左右に動かし、船の後ろのイカをマグロの口に持っていくと、マグロが釣れます。
  手順は 開始
全部「出てくる クリックオン」
設定する "得点表 "とうめいか "うそ
得点表は 0
設定する "得点表 "とうめいか "ほんとう
設定する "得点表 "みえるか "ほんとう
つり上げた、 隠れる
設定する "得点表 "みえるか "うそ
終わり
手順は まぐろ
向きは (乱数 180) - 90
形は 1 右へ 乱数 5 左へ 乱数 5 前へ 1
向きは (乱数 180) - 90
形は 2 右へ 乱数 5 左へ 乱数 5 前へ 1
向きは (乱数 180) - 90
形は 1 右へ 乱数 5 左へ 乱数 5 前へ 1
向きは (乱数 180) - 90
形は 3 右へ 乱数 5 左へ 乱数 5 前へ 1
まぐろ
終わり
手順は 船
もし キーを押したか
「仮の名前は 「キー 受けた字」
もし (アスキー :キー) = 37 「向きは 270 前へ 10」
もし (アスキー :キー) = 39 「向きは 90 前へ 10」」
終わり
手順は 立波
位置は 頼む "船 「位置」
もしどちらかを 形 = 1 「形は 2」「形は 1」
終わり
手順は えさ
名前は "えさ位置 頼む "船 「位置」
位置は リスト (最初 :えさ位置) + 10 (最後 :えさ位置) - 160
形は 1 待つ 1 形は 2 待つ 1
終わり
手順は 釣れたかな
もし ぶつかったかめ = "イカ
「もし (最後 (頼む "イカ 「位置」)) > (最後 位置) + 20 「隠れる 加点」」
終わり
手順は 加点
つり上げた、 出てくる
設定する "得点表 "とうめいか "うそ
得点表は 得点表 + 100
設定する "得点表 "とうめいか "ほんとう
設定する "得点表 "みえるか "ほんとう
待つ 20 つり上げた、 隠れる
設定する "得点表 "みえるか "うそ
終わり
  
得点は、テキストとして、数字を替えています。得点の枠とその画像は、カメの画像で作っています。
▲TOP



▲TOP
線の上をたどる
虫が線の上をたどるプログラムです。
 E1.mwx へのリンク E1.zip へのリンク


「歩行」ボタンをクリックすると、虫が白色の道を歩きます。
 
  手順は 歩行
センサー 0
終わり
手順は センサー :触角
右へ :触角
前へ 30
変身
もし 下の色 = 0 「止まる」
後ろへ 30
左へ :触角 * 2
前へ 30
変身
もし 下の色 = 0 「止まる」
後ろへ 30
右へ :触角
センサー :触角 + 25
終わり
手順は 変身
形は (向き - 22) / 45 + 1
待つ 1
形は (向き - 22) / 45 + 10
待つ 1
終わり 
 
  
虫は、右左の壁をチェックして、壁の無い方向へ進んでいます。
▲TOP



▲TOP
落下
物質の落下が自然に見える、等加速度運動をプログラムしています。
 F1.mwx へのリンク F1.zip へのリンク


「開始」ボタンで、鳥が水平方向に等速直線運動します。「投下」で鳥からボールが等加速度運動で落下します。
  手順は 初期化
糞、 ペンを上げる 絵を消す
加速度は 0
落下速度は 0
糞、 横の位置は 頼む "鳥 「横の位置 + 20」 
縦の位置は 頼む "鳥 「縦の位置 - 30」
ペンを下ろす
終わり
手順は 開始
鳥、 形は 1 前へ 0.5 形は 2 前へ 0.5
糞、 横の位置は 頼む "鳥 「横の位置 + 20」
落下速度は 落下速度 + 加速度
縦の位置は 縦の位置 - 落下速度
もしどちらかを ぶつかったか "地面 "糞 「形は 1 落下速度は 0 形は 2 加速度は 0  形は 3」「形は 1 形は 1 形は 1」
終わり
手順は 投下
加速度は 0.01
落下速度は 0
終わり
手順は 着地
加速度は 0
落下速度は 0
終わり

 
  
物体の運動が加速度運動になっていると、自然に見えます。
▲TOP



▲TOP
滑空
紙飛行機が飛んでいく様子のプログラムです。
 F2.mwx へのリンク F2.zip へのリンク


分度器のどこかをクリックすると、その位置に向かって、カメが滑空します。カメの重心位置を後ろ、前にボタンで調整して、赤い台に着地できると合格です。
 
  手順は 発進
降下点、 位置は マウスの位置
かめ1、 位置は 「-321 192」
方向 ”降下点
 速度は 1
 チェック
終わり
手順は 重心後ろ
かめ1、 左へ 5
終わり
手順は 重心前
かめ1、 右へ 5
終わり
手順は チェック
かめ1、 加速度は -1 * cos 向き - 5
 速度は 速度 + 加速度
 もし 速度 < -5 「速度は 0」
 前へ 速度
 縦の位置は 縦の位置 - 2
 待つ 1
チェック
終わり

 
 
  
紙飛行機の重心位置は、前から3分の1ぐらいの位置にあります。それより、前にすると紙飛行機の前が下がり、後ろにすると後ろが下がります。
ちょうど良い角度で滑空すると、より遠くまで滑空できます。
▲TOP