「Easy Link Library」で、
ブロック崩しを作っているのですが、
ステージごとの配置がなかなかできません。
10日以上考えているのですが全く分かりません。

誰か教えてください。

A 回答 (1件)

こんにちは。

itohhといいます。

わたしは、elを使ったことがないので相談にはのれませんが、
「elユーザーのための掲示板」というサイトがあります。
そちらで投稿されては如何ですか?

elユーザーのための掲示板
URL:http://www.tcup1.com/150/botchy.html

参考URL:http://www.tcup1.com/150/botchy.html

この回答への補足

STAGE1にはSTAGE1のブロック配置、
STAGE2にはSTAGE2のブロック配置、
というふうにしたいのです。

今まで、もらった答えの例は:
1.最も簡単な案として、
  ステージ番号を管理するワークを切り、
  ブロック配置テーブルを多次元化すれば良いですね。

2.ブロックの配置データが2次元配列だとしたら
  その2次元配列の配列(要するに3次元配列)を
  つくればいいってことです。
  int block[ステージの数(省略可)][Y方向のブロック  の数][X方向のブロックの数];
  みたいな。

これで、いろいろと試したのですが、
なかなか出来ないのです。

もう少し、詳しく教えてくださいませんか。

補足日時:2001/11/10 16:34
    • good
    • 0
この回答へのお礼

こういう掲示板を教えてくれて、ありがとうございます。
さっそく、投稿してみました。
では。

お礼日時:2001/11/10 16:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qブロック崩しについて

AUの携帯ゲームでブロック崩しを見ました。昔ゲームセンターで見たことがあるやつです。タイトルがわからないので知りたいのと、ボーダフォンでもできるのかどうか教えてください。ちなみにTHEブロックくずしと謎の壁ではないです。つまらない質問で申し訳ありませんがよろしくお願いいたします。

Aベストアンサー

「THEブロック崩し」でも「謎の壁」でもないとすると…
タイトーの「アルカノイド」ではないでしょうか?

もし「アルカノイド」ならタイトーの公式サイトから見つかるかもしれませんよ

ボーダフォンのサイトは判らないので断言は出来ませんが…

Qこんにちは、現在ブロック崩しをつくろうと思い、以下のサイトのコードを参

こんにちは、現在ブロック崩しをつくろうと思い、以下のサイトのコードを参考にしています。


ttp://www.geocities.jp/gamerabbits/bo1_5_s.htm

しかしながら、これではブロックを描写することができませんでした。ゲーム初期関数における、for関数に問題があるということはわかるのですが、実際にどのようなコードを書けばいいのかわかりません。
どなたかアドバイスをお願いします。

Aベストアンサー

>for文の記述はよくわかっています。

それでは、なぜ、文法に沿ったコードを書かないで、
コンパイルエラーに悩んでいらっしゃるのですか?

さっきの回答で書いた、for文のAとBとCにあたる内容を
よ~く吟味してくださいませ。

Qアクションスクリプトでのブロック崩しの作り方

フラッシュを始めたての初心者です。よろしくお願いします。
「http://hakuhin.hp.infoseek.co.jp/main/as.html」さんのホームページのブロック崩しの作り方にそってブロック崩しを作ったのですが、少し手を加えて「3回玉が当たらないと消えないブロック」と「消えると玉が2つに増えるブロック」を作りたいのですが、あれこれ考えては見ましたが知識がないものでさっぱり解りません。
ご存知の方がおられましたら、お教えください。
どうかよろしくお願いします。

Aベストアンサー

#1です。


耐久力の異なるブロックの件は解決しましたでしょうか?
よくある失敗の原因としては、

 ・実は普通のブロックが配置されていた
 ・耐久力を表す変数の名前や初期値が間違っている

といったところです。
色違いのブロックのシンボルを作るなどして硬いブロックが配置されていることが視覚的にも分かるように作ると、確認もラクです。

#1の作例を作るにあたり、ご提示のサイトで配布されているサンプル” block_07_01_fla05_as1.fla ”を使用させていただきました。
このサンプルでは、attachMovie でブロックを動的に配置しているようです。
同様に attachMovie で配置している場合は、硬いブロックのシンボルにもリンケージを設定し、attachMovie の1番目のパラメータにこのシンボルのリンケージ名を指定してみてください。
リンケージの設定等に誤りがなければ、32 個とも全て硬いブロックが配置されます。

-----------------------------------------------------------

打ち返す玉が2個に増えるパワーアップについて、考え方のヒントだけご紹介します。


プログラミングは物事を細かく考えることから始まります。
アイデアを形にするためにも、漠然と”2個になる”で終わらず、もっと細かくパワーアップの仕様を決めましょう。

まず、2個目の玉はどこから出てくるのでしょうか。
壊したブロックからだとすると、2個目の玉が出現する際の動き方も決めなければなりません。普通の玉(持ち玉)のように斜めに射出されるのか、それとも、単純に直線的に落下してくるのか?
また、壊したブロックの場所から出てくる場合は、バーまで届く間に他のブロックに当たる可能性があります。その際に持ち玉と同様に反射するとなると、残っているブロックの配置によってはバーのところまでなかなか落ちてこなくなることもありえます。
壊したブロックから出るとなると、このようにいろいろと考えることが多くなるので、簡単なところで、持ち玉と同様にバーから出してしまうのも1つの方法です。

それから、一番の問題は増えた玉を落とした時の扱いです。
私の知っているゲームですと、増えた玉を落としてもミスにならずパワーアップの効果が消えるだけですが、持ち玉を落とすと増えた玉が無事でもミス(パワーアップの効果も消える)になっていました。
この発想だと残数制のシステムにも簡単に組み込めますから、最初のうちはオススメです。
こうではなく、持ち玉を落としても増えた玉が無事ならミスにならない、という考え方もできます。

**********************************************

仮に、玉が2個になる時の仕様を次のように決めたとします。

 ・2個目の玉はバーから出る。出方は持ち玉と同じ。
 ・2個目の玉を落とすと、この玉が消えるだけでミスにはならない。
 ・持ち玉を落とした場合は、2個目の玉が無事でもミスになる。
 ・2個目の玉が既に存在している時は、2個になるブロックを壊しても何も起こらない。

仕様が決まったら、この仕様を実現するにあたってどんなことが必要なのか、2個になる時やなった後にどのような変化が起こるのかを考えてみましょう。
細かく考えていくと、スクリプトの方向性も見えてきます。

**********************************************

2個目の玉も、移動・ブロックにダメージを与える・ブロックやバーに当たって反射するといった性質は持ち玉と同じです。
ですから、この処理は持ち玉と同じ発想で作れそうです。

しかし、2個目の玉は最初は存在しておらず、玉が2個になるブロックを壊した時に初めて画面に登場し、持ち玉と同じ性能を発揮するのです。
これは要するに、移動等の処理を行う時に条件を付けて”2個目の玉が画面に出ている時にだけ”行うようにすればいいわけです。
2個目の玉が存在しているかどうかの判断は、「画面に出ている」を「表示されている」と言い換えると、画面に表示する・しないを決める _visible プロパティを見て判断できそうですね。

カラクリのタネとしては、まず、2個目の玉に持ち玉と同様の移動・ブロックとの判定等を書き、最初は _visible プロパティを false にしてステージのどこかに隠しておきます。
onClipEvent(enterFrame) に書かれている移動等の処理は全体を _visible プロパティを見る if 文の中にいれ、_visible プロパティが true の時にだけ行うようにします。
移動等の処理は持ち玉のものをコピーしてもいいのですが、持ち玉のスクリプト(特に、ブロックおよびバーとの当たり判定の部分)は専用のスクリプトになっているため、インスタンスの名前のなど細かい点を変更する必要があります。
それから、2個目の玉を落としてもミスではありませんから、下端に来た時の処理も変更します。

**********************************************

2個目の玉は、どんな時に現れて、どうしたら消えるのでしょうか。


現れるのは”2個になるブロックを壊した時”ですから、2個目の玉を出させる処理はブロックが壊れた時、それも、壊れたブロックの種類が玉を2個にするものだったと判明する部分に入れます。
異なる種類のブロックの作り方や判別方法は、#1の1アップブロックの考え方をご参考になさってください。

ブロックを壊せるのは、持ち玉と増えた2個目の玉の両方です。
従って、「壊したブロックが玉を2個にするブロックだった時、2個目の玉を出現させる」処理は、持ち玉および2個目の玉の両方に必要です。

ところで、ステージに隠してある2個目の玉は1つしかありません。
ですから、ただ出現させるだけでなく条件を付けて、”2個目の玉が表示されていなければ出現させる”ようにしましょう。
既に2個目の玉が表示されている時は条件が不成立になり、2個にするブロックがいくつあっても2個目の玉は同時には1つしか登場しなくなります。


2個目の玉が消える時は、

 ・持ち玉を受け損なった時(ミス)
 ・2個目の玉を受け損なった時(ミスにならない)

です。
つまり、持ち玉が下端に来た時はミス・ゲームオーバーの判定・ミスからの復帰の処理とともに2個目の玉を消す処理が必要ですが、2個目の玉の場合は単純に自分自身が消える処理だけでいいというわけです。

**********************************************

2個目の玉を出現させるには、要するに2個目の玉のインスタンスの _visible プロパティを true にすればいいのですが、問題はその位置です。
適当な位置に隠しておいたものをただ表示しては、何の脈絡もない場所に唐突に2個目の玉が出現してしまいます。

そこで、2個目の玉を出現させる時に、初期位置と移動量を設定するようにします。
2個目の玉をバーの中央から出現させるには、玉の位置をバーの位置をもとに決めるようにします。
式にしますと

 玉の初期 _x = バーの _x
 玉の初期 _y = バーの _y - 10

となります。これで、バーがどの位置にあっても2個目の玉はバーの中央から打ち出されるようになります。
(ただし、2個目の玉が出た瞬間にバーが動くと、打ち出される位置がズレて見えることがあります)
2個目の玉も持ち玉と同様に斜めに打ち出されるように、初期位置を決めるとともに移動量を表す dx と dy の初期値の設定もお忘れなく。

**********************************************

ActionScript では、変数やムービークリップなどのインスタンスには全て、持ち主がいると考えます。
変数などを利用する時は、誰の持ち物なのか、その持ち主を正確に指定しなければなりません。
持ち主の指定のことを”ターゲットパス”といいます。

今回は2個目の玉がブロックの状況を見たり、持ち玉が2個目の玉に指示を出したりと、他のムービークリップが持っている情報を利用するところが多く出てきます。
これまではターゲットパスをあまり気にしなくても何とかなりましたが、今回はターゲットパスの誤りにも注意してください。

例えば、各ブロックが消えたかどうかを管理している” flg ”という配列変数があります。
この配列変数の持ち主は ball というインスタンスで、その ball の持ち主は _root です。
flg はブロックの有無の情報を持っていますから、ブロックを消すことができる2個目の玉も見せてもらう必要があります。
ターゲットパスは自分自身の持ち物であれば省略できるので、サンプルでは flg[ i ] = 1 というように flg の前にターゲットパスを何も付けずに参照していました。
しかし、2個目の玉から見ると、この配列変数は他のムービークリップの持ち物です。見せてもらうには、その持ち主である持ち玉のインスタンスを指定しなければなりません。
具体的には

 _root.ball.flg[ i ] = 1;

というように書きます。

ターゲットパスには様々な書き方があります。
_root から書くと不都合が出る場合もあるので、いろいろと研究してみてください。

-----------------------------------------------------------

最後になりましたが。

このサンプルは Flash 5 向けに作られたもので、現在のバージョンの Flash から見ると相当古い書き方です。
特に、多用している eval 関数は Flash Player 6 からは制限が付き、式の左辺に書くとエラーになるように変更されました。
Flash Player 5 でパブリッシュすれば問題ありませんが、このサンプルを Flash Player 6 以降でパブリッシュするとエラーになる箇所が多々あります。
Flash Player 6 以降では、eval 関数の代わりに配列アクセス演算子[ ] を使って文字列を変数などのターゲットパスに変換する書き方が一般的です。

また、新しいバージョンになってできること・新しい書き方も増えました。
考え方は今でも通用するものでも、このスクリプトの書き方は今時の Flash に合っていません。
#1のスクリプトもサンプルに合わせて eval 関数を使って書きましたが、この書き方は既に古いものである点をご了承の上で、ご参考になさってください。

#1です。


耐久力の異なるブロックの件は解決しましたでしょうか?
よくある失敗の原因としては、

 ・実は普通のブロックが配置されていた
 ・耐久力を表す変数の名前や初期値が間違っている

といったところです。
色違いのブロックのシンボルを作るなどして硬いブロックが配置されていることが視覚的にも分かるように作ると、確認もラクです。

#1の作例を作るにあたり、ご提示のサイトで配布されているサンプル” block_07_01_fla05_as1.fla ”を使用させていただきました。
このサンプルで...続きを読む

QPBC Library

PBC LibraryのVC版を使用したいのですが、「PBCVC」フォルダ内のプロジェクトファイルを開き、ビルドすると "gmp.h"が開けませんというエラーが出ます。

よくみると、「PBCVC」フォルダ内の「self-compiled」フォルダ内にgmp.hがあります。

そこで、プロジェクトにgmp.hを追加したのですが、同じエラーが出ます。

どうすれば解決するでしょうか?

宜しくお願いいたします。

PBC Library
http://crypto.stanford.edu/pbc/download.html

Aベストアンサー

★基本的に PBC Library はどこにインストールしてる?
・インストールしたフォルダ位置を確認してパスを追加するか、
 プロジェクトのプロパティで必ずインクルードするファイルを指定、
 または環境変数『INCLUDE』に PBC Library をインストールした
 フォルダのフルパスを追加設定すれば
>#include <openssl/rand.h>
 という指定でエラーなしにインクルードできます。
 問題は『gmp.h』や『rand.h』のヘッダをどこにインストールしたのかを
 ちゃんと確認する必要があります。ここがポイント。
・あと標準ヘッダがあるフォルダに PBC Library で使うヘッダ群『gmp.h』や
 『rand.h』を openssl フォルダを作成してそこへ移動させる方法もあります。
 私はこちらの方法で自作ヘッダもインクルードできるようにしています。
 例えば私の環境では
 『C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\include\』の
 場所に『mylib』というフォルダを作成してそこに『CTipLib.h』というヘッダを
 置いてあります。
・この場合はソースから
 #include <mylib/CTipLib.h>
 としてインクルードが可能になります。
 これを参考にダウンロードした PBC Library のヘッダ群を openssl というフォルダを
 作成して移動しておけば利用できるようになります。
 あと "gmp.h" ヘッダの場合はインクルードしているソースと同じフォルダに置けば
 #include "gmp.h" としてインクルードができます。

最後に:
・ネットや本を頼りに #include プリプロセッサ命令の使い方をリサーチして下さい。
 プログラミングに慣れていないのならば、一度調べてみる必要があります。基本だから。
・以上。

★基本的に PBC Library はどこにインストールしてる?
・インストールしたフォルダ位置を確認してパスを追加するか、
 プロジェクトのプロパティで必ずインクルードするファイルを指定、
 または環境変数『INCLUDE』に PBC Library をインストールした
 フォルダのフルパスを追加設定すれば
>#include <openssl/rand.h>
 という指定でエラーなしにインクルードできます。
 問題は『gmp.h』や『rand.h』のヘッダをどこにインストールしたのかを
 ちゃんと確認する必要があります。ここがポイント。
...続きを読む

Qあるブロック崩しを探しています

このパソコンは2代目なんですが、1代目のパソコンのときに確か「block130」というブロック崩しを入れたんです。(題名は確かではありませんが)
このブロック崩しは同名で同じ有名なゲームがありますが、違います。

確か、右クリックでタイムが出来て、
左にボールの種類があり、最初は確かNormalになっているんですけど、ボールを貫通するPowerなどいろいろ確か5種類あったはずです。

覚えているのはこれだけです。
分かったら教えていただけたらありがたいです。

Aベストアンサー

たぶん「ぶろくず」だったような気がします。

参考URL:http://www.asahi-net.or.jp/~IP3K-ISD/

QDLLのLIBRARYの役目

; test.def
LIBRARY "test"
DESCRIPTION 'test Windows Dynamic Link Library'
EXPORTS

LIBRARY "test"
は、何でもよいのでしょうか?
何かの識別子になるのでしょうか?

Aベストアンサー

通常はdefファイルは不要です。
http://msdn.microsoft.com/ja-jp/library/28d6s79h(VS.80).aspx

ただし、VB6等一部の言語とリンクする際には
必要な場合もあります。

Qブロック崩しでのステージごとのブロック配置

「Easy Link Library」で、
ブロック崩しを作っているのですが、
ステージごとの配置がなかなかできません。
10日以上考えているのですが全く分かりません。

誰か教えてください。

Aベストアンサー

こんにちは。itohhといいます。

わたしは、elを使ったことがないので相談にはのれませんが、
「elユーザーのための掲示板」というサイトがあります。
そちらで投稿されては如何ですか?

elユーザーのための掲示板
URL:http://www.tcup1.com/150/botchy.html

参考URL:http://www.tcup1.com/150/botchy.html

Qvc++6.0にてdllとlibraryを作成する方法

vc++6.0にてdllとlibraryを作成する方法
を知りたいのですが、dllとlibraryを
それぞれ新規プロジェクトで立ち上げれば
作成できるのですが、dllを作成した際に
libraryも作成(自動)されるようなことは
できないのでしょうか?

Aベストアンサー

DLLをビルド(作成)すればLIBも同時に作成されますよ。
プロジェクトフォルダのRelease(又はDebug)配下に存在しているはずです。

QPerl-TKでブロック崩しのプログラム

PerlTKでブロック崩しみたいなゲームプログラムを書きたいのですが、そのような参考になるサイトとか書籍はありますか?

マウスやキーボードでバーを動かし、ボールが落ちてきて跳ね返る(この際、ブロックなしでも構わない)
ようなことができたらと考えております。

Aベストアンサー

ブロック崩しそのものではないですが、以下のサイトなどどうでしょう。Perl/Tk 自身についても詳しい説明があります。

参考URL:http://www.geocities.jp/m_hiroi/perl_tk/minigame.html

QExtended regular expression matching and search library,

Extended regular expression matching and search library,

このソースコードを見ています。
構文解析ルーチンのような感じがしますが、
そう理解してよいのでしょうか?

 また、
LL(1)文法でかかれたものを
コンパイラコンパイラ(構文解析作成ソフト)
にかけたら、
これと同じような働きをするものを作れますか?
 もし可能なら、
参考になるサイト、文献などを教えてください。
LGPLライセンスで困っています。
これにつかまりたくないのです。

よろしくお願いします。

Aベストアンサー

とりあえず、以下の二つのライブラリは(修正)BSDライセンスで配布されています。

Oniguruma ---- (C) K.Kosako
http://www.geocities.jp/kosako3/oniguruma/
License

When this software is partly used or it is distributed with Ruby,
this of Ruby follows the license of Ruby.
It follows the BSD license in the case of the one except for it.

PCRE LICENCE
------------

PCRE is a library of functions to support regular expressions whose syntax
and semantics are as close as possible to those of the Perl 5 language.


The latest release of PCRE is always available from

ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-xxx.tar.gz

Release 7 of PCRE is distributed under the terms of the "BSD" licence, as
specified below. The documentation for PCRE, supplied in the "doc"
directory, is distributed under the same terms as the software itself.


ただし関数のインターフェースに多少違う部分がありますので、差し替えるだけで
無修正でというわけにはいかないでしょう。

自前で作ってみたいという話なら…なにかあったかな?

とりあえず、以下の二つのライブラリは(修正)BSDライセンスで配布されています。

Oniguruma ---- (C) K.Kosako
http://www.geocities.jp/kosako3/oniguruma/
License

When this software is partly used or it is distributed with Ruby,
this of Ruby follows the license of Ruby.
It follows the BSD license in the case of the one except for it.

PCRE LICENCE
------------

PCRE is a library of functions to support regular expressions whose syntax
and semantics are...続きを読む


人気Q&Aランキング

おすすめ情報