三目並べのコードについて。ビジュアルベーシック2008
現在三目並べのコードにて苦戦しています。
×が3つ揃えば勝ち、Oが3つ揃えば勝ち、というメッセージが表示されるコードも完了しました。
しかし引き分け、つまり9つのボタンの内3つ揃わなかった場合、どのようなコードにすればいいでしょう?色々やっているのですが、メッセージボックスすら表示されません。
また、勝ち、や引き分け、のメッセージ表示後、自動的にリセットしたく
Private Sub reset()
Button1.Text = ""
Button1.Enabled = True
Button2.Text = ""
Button2.Enabled = True
Button3.Text = ""
Button3.Enabled = True
Button4.Text = ""
Button4.Enabled = True
Button5.Text = ""
Button5.Enabled = True
Button6.Text = ""
Button6.Enabled = True
Button7.Text = ""
Button7.Enabled = True
Button8.Text = ""
Button8.Enabled = True
Button9.Text = ""
Button9.Enabled = True
を
Private Sub win()
If Button1.Text = "X" And Button2.Text = "X" And Button3.Text = "X" Then
MessageBox.Show("You are the winner with X!")
Call disablebuttons()
Call reset() ・・・以下続く
とCALLで呼び出しているのですが、9つきちんとリセットされてくれず必ず9つのボタンのうち一つだけ窪み(何も表示されない状態)になってしまいます。一体どうすればよいでしょう?
また、ボタンにカーソルが触れると色が変わるようにしたいのですが、もしお知恵を貸していただけるようでしたらよろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
>9つのボタンのうち一つだけ窪み(何も表示されない状態)
> Call disablebuttons()
ここが、このようになっているなら、問題ないはずですが……
Button1.Enabled = False
Button2.Enabled = False
・
・
・
もし、そのままになっしまっているなら、
Private Sub DisableButtons()
の最後に、
Timer1.Start() などとして、
Timer を置いて、以下のように、Interval 3000 ぐらい(=3 秒)ぐらいで、リセットすればよいはずです。
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Call Reset()
Timer1.Stop()
End Sub
'//
>ボタンにカーソルが触れると色が変わるようにしたいのですが、
Private Sub Button1_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.MouseHover
Button1.BackColor = Color.Yellow
End Sub
Private Sub Button1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.MouseLeave
Button1.BackColor = Color.WhiteSmoke
End Sub
'//
前回のご質問:
>VBレスキューのサイトを紹介して下さった方。覗いてみたのですが、VB2008の対応掲示板はない
大別すると、VB6 と .Net 掲示板に分かれていますから、VB 2005 用の所でお聞きになれます。
初心者故に、文字のアドバイスも有難いのですが、一応自分で調べて分からなかった事をお聞きしているため、コードを提示して頂けると一体何をすればいいのかわかりやすくて毎回本当に助かっています。ありがとうございます。
>
同じクラスを取っている友人もそちらの紹介して下さったサイトを活用させて頂くそうです。重ねてありがとうございました。しかしこちら(OKWAVE)の方が皆様とてもお早い回答をして下さっているためこちらを優先に使わせて頂こうと思います。ありがとうございました!また機会がございましたら、宜しくお願いいたします。
No.2
- 回答日時:
「EXCELで電卓を作る」サンプルがこれに近い考え方かもしれません。
こういう類は配列 A(9)かA(3、3)を作ると
判定もできるしクリアの記載もより簡潔かと思います。
すべて見ているわけでないので想定ですが、
やってもらいたいことがうまくいかないときは
「定義名称が間違っている」か「全く予期しない動き」が多いです。
>必ず9つのボタンのうち一つだけ窪み
最初の起動時もリセットさせてますか。
「1~9」としたいのに実際は「0~8」になっているとか。
ステップ実行を試してください。
No.1
- 回答日時:
処理をちゃんと見てないけど
現状のは「Xが3つ並んでたら」「Oが3つ並んでたら」
という処理になってるのかな?
もしそうならその後に「配置済が全部で9なら」というのを加えたら良いんじゃないのかな。
あと、1つだけ戻らないやつって、最後に押されたやつじゃない?
どうやってcallしてるのか知らないけどボタン押下じゃなくてclickや押上(離す)の時に呼ばないとうまく処理できないかもね
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ボタンが活性化の場合とは、ボ...
-
腕時計の時報をならないように...
-
j-axis 腕時計のアラーム止めたい
-
エレベーターの途中通過
-
BSプレミアムとかの青ボタンが...
-
このadidasの腕時計の時刻の設...
-
三菱GOTの画面切り替えについて
-
ActiveWorkbook.Pathの一つ下の...
-
フォームで同じ複数のnameで違...
-
遷移元を判定したい!
-
Servletへフォームから配列を送...
-
VB6 開発環境のエディタに行...
-
jspからServletを呼び、元のjsp...
-
フォーム上で押されたボタンに...
-
javascriptでのログアウトボタン
-
HTMLのINPUTから画面表示
-
リクエストに応じたselectedの...
-
変数名とDBカラム名の関係性に...
-
「<c:forEach タグが終了し...
-
一定時間でPostBackさせたい(A...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
腕時計の時報をならないように...
-
ボタンが活性化の場合とは、ボ...
-
漏電遮断器の黄色ボタンと白色...
-
このadidasの腕時計の時刻の設...
-
j-axis 腕時計のアラーム止めたい
-
すき家のハンディ操作
-
エレベーターの途中通過
-
YouTubeのコメント欄の評価でバ...
-
気になる女子のLINEのトーク画...
-
ベストアンサーの選び方 ありが...
-
自作GIFのアイコンがWEB...
-
Wordで最小化や元のサイズにも...
-
プリンタ エラーメッセージにつ...
-
BSプレミアムとかの青ボタンが...
-
Windowsキーを無効化したい
-
あれれ、最小化ボタン、最大化...
-
三菱GOTの画面切り替えについて
-
htmlで<form>~</form>を並べて...
-
画面遷移を行わずに同一ページ...
-
プログラミングで例えばゲーム...
おすすめ情報