• 締切済み

VBでのカードゲーム作成 (エラーについて)

2回目の質問です。前回も”VBでのカードゲーム作成”について質問させていただきました。 乱数発生については回答を頂きながらも自力で突破しました。申し訳ありませんでした。 回答者様には感謝しています。 さて、本題ですが2点質問させていただきます。 Menu.vb をトップページとし、そこからボタンによる遷移でAloneGame.vb(一人プレイなので)という画面に移ります。 デバッグした際、トップページよりaloneに飛ぼうとしたところ、以下のエラーが発生しストップしました。 ---------------------------------------------------------------------------------- 'System.InvalidOperationException' のハンドルされていない例外が poker.exe で発生しました。 追加情報: フォームの作成中にエラーが発生しました。詳細については、Exception.InnerException を参照してください。エラー: オブジェクト参照がオブジェクト インスタンスに設定されていません。 ---------------------------------------------------------------------------------- (自力でポーカーを作っています。) 自分でも検索したり調べてはいますが、現在行き詰まっております。 今回は上記の質問がメインですが、前回に引き続きアニメーションについても質問させていただきたいと思います。 前回も少し書きましたが、 □□□□□   相手手札。伏せてあり、裏の模様のみ。 □□        片方が山札、片方が捨て札です。 □□□□□   自分の手札。 暫定的ではありますがこのような形です。 ソリティアなどのように、山札から手札が配られるというアニメーションを付け加えたいのですが、どうしたらいいのでしょうか? 尚、コードすべてを書いていただかなくても、参考書籍、参考ホームページを教えて頂く形でももちろん結構です。 私自身も随時調査中ではあります。 わかりにくいとは思いますがどうぞよろしくお願いします。 この質問を答えるにあたって欲しい情報がありましたら何なりと。

noname#222532
noname#222532

みんなの回答

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

理想は全ファイルになるのですが、そんなことされても、困ります。 プログラム作っていれば、デバグは必ずやらなければならない作業です。 今後の訓練のためにも、御自身でやることをお勧めします。 まずは、どこでエラーが発生しているか特定しましょう。 デバガでブレークポイント→ステップ実行で一つずつたしかめたり、MsgBoxやTrace,Debug等で変数の内容や進行状況を出力したりして、どこまで正常で何処でエラーになるかを絞りこんでいきます http://dobon.net/vb/dotnet/vb6/debugprint.html また、理由はわかっています。 どこかで「Nothingであってはならない箇所がNothingになっている」ということです。 前に例示した「変数が初期値のまま」以外にも様々な原因があります。 ・Nothingが期待されない引数にNothingが使われている A.methodA(B) ' B=Nothingになっている ・戻り値がNothingになる可能性のあるFunctionで、戻ってきたNothingをそのまま使ってしまっている A=funcA() ' ここでNothingが戻ることがある A.methodA() ' そのまま使うと、Nothing.methodA を呼び出そうとしてエラー ・Option Explicit Off の状態で、変数名を間違えている→新規変数として扱われ、その初期値Nothingになる

noname#222532
質問者

お礼

自分では丸々一日にらめっこしててもわかりませんでしたが、アドバイス受けてまた頑張ってみたいと思います、ありがとうございました

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

これだけの情報では答えようがありませんが。 > エラー: オブジェクト参照がオブジェクト インスタンスに設定されていません。 という内容から、初期化されていないオブジェクトを使おうとしたのではないか、と予想できます。 class AloneGame Dim A as classA ' みたいに宣言されたものを Public Form_Load ... ' A=new classA 'みたいな初期化をせずに A.Value=B 'などと使ってしまった とか

noname#222532
質問者

補足

回答ありがとうございました。 ですが、Newはしています。 どの情報を書けばいいのでしょうか、 コード全部ですかね。

関連するQ&A

  • VBでのカードゲーム作成

    VB.netを使ったプログラムについての質問です。 某トランプゲームをみて私もつくろうと思い立ったのですが、分からない点が見つかったのでご教示願いたいです。 ソリューションエクスプローラー内にResourcesという ファイルを作りカードの画像をジョーカー含め53枚入れました。(関係ないのかは不明です。) 手札ということで、カード53枚の中からランダム5枚入手するためにはどういった処理をすればいいのでしょうか? 配列に入れるにしてもどのように扱ったらいいかわからないですし、「山札から手札を配る」のようなアニメーションを加えるにもどうしたらいいかわからないです。 コード丸ごとでなくても「この書籍を見ればいい」「このサイトを見ればいい」などお教え頂く形でも構いません。一応ネットで調べたり、"逆引き大全"などは見たのですがわかりません。 作るものとしては、ポーカーをつくろうと思っています。役の判定アルゴリズムはできているのですが、そのほかがわからないので、お願いします。 □□□□□ □□ □□□□□ とありますが 中段右端を山札とした時、そこから手札配布といったアニメーションができるか、をお教えいただきたいです。 ですがあくまでメインは”乱数発生させて、ランダムで手札を作れるかどうか”です

  • VB2008→VB2010でエラーが出てまいります

    VB2008→VB2010でエラーが出てまいります  今日は、質問させていただきます。どうぞよろしくお願いいたします。  VB2008+Vistaから、VB2010に変更しようといたしました。 一度必要のないと思われるものをすべてアンインストールし、 VB2010をインストール後、作成中のプロジェクトを開きましたところ、 以下のようなエラーが出てまいります。 ↓【エラー一覧】の項目でございます 警告 1 タイプ ライブラリ "Microsoft.Office.Core" のラッパー アセンブリが見つかりません。 警告 2参照コンポーネント '(プロジェクト名)' が見つかりませんでした。 警告 3参照コンポーネント 'Microsoft.Office.Core' が見つかりませんでした。 ↓【参照】タブを開こうといたしますと、下のような表示が出てまいります。 ページを読み込もうとしているときにエラーが発生しました。 ターゲット フレームワーク '.NETFramework,Version=v4.0' の mscorlib を解決できませんでした。これは、ターゲット フレームワークがインストールされていない場合、またはフレームワーク モニカーの形式が正しくない場合に発生する可能性があります。  .NET Frameworkの何かを消してしまったのでは?などと考えまして、 再インストールなど奮闘してみましたが、解決いたしません。。。 インストール済みの.NET~は添付図の項目になります。  もしお詳しい方がいらっしゃいましたら,是非ともアドバイスいただけないでしょうか。 どうぞよろしくお願いいたします。

  • VB6.0で作成したプロジェクトのVB.NETへのアップグレードでエラー発生

    卒業研究でVBを使う予定です。 先輩の研究を引き継ぐことになっているのですが、VB.NETでプロジェクトを開くことができなくて困っています。 先輩が開発したのはVB6.0で、今研究室のパソコンに入っているのはVB.NETです。 VB.NETのアップグレードウィザードを使えばVB6.0のプロジェクトをVB.NETで編集できることまで調べたのですが、いざアップグレードしようとしたときに以下のようなエラーが出てしまいます。 ・エラー文--------------------------------------- アップグレードに失敗しました:例外が発生しました:参照されたコンポーネント Slider Slider Slider Slider Slider Slider に、デザイン時のライセンスがありません。 -------------------------------------------------- アップグレードできるようにするにはどうすればいいでしょうか? よろしくおねがいします。

  • 構造体に関するエラーについて(VB6.0→VB.NET)

    私はプログラミング初心者なのですが、 モジュールAにて Type test A_test() As String End Type Global AAA As test 他の複数のモジュールにて For i = 1 To 10 AAA.Atest(i) = "123"   ←(A) Next i VB6.0では上記のようなプログラムが問題無く動作するのですが、VB.net(2003)にてアップグレードし、実行すると他のモジュールの(A)のところにて"オブジェクト参照がオブジェクト インスタンスに設定されていません。"といったエラーが発生してしまいます。"AAA.A_test(i)"の値"Nothing"になっており、それが問題だと思うのですが対処法が分かりません。ご存知の方がおられましたら御教授宜しく御願いします。

  • vb6について

    会社で、GPIB、I/O、ActiveXコンポーネントの環境下で、 VB6のプログラムを使用して試験評価を行っているのですが、 VB6のコードを変更するにあたり、うまくいきません。 どなたかご教授願います。 内容は、 コードを変更したいので、元々の.vbpを開くと、 まず、「オブジェクトライブラリは登録されていません」とエラーが出ます。 その後、「プロジェクトのロードを続けますか?」となるので、OKを押します。 すると、「読み込み中にエラーが発生しました。・・・.logを参照してください」と出ます。 気にせず、OKを押し、コードの内容を変更したあと(※変更しなくても)、 プロジェクトの上書き保存をしたあと、.exeの作成(上書き)をすると、 また、「読み込み中にエラーが発生しました。・・・.logを参照してください」と出ます。 気にせず、OKを押し、作成した.exeを開くと、変更した内容になっていますが、 いざ、実行すると、「実行時エラー”13” 型が一致しません」とエラーが出ます。 .logの内容を確認すると、”クラス・・・がロードされていません”とか、 ”プロパティ名・・・が不正です”とか表示されています。 試験する上で、使用しやすいようにVB6のコードを変更したいのですが、 試験で使用しているPCで元々のコードを変更しようとすると、上記のようなエラーが出ます。 どなたか、解決方法を教えてください。

  • vb6.exe - アプリケーションエラー

    VBで作成したEXEを終了させた時、プロジェクトからプログラムを実行して、 プロジェクトを終了させた時に、下記エラーが発生します。 (プロジェクトを開いて閉じるだけではエラーは発生しない。) -------------------------------------------------------- "0x7c950a19"の命令が"0xffffffff"のメモリを参照しました。 メモリが"read"になることはできませんでした。 -------------------------------------------------------- 自分のPCで実行した時のみ発生します。 (他のPCで実行してもエラーは発生しません。) 何かわかる方がいらっしゃいましたらアドバイス頂けたらと思います。 宜しくお願い致します。 <環境> XP SP3 メモリ4G VB6.0 SP6

  • VB .NETに関する書籍について

    現在までVB6でプログラミングをしていましたが、VB.NETに乗り換えてから、まったく使えなくなってしまいました。 Form1をクリックしたらForm2を表示するようにしたくて単純に Form2.show とやってみたところ、 「非共有メンバを参照するには、オブジェクト参照が必要です。」と言われますが、はたして何のことやら??と戸惑っています。 VB6では、コントロール操作やファイルの書込み、条件判断、エラー処理などといったプログラムの基本はわかっていますので、そのまま応用できると思うので、こんな私が参照すべき書籍があれば教えていただきたいと思います。

  • VB6.0で作ったSetup.exeにてエラー

    VB6.0のディストリビューションウィザードで作成した Setup.exeにてソフトのインストールができなくて困っています。 セットアップの途中で「予期せぬエラーが発生しました」 「¥¥@~ファイルが見つかりません」と表示されます。 どうもファイルを参照するときに¥マークのあたりが 文字化けしているようなのですが、原因が分かりません。 なんとかセットアップができるようにしたいのですが・・・ 環境はWin98、VB6SP5です。 誰かご教授願えませんか。 よろしくお願いします。

  • VB.net2003のアプリをVB2010で動かせるようにしたい

    VB.net2003のアプリをVB2010で動かせるようにしたい VB.net2003で作られたアプリですが、windows Vistaや7では動作しないというバグが発生した為、 開発環境を最新のVB2010にして動作するようにしようとしています。 プロジェクトを開くと自動的に変換をかけてくれるのですが、リビルドをかけると 添付のようにエラーが1つ発生して他にもワーニングが山のように出てきます。 vbって基本的にはアッパーコンパチだった思ったのですが、 別バージョンで動かすのはムリなのでしょうか?

  • サーバとVBの連携

    VB6.0について質問です。 これまでローカル環境だけのテストでは問題なく実行できていたのですが サーバに置いてあるDBを参照・更新しようとしたときにサーバ側のパスワードが 影響してエラーが発生してしまいます。 一旦VBを終了して端末からサーバにログインした後再びVBからサーバへ接続すると エラー無く実行されます。 このエラーを解消するにはどうしたらよいでしょうか。。。 参照・更新するたびにいちいちサーバに手入力ログインするのはシステム的にも問題があります。 お知恵をお貸しください。。。

専門家に質問してみよう