ぷよぷよの連鎖ボイスの設定

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Aさん

ぷよぷよの連鎖ボイスの設定

#1

投稿記事 by Aさん » 13年前

今ぷよぷよの模倣版を作っていて、本家と同じように連鎖ボイスを入れようとしています。
本家通り、5連鎖目以降、最後の1連鎖まで同じボイスを続けて、最後の1連鎖だけフィニッシュのボイスを入れたいのですが、よくわかりません・・。
どのようにすればいいでしょうか・・。
説明が下手でごめんなさい。

現状の連鎖ボイスの部分のコードです。

コード:

if ( erase_flag == TRUE ) {
		rensa += 1;
		if(rensa==1)PlaySoundMem( CH13VO00, DX_PLAYTYPE_BACK );
		if(rensa==2)PlaySoundMem( CH13VO01, DX_PLAYTYPE_BACK );
		if(rensa==3)PlaySoundMem( CH13VO02, DX_PLAYTYPE_BACK );
		if(rensa==4)PlaySoundMem( CH13VO03, DX_PLAYTYPE_BACK );
		if(rensa>=5)PlaySoundMem( CH13VO05, DX_PLAYTYPE_BACK );
		if(rensa==6)chain_end=1;
		if(rensa==7)chain_end=2;
		if(rensa==8)chain_end=3;
		if(rensa==9)chain_end=4;
		if(rensa>=10)chain_end=5;
			 }
		if(erase_flag==FALSE){
		if(chain_end==1)PlaySoundMem( CH13VO06, DX_PLAYTYPE_BACK );
		if(chain_end==2)PlaySoundMem( CH13VO07, DX_PLAYTYPE_BACK );
		if(chain_end==3)PlaySoundMem( CH13VO09, DX_PLAYTYPE_BACK );
		if(chain_end==4)PlaySoundMem( CH13VO10, DX_PLAYTYPE_BACK );
		if(chain_end==5)PlaySoundMem( CH13VO11, DX_PLAYTYPE_BACK );
		chain_end=0;
		}

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: ぷよぷよの連鎖ボイスの設定

#2

投稿記事 by softya(ソフト屋) » 13年前

すいません。ぷよぷよをプレイしないため、ぷよぷよの連鎖ボイスの仕組みがよく分からないので教えて下さい。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

Aさん

Re: ぷよぷよの連鎖ボイスの設定

#3

投稿記事 by Aさん » 13年前

返信ありがとうございます!
なんというか説明しづらいので、お手数ですが下記のサイトを見ていただけるとある程度わかるかと思います・・。
http://puyo.info/39.html

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: ぷよぷよの連鎖ボイスの設定

#4

投稿記事 by softya(ソフト屋) » 13年前

リンク先のボイス連鎖の仕組みを見ていると先に最終的な連鎖数を調べてから連鎖エフェクトに入っている気がします。
連鎖数が分かっているのなら、連鎖ボイスの組み合わせは配列で持っていて連鎖エフェクトの毎に配列の添え字を+1しておけばよいのでは?

コード:

const int VOICE_PATTERN = 11;
const int VOICE_MAX = 12;

//	連鎖ボイスのパターン配列
//	11=f1 12=f2 13=f3 14=f4 0は終了
const int RensaVoiceList[VOICE_PATTERN][VOICE_MAX] = {
	{ 1, 0 },								//1連鎖 1
	{ 1,11, 0 },							//2連鎖 1 f1
	{ 1, 2,11, 0 },							//3連鎖 1 2 f1
	{ 1, 2, 3,12, 0 },						//4連鎖 1 2 3 f2
	{ 1, 2, 3, 4,12, 0 },					//5連鎖 1 2 3 4 f2
	{ 1, 2, 3, 4, 5,12, 0 },				//6連鎖 1 2 3 4 5 f2
	{ 1, 2, 3, 4, 5, 5,13, 0 },				//7連鎖 1 2 3 4 5 5 f3
	{ 1, 2, 3, 4, 5, 5, 5,13, 0 },			//8連鎖 1 2 3 4 5 5 5 f3
	{ 1, 2, 3, 4,11, 5, 5, 5,13, 0 },		//9連鎖 1 2 3 4 f1 5 5 5 f3
	{ 1, 2, 3, 4,11, 4, 5, 5, 5,14, 0 },	//10連鎖 1 2 3 4 f1 4 5 5 5 f4
	{ 1, 2, 3, 4,11, 3, 4, 5, 5, 5,14, 0 },	//11連鎖 1 2 3 4 f1 3 4 5 5 5 f4
};
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

Aさん

Re: ぷよぷよの連鎖ボイスの設定

#5

投稿記事 by Aさん » 13年前

多次元配列ってやつですか・・!
まだよく分からないので、調べながら、書いてくださったコードでがんばってやってみたいと思います!
ありがとうございました!!

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: ぷよぷよの連鎖ボイスの設定

#6

投稿記事 by ISLe » 13年前

ぷよぷよフィーバー以降はプレイしたことがないので知らないのですが、違うんですかね。

ぷよ、ぷよ通、ぷよSUNで確認したところ、連鎖数と対応ボイスが固定ですし、フィニッシュボイスというものも存在しないみたいですが。

【追記を投稿し直しました】
最後に編集したユーザー ISLe on 2013年3月15日(金) 18:56 [ 編集 2 回目 ]

Aさん

Re: ぷよぷよの連鎖ボイスの設定

#7

投稿記事 by Aさん » 13年前

わりと最近のでは固定じゃないみたいですね・・
昔SFCのぷよぷよをやったときは固定だったんですけどね

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: ぷよぷよの連鎖ボイスの設定

#8

投稿記事 by ISLe » 13年前

ぷよが消えた直後に攻撃&ボイス再生なので、連鎖が続くかどうかのチェックを入れて二択かと思ったのですが。
紹介されたページのとおりだとすると法則が成り立たないですね。

Aさん

Re: ぷよぷよの連鎖ボイスの設定

#9

投稿記事 by Aさん » 13年前

softyaさんが言うように先に最終的な連鎖数を調べないといけないみたいですね・・
難しい・・

閉鎖

“C言語何でも質問掲示板” へ戻る