【解決方法】Visual Basic のボタンなしでワンクリックで 2 つの画像を非表示にする

プログラミングQA


こんにちは、メモリ ゲームを実行する Visual Basic プログラムがあります。 基本的に、ユーザーは 2 枚のカードをクリックし、裏返します。同じ場合は消え、そうでない場合は元に戻ります。 したがって、私のプログラムは、カードの下に 3 組の画像があるように見えます。ユーザーがカードをクリックするとカードが消えるようにコーディングしています。 しかし、問題があります。隠された画像は試合ごとに同じままになるので、2枚のカードが2枚の同じ画像をクリックすると消えると、2枚の画像も消えるという考えがあります。 、彼らは引き返します。 これは、記憶ゲームを作成するための最も簡単な方法ですが、これを作成するためのコーディング方法がわかりません。 スコアの半分の価値があるこのプログラムを助けてください。私は高校で学んでいるので、if、case、do-while、または do until などの基本的なステートメントのみを使用します…そして、私は Visual Basic 2013 if を使用しています助けになる。

私が試したこと:

ユーザーがカードをクリックするとカードが消えるようにコーディングしています。

解決策 1

あなたのコードがなければ、私たちがあなたに伝えられることはかなり限られています – そしてあなたの説明はあまり明確ではありません.

私が行う方法は、Value を認識し、Front と Back の 2 つの Image プロパティを持つ Card クラス (UserControl に基づく) を用意することです。
クリックすると、「Clicked」イベントが発生し、バック画像が表示されていて、それ以上何もしませんでした。

次に、複数の Card インスタンスを含み、それらすべての「Clicked」イベントを処理する PlaySpace クラスを作成します。 公開されたカードの枚数を認識し、イベントを処理するときにその数をチェックします。
0 : そのカードに前面を表示するように指示し、インクリメントします revealed、カードを名前を付けて保存 Card1

1 : そのカードに前面を表示するように指示し、インクリメントします revealed、カードを名前を付けて保存 Card1、2 秒のタイムアウトを開始します。
2 以上 : 何もしない。

タイムアウトが経過したら、カードが同じ値かどうかを確認します
存在する場合は、PlaySpace から削除し、残っているかどうかを確認します。 そうでない場合はゲーム終了。
それ以外の場合は、両方のカードに裏の画像を表示するように指示します。
どちらにしてもリセット revealed

このようにして、カード自身に責任を持たせ、プレイスペースがカードに何をすべきかを伝え、実際のゲームをプレイする責任を負わせます。

考えてみれば、私の言いたいことがわかると思います。

コメント

タイトルとURLをコピーしました