Help us understand the problem. What is going on with this article?

オセロをVBAで作成 #3石を置いた座標と石の種類をコレクションに代入

オセロをVBAで作成 #3石を置いた座標と石の種類をコレクションに代入

今回はタイトルにもある通り石を置いた座標とどっちの色の石があるかをコレクションに代入して
その情報をメッセージで表示させたいと思います。

Public stone_collection As New Collection   '盤面の石の状況を保存するコレクション

まずプロシージャ外でひっくり返す判定を行うのを考慮してPublic型でコレクションを宣言しました。

'コレクションの初期化
Set stone_collection = New Collection

最初に初期化の文を記述しておきます。これでコレクション内の要素が引き続き入り続けることはなくなります。

        '盤面情報をコレクションに保存
        With stone_collection
            .Add cell_click_row
            .Add cell_click_column
            .Add stone
        End With

石を置くコードの跡にダブルクリックした行と列の座標と置いた石の種類をコレクションに代入します。

        'コレクションに入れた要素を表示
        For Each v In stone_collection
            MsgBox v
        Next

For Each文を使ってコレクションの中身をMsgBoxで入っている要素分繰り返し表示します。
For Each文とは配列やコレクションの中身の文だけ繰り返すループ文です。

        '要素数の出力表示
        MsgBox "要素数: " & stone_collection.Count, vbInformation

要素が何個入ってるかMsgBoxで表示させてます。
2019-10-21 (5).png
2019-10-21 (6).png
2019-10-21 (7).png
2019-10-21 (8).png

まとめ

コレクションとFor Eachを初めて使ったのでこれだけの処理をするだけで結構手間取りました。
次からが本番でコレクションに保存した石の座標と色のデータを使ってひっくり返す処理を行っていきたいと思います。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした