• 締切済み

JavaとJavaScriptでの開発

今学校でオセロのプログラムを作っています。 コンピューター対戦はもうできているのですが、クラスの中で人対人のオンライン対戦(?)リアルタイム対戦(?)っていうんですかね? それを作ろうとしていて現在手詰まりです。。。 オセロ自体はJavaScriptで書いています 悩んでいるのは ・何を送信すれば良いのか ・送信したときにどう自分を待ち状態にするのか ・リアルタイム更新のやり方 ・受信して何を読み込めばいいのか などわからないことだらけです。 今の考え的には人対人だからCPのロジックを考えなくていいしファンクションで駒が置けるかの判断と駒を裏返すことをすればできてくるのではないかと考えてます(こんなかんがえでいいんでしょうか?) 盤面情報とプレイヤーの自駒の情報をサーブレットを使ってアプリケーションスコープに入れてみたりもしましたがやはりリアルタイムでの更新という所で躓いてしまいます 先生たちに聞いてもわからなかったので質問させていただきました 回答のほうよろしくお願いいたします。長文ですいません

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

みんなの回答

noname#80262
noname#80262
回答No.4

ふむ。 この質問、これ以上展開しそうにないって判断しますね。 その理由は、最初の質問時からいくつかありますが まずは 「先生達」何人もの先生から、一本化したアドバイスをもらっているのでしょうかね? また、共通の意見を持つ先生のアドバイスを聞いているのですかね。 また、実務経験など知識豊富なんですかね? littletokiさんが、きちんとやりたいことを固めてないようにしか思えませんね。また、AJAXがどこに利点あるかも理解してなさそうです。 AJAXの基本は サーバサイドプログラムに対して起動および戻り値を要求するものです。 当然ながら、サーバサイドの実装を逃げるものではありません。 それに、学校の授業で作成しているものであれば 当然、学校でもあるし、この年度末、開発期間は数えるほどですよね。 やりたいこと ・何を送信すれば良いのか が、でる自体、動作ろうとしてるかわかってないとしか思えませんね。 もっと自分の考えが決まっていて それについてアドバイスをしてもらいたいのであれば もっと明確な思想を発言すべきと思います。

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.3

> askaaskaさんのいってるのも二つのファイルですよね 違うわ。 ファイルというのは 試合の経過を記録するものよ。 前述したけど 物理的にファイルじゃなくても データーベースでもメモリでも何でもいいわ。 サーバで複数人が共有できれば。 対戦部屋の仕組みは教えられないわ。 まずは考えてみて頂戴。 私の価値観ではすでに助言のレベルを越えてしまうのよ。 今回のお話で一番難しいところは 2者、あるいは他者の間での情報(盤面)の共有だと思っているわ。 そしてこれは前述した「ファイル」を使う方針で解決できるはず。 あとは実現する技術の問題よ。 それ以外はServletの基本的な技術だけで実現できるはず。 リアルタイム更新だって難しければ最初は リロードボタンつけたっていいわけだし。

  • gess9999
  • ベストアンサー率75% (3/4)
回答No.2

質問は、リアルタイムでの更新ですね。 Cometという技術を使うと良いですよ。

littletoki
質問者

補足

回答ありがとうございます Cometってなんですか? googleで調べてみたのですが見当違いのものばかりで答えにたどり着けませんでした。。。

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

えー つまりアイデアの募集ってわけ? > 受信して何を読み込めばいいのか 単純に作成するなら 対戦部屋番号に対応してサーバにファイルを作成。 ファイルじゃなくてもDBでもなんでもいいけど 説明の都合上「ファイル」と呼ぶわね。 そのファイルに盤面を記録。 あとは画面にその内容を毎回表示すればいいんじゃない? JSP1枚あればOKだね。 > 送信したときにどう自分を待ち状態にするのか ファイルにどっちの手番かを記述しておけば 表示するときに判断できるね。 > リアルタイム更新のやり方 相手側手番のときに5秒間隔とか10秒間隔でリロードしたらどお? Ajax使うより楽だと思うけど。 > 何を送信すればいいか そのくらいは自分で考えようよ。 最低でも「どのマスを選択したか」は送らないといけないよね。 「誰が」は作り次第では不要だけど。 「部屋番号」も作り次第では不要だけど。 あとは画面のデザイン次第と思うよ。

littletoki
質問者

補足

回答ありがとうございます。 アイデアというか助言の募集です 対戦部屋ってどういう仕組みでできてるのか教えていただけないでしょうか? いろいろサイトを探してみたんですがよくわからなくて。。。 それと作らなくちゃいけないファイルって何がありますか? 今あるのがオセロ本体(html、script)と作っている途中ですがそれを格納するファイル(jsp)の二つがあります。 これらだけでよいのでしょうか? askaaskaさんのいってるのも二つのファイルですよね? ご指摘お願いいたします

関連するQ&A

  • 【うろ覚え】ファミコン?ソフトを探してます。

    ファミコン(またはスーパーファミコン)ソフトで一見オセロのような陣取りゲームがあったのを思い出し検索していますが見つかりません。 覚えているのはマス目上の盤面があり、オセロの駒みたいな物を使い自分の陣地を増やしていくゲーム・・だったと記憶しています。 ルールは自分が黒色、相手が白色の駒だった場合 ●●☆○○ ●●○○ ☆印に黒を移動すると ●●●●○ ●●●○ と、このように隣接する違う色の駒が自分の駒になるというルールだったと思います。 他に記憶しているのは2人対戦限定でなく複数人対戦できたような気がします。 何分記憶があやふやでファミコンなのか、スーパーファミコンなのか。 ゲームのルールがこれで合っているのかすら自信がありません。 もし似たようなゲームをご存知でしたら教えて下さい。

  • 「最新の情報に更新」でリクエスト送信したくない

    JSP + Servlet + JavaScriptでwebアプリを作っています。 フォームに値を入力して、リクエストをPOST送信したあとに、 ブラウザ(IE)の「最新の情報に更新」を押すと、もう一度POSTしてしまいます。 「最新の情報に更新」を押したときはリクエストを送信せず、 送信ボタンを押した場合のみリクエストを送信するには、 どのようにしたらよいでしょうか? セッションのスコープをを変えればよいのか、 JavaScriptやHTMLで対応できるのか、 よく分からないでいます・・・。 宜しくお願いします。

  • Javaと JavaScriptについて

    スピード測定をしようとすると「JavaとJavaScriptを有効にしてください」と。どうすればそれらを有効にできるのでしょうか。ちなみに、ノートンのセキュリティー2005をインストールしています。

  • JavaとJavaScriptでおかしなことが起きて困っています。

    すいません。殆ど初心者です。 人が作ったWebアプリを触っていたら、元に戻せなくなり困ってしまいました。 [開発環境] ・tomcat ・mysql ・JAVA ・JavaScript jspファイルでclassファイルへのPOSTに、 <form name="F1" method="POST" action="QuestionController"> 下記を追加したら、 <input type="submit" value="最初に戻る" onClick="location.href='url'"> ボタンは作成できたのですが、画面表示が変わりません。 それは特に問題ではなく、追加してしまったボタンを消そうと思い、<input type="submit" value="最初に戻る" onClick="location.href='url'"> を削除したのですが、ボタンが残ったままなのです。 JAVAとMYSQL全くの初心者で、HTML、CGI程度しか知りません。 JAVAとMYSQLを使うとそこに上記の記述が移動し保存される…? まったく予測もつきません。 本当に初心者で申し訳ないのですが、ボタンだけ表示させなくさせれば良いので、誰か助けていただけないでしょうか? 宜しくお願い致します。

    • ベストアンサー
    • Java
  • javaとjavascriptについて

    javaの初心者です。 Eclipse4.4を使用しまして、DesktopのGUIのappを作っています。 下記のimportを行ないまして。 Q1)これは、javaで作成するAppであり、javascriptとは、関係の無いものと   考えて宜しいでしょうか? Q2) javascriptで、作成するAppはdesktop以外のappでしょうか? お手数ですが、回答頂けますと、大変ありがたいです。 // import java.awt.GridBagLayout; //import java.awt.event.ActionListener; //import javax.swing.JFrame; //import javax.swing.JLabel; 以上

    • ベストアンサー
    • Java
  • java開発をしています

    現在会社のシステムのバグ修正をしているのですが、 自己解決できないので質問させていただきます。 システムの画面にPDFを埋め込みそのPDFを 画面として使う予定なのですがなぜかPDF が表示されません。 「Adobi PDF 文書 アクセスが拒否されました」 という内容のダイアログが表示され PDFが表示される部分は真っ白になってしまいます。 OSはwindowsXPでIE7を使用しています。adobeは9です。 <OBJECT width="100%" height="100%" classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" id="Pdf1"> <PARAM name="src" value="D:\report\pdf\test.pdf"> </OBJECT> OBJECTタグを使い表示しようとしています。 現在このバグにより進捗が全く進んでいません。 詳しく書けなくて申し訳ございません。 どなたかご教示お願いします。

    • ベストアンサー
    • Java
  • JavascriptからJavaへの変え方

    Javascriptで作ったものをJavaにしないといけなくなったのですが 私はJava初心者でまったくわかりません。 色々ネットで調べてみたのですが、どうも難しくて理解することができませんでした。 下にJavascriptで作ったものを載せてるのですがどなたかやり方を教えてもらえないでしょうか? <html> <head> <title>サンプル</title> <script type="text/javascript"> function jikoku() { dd = new Date(); document.F1.T1.value = dd.toLocaleString(); window.setTimeout("jikoku()", 1000); } </script> <script type="text/javascript"> mes = new Array(5); mes[0]="0"; mes[1]="1"; mes[2]="2"; mes[3]="3"; mes[4]="4"; date=(new Date()).getHours(); if( 0 <= date && date <= 5 ){ document.write(mes[0]); } else if( 6 <= date && date <= 10 ){ document.write(mes[1]); } else if( 11 <= date && date <= 16 ){ document.write(mes[2]); } else if( 17 <= date && date <= 19 ){ document.write(mes[3]); } else{ document.write(mes[4]); } </script> <script type="text/javascript"> function Random() { var kazu = Math.random(); kazu = kazu*100; kazu = Math.ceil(kazu); if( kazu<=9 ) document.write('<br/>○1<br/>'); else if( kazu<=19 ) document.write('<br/>○2<br/>'); else if( kazu<=29 ) document.write('<br/>○3<br/>'); else if( kazu<=39 ) document.write('<br/>○4<br/>'); else if( kazu<=49 ) document.write('<br/>○5<br/>'); else if( kazu<=59 ) document.write('<br/>○6<br/>'); else if( kazu<=69 ) document.write('<br/>○7<br/>'); else if( kazu<=79 ) document.write('<br/>○8<br/>'); else if( kazu<=89 ) document.write('<br/>○9<br/>'); else document.write('<br/>○10<br/>'); } Random() </script> <script language="JavaScript"> var imglist = new Array( "sample1.jpg", "sample2.jpg", "sample3.jpg", "sample4.jpg" ); var selectnum = Math.floor((Math.random() * 100)) % imglist.length; var output = "<img src=" + imglist[selectnum] + ">"; document.write(output); </script> </head> </html>

  • javaとjavascript

    私はこれからプログラミング言語を独学で1つマスターしたいと思っています。 候補としてjavaをあげていたんですが最近japascriptにも興味が湧いてきてしまいました。 ちなみに私はプログラマーとして就職して二年目のものなので今後開発などのことも考慮して学習しようと迷っています。 詳しい方がいましたら是非アドバイスを下さい。 できれば理由などもあれば教えて下さい。 明日か明後日にでも参考書を買ってこようと考えています。(良い参考書などもあればお願いします。) ちなみにこれまではVBしかやったことがありません。

    • ベストアンサー
    • Java
  • javascriptからjavaを呼び出したい

    javascriptの勉強中です。 javascriptでajaxを用いてjavaのメソッドにアクセスし、結果をjavascriptに返す、という実装をしたいのですが上手く行きません。 流れとしては以下のようなものを想定しています。 js /project/WebContent/js/testJS.js(画面の値を引数としてtestJavaクラスのtestMethodメソッドを呼び出す) ↓ java /project/src/java/jp/co/application/util/testJava.java(受け取った引数の値をtestDAOクラスのtestDAOMethodメソッドに渡す) ↓ java /project/src/java/jp/co/application/dao/testDAO.java(受け取った値を用いてDBにアクセスし、結果をjsに返す) まず技術的に、同じプロジェクト内のjavaメソッドをjs上で呼び出し、結果を受け取るということは可能なのでしょうか。 ご教示お願いします。

  • Java開発って何ですか?

    よく、企業の採用ページなどで、「Java開発経験者」などと 目にするのですが、その、「Java開発」って何ですか? Javaとは、言語だ、ということは、なんとなく分かっているのですが、 実際Javaが出来てどんな仕事に役立つのか? または、どんな仕事にJavaが必要なのか?など、Javaの生かされている環境を具体的に、知りたいです。 あと、ついでに、ORB技術ってのも教えて欲しいです。Javaと関連が あるのでは?と思うのですが。

    • ベストアンサー
    • Java

専門家に質問してみよう