• ベストアンサー

Javaの基本知識でゲーム作成

簡単なゲームを作れという課題なので、 ○×ゲームを作ろうと思ったのですが、 C言語よりもJavaは難しいですね… 今途中まで作ったのですが、 同じ行でエラーが多発して何を試しても解決しません…。 先生に聞こうにも提出期限まであと少し。 初心者からの授業だったため安心して授業を受けていたのですが 途中から急にレベルが上がり、エラーが出ても 自分じゃ解決方法がわかりません。 http://catprettyw.bbs.fc2.com/ この掲示板をお借りして、途中までできたプログラムを書きたいと思います。 よろしければコメント、訂正するべきところの指摘などをよろしくお願いします。

  • Java
  • 回答数4
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
noname#152491
noname#152491
回答No.2

コードをよく調べて、以下の部分が気になりました。 以下の部分を修正してみてはどうでしょうか。 1. if(A[0][2]==batu && A[1][1]==batu && A[2][0]==batu) return 200; else return 0; 自分の場合は、else文が入った時は中かっこ({...})で囲み、ブロックにします。以下のような感じですね(C言語で)。ここは好みもあるでしょうが、一行以外では視認性を上げるために行っています。 1行:  if(obj != NULL) return NULL; elseあり:  if(obj != NULL){   return NULL;  }else{   return obj;  } 2. static int input(int A[][]) throws IOException{//番地を入力する int i,j,maru=0,batu=-1; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); int b = Integer.parseInt(str); for(i=0;i<3;i++){ // for 2 for(j=0;j<3;j++){ // for 1 if((A[i][j]==b && A[i][j]!=maru ) | (A[i][j]==b && A[i][j]!=batu))return b; //番地入力 if((A[i][j]==b && A[i][j]==maru ) | (A[i][j]==b && A[i][j]==batu)) { // if System.out.print("正しい番地を入力してください。"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str2 = br.readLine(); int b = Integer.parseInt(str2); //もし番地に○、×の値があった場合は return b; //値を入力しなおす } // if } // for 1 // for 2 ? while(A[i][j]==b && A[i][j]!=maru && A[i][j]!=batu); } // static... 中かっこが足りないと思います(自分ではあまり省略表現を使わないので、知らないだけかもしれませんが(汗))。 末尾の中かっこを無くすとエラーが増える原因はこれかもしれませんね。

komenukasu
質問者

お礼

回答ありがとうございました!

その他の回答 (3)

回答No.4

こんばんは。 突っ込みどころ満載のソースだが・・・、 まぁ、それは置いておいて。 括弧の数だけが問題なら、 一番最後の}が要らない。 その代わりに、static void InsertMaru の上に}を追加。

komenukasu
質問者

お礼

色々ごちゃごちゃしているソースですみません; おかげでエラーがごっそり減りました!! 回答、ありがとうございました!

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

> C言語よりもJavaは難しいですね… ってありますけど、基本構造は一緒です。 ifとかforとかの{}も一緒です。 {}の不対応でエラーが出るなら、そして「Cなら簡単」と思っているなら、Javaだということを一旦横に置いておいて、Cとしてプログラムの構造を追いかけてみたらどうです?

komenukasu
質問者

お礼

c言語にはクラスが無いから楽なんですよねぇ~ 一応C言語の構造、見てみようと思います。 回答ありがとうございました!

noname#152491
noname#152491
回答No.1

はじめまして。Javaは少しだけ使ったことがあるC言語使い(C++は+α程度)です。 ソースコード(=プログラム)を読んでみました。 コードのインデント処理を行っていないのか、掲示板の都合でインデントが無効化されたのかはわかりませんが、少し読みにくいですね。 それは置いておいて、ざっと見る限りだと、末尾の}が1つ多いと思います。 static void InsertBatu(int A[][],int b){ //×の番地の数値を×(-1)に変える int i,j,batu=-1; for(i=0;i<3;i++){ for(j=0;j<3;j++){ if(A[i][j]==b) A[i][j]=batu; } // for } // for } // static void } // class marubatu } // ←? コンパイラは、エラーこそ出力しますが、それに囚われてはいけません。 状況や、コンパイラの解釈に一番近いエラーを出力するだけなので、その出力があっている事もあれば、間違っている事もあります。 どの行で発生したか? というのが出る場合は、その周辺を調べて、わからない時は誤字脱字や多すぎる文字等を探してみると、解決する事もあります。 ご参考までに。

komenukasu
質問者

補足

うーん、それがないと余計なエラーが増えるんですよね; }がどうたらって1個エラーが増えるので、}を付け足したんです… 試しに付け足してみたところ、エラーがひとつ増えました。 確かに}は一個多いと思うのですが・・・なんでなんでしょうかね?

関連するQ&A

  • (学校課題)Javaを使った簡単なゲームについて

    現在、学生の者です。 学校の課題でJavaを使って、簡単なゲームをつくろうというものがでたのですが、一時、入院し、授業に出席できなかった為、勝手がわからなく困っています。 GameCanvasというフレームワークを使ってゲームをつくれと指示されたのですが、これは、一般的な本に載っているようなJava知識で構築できるのでしょうか? また、おすすめの本や知識などがありましたらお教えください。 宜しくお願いいたします。

  • ネットワークゲーム

    こんにちは。自分はプログラミングに関してはほとんど初心者に近い者で、学校の授業でVBとJavaをほんの少しかじった程度の経験しかありません。今回お聞きしたいことは、JAVAとC言語の特徴の違いです。というのも、自分はプログラミング初心者ではありますが、ネットワーク対戦型の簡単な(?)ゲームを作ってみたいと考えていて、どの言語が適しているのか知りたいのです。近所の本屋ではC言語の本はどれも分厚くてとっつきにくそうなのですが、JAVAの本は比較的容易な感じで実際に「ネットゲームを作って覚える」といった名前の書籍も見つかました。ですが、実際どの言語でどのレベルまでのゲームが作れるのかわからないので是非ご助言くださいm(_ _)m

    • ベストアンサー
    • Java
  • javaのプログラミングについて教えてください

    大学の課題で摂氏から華氏を求めるプログラミングを作っているのですが、コンパイルをするとどうしても下のようなエラーが出てしまいどこを直せば良いのか教えてください。 エラー: <identifier>がありません pubulic static void main(String[]args){ ちなみに言語はjavaでサクラエディタを使っています。 初心者で何もわからないのでよろしくお願いいたします。

    • ベストアンサー
    • Java
  • javaが表示されない

    javaでゲームをしようとしたら突然「アプリケーションがブロックされました」と表示され 「セキュリティ設定により、安全でない、または期限切れのjreによるアプリケーションの実行がブロックさてれいます。」と書いてあり、javaを表示できません。解決法を教えてください。よろしくお願いします。

    • ベストアンサー
    • Java
  • 就活に備えてゲームを作りたい!

    将来、ゲームプログラマーになりたいと考えている大学生です。 就活の際にゲームを作って提出したいので少しずつでも勉強したいと思っているのですが、まずはどういう本から勉強したらいいでしょうか? 目標はシューティングゲームの作成ですが、まずは比較的簡単なものからチャレンジしたいと思っています。 言語は大学の授業でC、C++、Javaを習った程度です。 オススメの参考書がありましたら、是非教えてください。 よろしくお願いします。

  • 超初心者のJAVA入門(学生)

    現在大学の授業の一環で出色々なプログラミング言語を勉強しています。 まだまだ初心者で、この前までは簡単なHTMLを勉強しました。 しかしいきなり、授業レポートで「初心者の為の初心者によるJAVA入門」と言う内容でJAVA(意味や文法を)を本当の初心者に分かりやすく斬新に説明すると言う課題が出てしまいました。 私自身JAVAなんて一切やったことが無くて文法の説明すら出来ない状態です。取り合えずJAVAを使えるようにNetBeansはダウンロードしました。 レポートの提出は1月いっぱいでレポート用紙30枚ほどで書くんですが、書き方の何か良い案や、お勧めサイトなんかは無いでしょうか? 宜しくお願いします。

    • ベストアンサー
    • Java
  • javaが動かず、ウィンドウがフリーズしてしまいます

    javaが動かず、ウィンドウがフリーズしてしまいます 昨日から、javaを使っているページを開くとウィンドウがフリーズするようになりました こうなってしまった原因に、多少の心当たりがあるのですが色々試してみても直らないので質問させてください まず、心当たりのある原因についてなのですが… つい最近あたらしいパソコンを購入したのですが、レンタルのお絵かき掲示板(もう何年も愛用しているもの)でペンタブの不具合が出てしまい(線がカクカクする) それを直すためにgoogleで調べて、それらしい解決法を手当たり次第に実行してみました ・javaのインストールとアンインストール ・ペンタブレットやドライバの設定 ・msconfigを開いて「Tablet PC Input Service」の停止 ・コントロールパネルからjavaのネットワーク設定を「直接接続」にする ・パソコンの再起動 他にもあったかもしれませんが、色々やりすぎて思い出せません… ただ、その結果、ペンタブでの線がカクカクするという不具合は解決し無事にお絵かき掲示板に投稿ができたのですが、 その直後にその投稿した絵を修正しようとした時(投稿から時間差10分程度)から javaを含むページを表示するとウィンドウがフリーズしてしまうようになりました お絵かき掲示板はhttp://oebit.jp/からのレンタル掲示板です 他にもjavaゲームのあるページを開いても同様にフリーズします OSはWindows7 ブラウザはInternet Explorer8を使っています javaを使ったページが開けないので困っています、どうぞよろしくお願いします  

  • FC2掲示板のカスタマイズ

    サイトのBBSにFC2掲示板を利用しているのですが、コメント記入欄がページの下方に来るように設定するにはどうしたらいいのでしょうか? コメント記入欄が書き込みの下にくるようにしたいのです。 やり方がよく分からなくて…。ご存知の方はぜひ教えて下さい。よろしくお願いします。

  • Firefox javaでの不具合

    いくつか検索して似たような事例が無かったために質問しました java Script が利用された一部のサイトで 完全にページが表示されたあと真っ白な画面に飛ばされることがありまともにページを見ることができません ロードを途中で中断するとみることが出来るのですが正直言って面倒です javaのエラーと断定した理由として javaを無効化すると問題が再現されません javaの再インストール、firefoxの再インストール、セーフモードなど試してみたのですが解決せず・・・ 対策をご存知の方はいらっしゃらないでしょうか?

  • Javaのインストールエラーについて

    Javaのインストールエラーについて Javaホームページで無料javaのインストールを行うと、途中で 「選択した機能は現在使用できないネットワークリソースにあります。  OKをクリックして再実行するか、インストールパッケージ'jre1.6.0_12.msi'を含む  フォルダに対する代替パスを以下のボックスに入力します。」 と表示されます。 どなたか解決策を教えてください。

専門家に質問してみよう