6.オンラインゲームを作ろう!
  
友達とオンラインゲームで遊びましょう!

今度はみんなで楽しめるオンラインゲームを作ってみよう!
インターネットの普及に伴いオンラインゲームの利用者が爆発的に増えています。
オンラインゲームをただ楽しむのではなくその仕組みを理解して楽しむのは素敵ですよね?
自分で制作したオンラインゲームで遊ぶのはよりいっそう楽しいですよ。


 6-1.自分で考えてオンラインゲームを作ろう!(応用)

早速、オンラインゲームを作ってみましょう!
以下にオンラインゲームを作るためのヒントを書いておきました。
これを参考に自分でプログラムを作ってみてください。

//星を目指して競争
//かめきち用
(1)かめきち(タートル)作る。
(2)大きさ100の黄色い星を作り(-200,150)に置く。
(3)かめきちの軌跡を消し(250,150)に置く。
(4)かめこ(タートル)を作り、軌跡消し(-150,100)に置き、
 赤いかめに変える。

//衝突設定
(5)かめきちの衝突設定
 ぶつかった相手が星なら「勝ち」と書き、
 サーバーに"hanntei_kamekiti"に1戻って150右回り。
//タイマー設定
(6)5000回、0.01秒間隔のタイマーを作る。



//ボタン設定
(7)かめきちが20右回りする「右」ボタン作る。
(8)かめきちが20左回りする「左」ボタン作る。

//サーバーの初期設定
(9)オブジェクトサーバーに接続する。
(10)hantei_kamekitiに0を登録。
(11)hanteo_kamekoに0を登録。

//タイマーの中身
(12)かめきちは5歩く。
(13)かめきちのx座標(かめきち!横の位置?)
をkamekiti_xという名前でサーバーに登録。
(14)同様にy座標、角度も登録する。
  kamekiti_y,kamekiti_r
(15)かめこはサーバーからkameko_x,kameko_y,kameko_rを収得する。
(16)かめこが先にゴールしたら負けと書き、
  タイマーを止める。



今までに比べて書く量が多いので自分でわかりやすく整理しつつ書きましょう!

 左はかめきち君が勝った場合の画面、右はかめきち君が負けた場合の画面です。

6-2.1台のマシンで遊ぶことができるゲームのサンプルプログラム

以下に1台のマシンだけで遊ぶことができるゲームの例を示します。
図を描かせた「かめた」を消しておくと、ゲームをするときに、「かめきち」、「かめこ」と間違えることを防ぐことができます。
ゲームをする人のことを考えた配慮をすることも、プログラミング作りの大切なポイントの一つです。
もちろん、図形や色は自分で自由に変えることができます。

//星を目指して競争
//かめきち用
かめた=タートル!作る。
星=「かめた!100 歩く 144 右回り」!
5回 繰り返す 図形にする
  (黄) 塗る 250 150 位置。
かめた!きえる。
//プレーヤー作成
かめきち=タートル!作る ペンなし -200 -100 位置。
かめこ=タートル!作る ペンなし -150 -100 位置 
(ayumiaka.gif)変身する。
//衝突設定
かめきち:衝突=「|相手|「相手==星」!
なら「ラベル!”勝ち”作る。 サーバー!登録。
時計!中断」そうでなければ「!1戻る 150 右回り」実行。」。」


6-3.2台のコンピューターで対戦できるゲームを作ろう!(発展問題)


 6−2に示したサンプルプログラムは、1台のコンピューターでしか実行できません。
複数のコンピュータをつないで、ネットワーク対戦をするプログラムに作り変えてみましょう。
(課題)
(1)かめこ用プログラムを別に作ろう。
(2)コンピューター2台使ってかめきち用とかめこ用を同時に動かしてみよう。
(3)コースを作ってみよう。


6-4.ネットワークでつながった2台のコンピュータで対戦できるゲームを作ろう!(解答例)

2台コンピュータ(ここでは、「マリオ」、「ルイージ」と名前を付けてあります)で、
対戦できるゲームのプログラム例を書いておきました。
2台のコンピュータのそれぞれのドリトルで、下のプログラムを実行してみましょう。
また、3台以上のコンピュータで遊ぶこともできます。試してみてください。


 



//星を目指して競争(マリオ側)
//かめきち用
かめた=タートル!作る。
星=「かめた!100 歩く 144 右回り」! 
5回 繰り返す 図形にする 
(黄)塗る 250 150 位置。
かめた!きえる。
//プレーヤー設定
かめきち=タートル!作る ペンなし
 -200 -100 位置。
かめこ=タートル!作る ペンなし 
-150 -100 位置 (あゆみあか)変身する。
//衝突設定
かめきち:衝突=「|相手|「相手==星」!なら
「ラベル!”勝ち”作る。サーバー!
"hantei_kamekiti""1"登録。時計!中断」
そうでなければ「!1戻る 150 右回り」実行。」。
//タイマー設定
時計=タイマー! 作る。
時計!5000回 回数 0.01 間隔。
//ボタン設定
歩くボタン=ボタン! ”歩く” 作る
  240 -150 位置。
歩くボタン:動作=「かめきち! 10歩 歩く」。
ボタン右=ボタン!"右"作る 100 -150 位置。
ボタン右:動作=「かめきち! 20 右回り」。
ボタン左=ボタン!"左"作る −20 -150 位置。
ボタン左:動作=「かめきち! 20 左回り」。
//サーバー初期設定
サーバー!"(マリオIP)"接続。
  マリオIPはIPアドレスならどれでも大丈夫です。
サーバー!"hantei_kamekiti""0"登録。
サーバー!"hantei_kameko""0"登録。
//メイン
時計!「かめきち!5 歩く。
サーバー!”kamekiti_x”(かめきち!横の位置?)登録。
サーバー!”kamekiti_y”(かめきち!縦の位置?)登録。
サーバー!”kamekiti_r”(かめきち!向き?)登録。
かめこ!(サーバー!”kameko_x”複製)
(サーバー!”kameko_y”複製)位置
(サーバー!"kameko_r"複製)向き。
「(サーバー!"hantei_kameko"複製)==1」!なら
「ラベル!”負ける”作る。
時計!中断。」実行。」実行。

 //星を目指して競争 (ルイージ側)//かめこ用
//星を目指して競争(マリオ側)
//かめきち用
かめた=タートル!作る。
星=「かめた!100 歩く 144 右回り」! 
5回 繰り返す 図形にする 
(黄)塗る 250 150 位置。
かめた!きえる。
//プレーヤー設定
かめきち=タートル!作る ペンなし
 -200 -100 位置。
かめこ=タートル!作る ペンなし 
-150 -100 位置 (あゆみあか)変身する。
//衝突設定
かめきち:衝突=「|相手|「相手==星」!なら
「ラベル!”勝ち”作る。サーバー!
"hantei_kamekiti""1"登録。時計!中断」
そうでなければ「!1戻る 150 右回り」実行。」。
//タイマー設定
時計=タイマー! 作る。
時計!5000回 回数 0.01 間隔。
//ボタン設定
歩くボタン=ボタン! ”歩く” 作る
  240 -150 位置。
歩くボタン:動作=「かめこ! 10歩 歩く」。
ボタン右=ボタン!"右"作る 100 -150 位置。
ボタン右:動作=「かめこ! 20 右回り」。
ボタン左=ボタン!"左"作る −20 -150 位置。
ボタン左:動作=「かめこ! 20 左回り」。
//サーバー初期設定
サーバー!"(マリオIP)"接続。
   対戦する場合はどちらかのIPを統一すること。
サーバー!"hantei_kameko""0"登録。
サーバー!"hantei_kamekiti""0"登録。
//メイン
時計!「かめきち!5 歩く。
サーバー!”kameko_x”(かめこ!横の位置?)登録。
サーバー!”kameko_y”(かめこ!縦の位置?)登録。
サーバー!”kameko_r”(かめこ!向き?)登録。
かめこ!(サーバー!”kameko_x”複製)
(サーバー!”kamekiti_y”複製)位置
(サーバー!"kamekiti_r"複製)向き。
「(サーバー!hantei_kamekiti複製)==1」!なら
「ラベル!”負ける”作る。
時計!中断。」実行。」実行。


このテキストは、ここで終わりです。
このテキストで学んだことを生かして、プログラミングの技術を上達させてください。
楽しみながら、プログラミングを学んでいってください。


メニュー

前へ


(c) 2007 西ヶ谷浩史 保福やよい 江上有生 All rights researved