コメント

このコメントは、【トピック】whileでendを繰り返すへのコメントです。

コメントの内容

Material 7186 1 mini ikosami(投稿日:2010/03/28 03:03/28/10)
体験版をやればわかると思いますが、

同じ色がいくつ続いているか、を判断するwhile~endのループを
作るには

ifのループ
ifのループ2
ifの数だけendのループ
をやる必要があるんです・・・

ループをひとつにまとめると
間のマスがすべて敵のこまだったら
という判定ができないんです・・・

まとめると、たとえば 
右側に自分のこまがあって
その間の判定をするときに
1つ右が敵のこまだったら1つ右を自分のこまに変える
2つ右が敵のこまだったら2つ右を自分のこまに変える
3つ右が敵のこまではなかったら判定終了
になるので
ひっくり返せないコマがひっくり返ってしまうんです・・・

ループなしなら普通に・・・


というか書いてる途中で思いついたんですけど
ループで 
1の時に正しかったら+1
2の時に正しかったらさらに+1
で数字が全部足されていたら(間のコマがすべて敵のコマだったら)
ひっくり返す。
つまり↓
z = 0
if getVariable("a")[7][0] == getVariable("koma")
z = z + 1
end
i = 1
  while i < 7
if getVariable("a")[i][0] == getVariable("koma2")
z = z + 1
end
    i = i + 1
  end
if z == 7
i = 1
  while i < 6
     getVariable("a")[i][0] = getVariable("koma")
    i = i + 1
end
end



ならいいような気がしますけど
これって全マス共通じゃないから
全然省略になりませんよね・・・

全マス共通でないと意味がなく
しかも省略せずに書くと文字数オーバーですから・・・

ムツカシイデス・・・

コメントの内容(一番最初の投稿)

Material 7186 1 mini ikosami(投稿日:2010/03/28 03:03/28/10)
体験版をやればわかると思いますが、

同じ色がいくつ続いているか、を判断するwhile~endのループを
作るには

ifのループ
ifのループ2
ifの数だけendのループ
をやる必要があるんです・・・

ループをひとつにまとめると
間のマスがすべて敵のこまだったら
という判定ができないんです・・・

まとめると、たとえば 
右側に自分のこまがあって
その間の判定をするときに
1つ右が敵のこまだったら1つ右を自分のこまに変える
2つ右が敵のこまだったら2つ右を自分のこまに変える
3つ右が敵のこまではなかったら判定終了
になるので
ひっくり返せないコマがひっくり返ってしまうんです・・・

ループなしなら普通に・・・


というか書いてる途中で思いついたんですけど
ループで 
1の時に正しかったら+1
2の時に正しかったらさらに+1
で数字が全部足されていたら(間のコマがすべて敵のコマだったら)
ひっくり返す。
つまり↓
z = 0
if getVariable("a")[7][0] == getVariable("koma")
z = z + 1
end
i = 1
  while i < 7
if getVariable("a")[i][0] == getVariable("koma2")
z = z + 1
end
    i = i + 1
  end
if z == 7
i = 1
  while i < 6
     getVariable("a")[i][0] = getVariable("koma")
    i = i + 1
end
end



ならいいような気がしますけど
これって全マス共通じゃないから
全然省略になりませんよね・・・

全マス共通でないと意味がなく
しかも省略せずに書くと文字数オーバーですから・・・

ムツカシイデス・・・