※ ChatGPTを利用し、要約された質問です(原文:入れ替える処理)
AS3.0で簡単な15面パズルの入れ替え処理を行う方法
このQ&Aのポイント
AS3.0で簡単な15面パズルの入れ替え処理を行う方法について教えてください。15面パズルは解けない配置があるため、数字の入れ替えをランダムではなく100回くらい行いたいです。具体的なコードの書き方と、重複がないように処理する方法を教えてください。
スタートボタンを押したときに4つの隣接するマスをランダムに選び、数字の入れ替えを100回くらい行う方法を教えてください。ただし、端のマスは例外処理が必要です。また、重複がないように処理する方法も教えてください。
AS3.0で15面パズルの入れ替え処理を行う方法について教えてください。15面パズルは解けない配置があるため、数字の入れ替えを100回くらい行いたいです。具体的なコードの書き方と、重複がないように処理する方法を教えてください。スタートボタンを押したときに4つの隣接するマスをランダムに選び、数字の入れ替え処理を行う方法を教えてください。ただし、端のマスは例外処理が必要です。
プログラム初心者です。AS3.0で書いています
簡単な15面パズルを作りたいです。
15面パズルは解けない配置があるらしいので、ランダムではなく数字の入れ替えを100回くらい行いたいです。この入れ替えの処理をどう書けばいいのか教えてください
スタートボタンを押したときに4つの隣接するマスをランダムに選び、入れ替えを行うようにすればいいらしいのですがどうやって書けばいいのかわかりません(端のマスは例外処理をいれる)
できれば重複もなくしたいです
よろしくお願いします
メインタイムラインには
mc1~mc16のムービークリップ
mcのなかに入れ子で数字が入っています
no1~no16のテキスト
スタートボタン内のasです
var i:int;
var parentObject:Object=Object(parent);
parentObject.sbtn.addEventListener(MouseEvent.CLICK,Mouse_Down);
function Mouse_Down(event:MouseEvent):void
{
for( i = 1 ; i <= 16 ; i++ ) //カード番号の初期化、左上に1右下に16の規則的な配置
{
Object(root)[ "mc" + i ]["no" + i].text = "";
}
for( i = 1 ; i <= 16 ; i++) //配列の初期化クリア
{
//配列の初期化をクリアできる処理
}
//ここにスタートボタンを押したときに4つの隣接するマスをランダムに選び、100回くらい入れ替えができる処理を入れたいです
if( Object(root)[ "mc" + i ]["no" + i].text == 16 )
{
Object(root)[ "mc" + i ]["no" + i].text = ""; //「no16」の表示をクリアして空のマスを作る
Object(root).soeji = i; //数値をクリアした配列の「添え字」を保存
}
}
お礼
貴重な意見ありがとうございました なんとか作れました