• 締切済み

ミニゲーム作成。

今現在、反射神経のミニゲームを作ろうと思っています。 仕様は、スーパーファミコンの星のカービィスーパーデラックスに収録されていた、『刹那の見斬り』を参考に、CPUは登場せず、スタートボタンを押し、その後、1秒~5秒ぐらいをランダム、『はじめ!』を表示させて、ボタンを押し、その反応速度を競うものを作りたいです。 あと、そのゲームのベストスコアも残したりしたいので、ファイルの入出力も搭載したいです。 後々、ミニゲーム集として作るため、GUI搭載です。 部品のアップデートもやっていくと思うのでオブジェクト指向で。 やる事が複雑?というか、自分の力がそこまで無い?ので、ソースを教えて頂けたら助かります。 お願いします。

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

みんなの回答

  • yokkou
  • ベストアンサー率30% (34/111)
回答No.6

何が知りたいのかが不明です 「作ってくれ」って事ですか? 画面表示で「はじめ!」を表示することはできますか? java(アプレット)の作成方法は知ってますか? どこまで作れますか? ファイルの入出力も搭載したいとの事ですが ファイルI/Oなら調べれば瞬殺レベルで解決できるはずです それ以上のことを期待していますか? もしかして、 設計書+プログラム+実行ファイル ここまでを期待されていますか?

  • HarukaV49
  • ベストアンサー率53% (48/89)
回答No.5

>ソースが思い浮かばないです…。 すごく道のりは長いですよ。例えば、 long startTime = System.currentTimeMillis(); new Robot().delay( 3000 ); System.out.println( System.currentTimeMillis() - startTime ); これに、メインメソッドを付けて、実行してみることはできますか? そして、実行結果の意味は分かりますか? また、 long ans = ( 1.0 + Math.random() * 4.0 ) * 1000; この、ansには、どういう値(の範囲)が入るか分かりますか? あと、次の質問に答えられる範囲で、答えてみてください。 (1)私が提示したSystem#currentTimeMillis()等のJavaDocは見ましたか? (2)使っているエディターまたは統合開発環境は何ですか? (3)Javaプログラミング関連の書籍は何冊持っていますか? (4)ソフトウェア雑誌は今までに何冊ぐらい買ってますか?

  • HarukaV49
  • ベストアンサー率53% (48/89)
回答No.4

>『刹那の見斬り』はスタートと同時にボタンを押しより早く >(0.00秒に近づけるように)反応する?ミニゲームです。 これだけ聞くと、骨格はとても簡単に実装できそうです。 時間差については、 long System#currentTimeMillis() を使って、実行と反応後との差を取るだけで 実現できるでしょう。 >その後、1秒~5秒ぐらいをランダム これについては、 java.awt.Robot#delay(int millisec) double Math#random() を組み合わせて実装してみましょう。 どれぐらいできそうですか? なお、コードをアップしていただく場合には、mainメソッドを 付けて直接実行可能な形式にする必要は全くありません。 クラスになっていなくても良いですし、メソッドの形でも 良いですし、部分的なコードでも十分です。 なお、ファイル入出力については出来すぎです!(^^;

miyatatu_2005
質問者

補足

スミマセン…。 ソースが思い浮かばないです…。

  • PED02744
  • ベストアンサー率40% (157/390)
回答No.3

その友達のソースは、入力と出力が別々のプログラムになっていますね。(メインが2つ) ゲームとして動作させるのならば、一つのプログラムになるはずですし、 そもそも、ファイルへの入出力はゲーム開始時と終了時だけなので、このままじゃ使えないですね。 それよりも、対戦型なのですよね? ということは、二人(もしくはそれ以上の人数)の入力を扱う事になるとおもいますが、それはどのように考えておられますか? キーボード?マウス?もしくはそれ以外?

  • HarukaV49
  • ベストアンサー率53% (48/89)
回答No.2

私でよければ、ある程度お付き合いできますよ。 とはいうものの >『刹那の見斬り』を参考に、 といわれても全く知りませんが(^^; >ベストスコアも残したりしたいので、ファイルの入出力も搭載したいです。 この程度のファイル入出力なら、実質数行で書けます。 全くプログラミング経験が無いという事でしょうか? 初心者の人に分かりにくいのは、グラフィックス関連でしょう。 ゲームならば、動作スピードは全く妥協できない重要な問題ですので、 グラフィックスをレイヤー構造にしたり、更新領域をいかに小さく 限定するか等、非常にややこしい問題があります。 まずは、ファイル入出力のコードを書いて見せてください。 それを見て実力を推定した上で、より具体的なアドバイスを させて頂ければと思います。

miyatatu_2005
質問者

補足

『刹那の見斬り』はスタートと同時にボタンを押しより早く(0.00秒に近づけるように)反応する?ミニゲームです。 オブジェクト出力 public class objsyuturyoku{ public static void main(String[] args){ CharData player = new CharData("キラ",200,100); try{ //指定したファイル名にバイナリで出力 FileOutputStream hikkiyougu = new FileOutputStream("savedata.dat"); //オブジェクト単位で書き込めれるようにする ObjectOutputStream nao = new ObjectOutputStream(hikkiyougu); //playerをファイルに書き込む nao.writeObject(player); //終了処理 nao.close(); hikkiyougu.close(); }catch(IOException e){System.out.println("error");} } } オブジェクト入力 public class objnyuuryoku{ public static void main(String[] args){ CharData player; //= new CharData("キラ",200,100); try{ //指定したファイル名にバイナリで出力 FileInputStream hikkiyougu = new FileInputStream("savedata.dat"); //オブジェクト単位で書き込めれるようにする ObjectInputStream nao = new ObjectInputStream(hikkiyougu); //playerをファイルに書き込む player = (CharData)nao.readObject(); //終了処理 nao.close(); hikkiyougu.close(); System.out.println("name:"+player.getName()+" HP:"+player.getHp()); }catch(ClassNotFoundException e){System.out.println("クラスはない");} catch(IOException e){System.out.println("クラスみれん");} } } ちなみにこれらのソースも友達にほとんど助けてもらった感じで、実力は低いです。

  • mahny
  • ベストアンサー率74% (57/77)
回答No.1

えーと、良かったら見積書をお作り致しましょうか? という冗談はさて置き、流石に「そりゃないぜ、とっつぁん」です。 >やる事が複雑?というか、自分の力がそこまで無い?ので、 >ソースを教えて頂けたら助かります。 まずは貴方自身がJavaなり何なりを始める所からやらないとダメなんじゃないかなぁ。 http://www.google.co.jp/search?q=Java+%E3%82%B2%E3%83%BC%E3%83%A0+%E6%9B%B8%E7%B1%8D&ie=UTF-8&oe=UTF-8&hl=ja&lr= 幸い初心者をターゲットとしたJavaの書籍たくさんありますし http://javagame.main.jp/index.php?%A4%CF%A4%B8%A4%E1%A4%CB ↑ここのようなサイトも探せばものの2~3分で見つかります。 まずは、本を一冊買って勉強されてはいかがですか。

関連するQ&A

  • JavaScript ミニゲーム作成中に・・・

    こんにちは。趣味でプログラミングをしているものです。 JavaScriptで1から25までの数字が 正方形を25個に分割した小さな正方形に ランダムに配置されたものをクリックしていく、 というミニゲームをオブジェクト指向っぽく作っているのですが、 わからないところが出てきましたので質問させていただきます。 まず、ゲームの内容について説明させていただきます。 (1) htmlにdivタグを記述してidを 'stage' とします。 (2) ゲームの初期設定、処理を担当するのはGAMEクラスのインスタンスです (3) GAMEクラスは 'stage'に 正方形を 5*5 = 25 個の小さな正方形に分割した FieldPartクラスのインスタンスを配置します。 これらのインスタンスをリストに格納しておきます。 FieldPartインスタンスの描画は小さな正方形を表す divタグをフィールドにもち、border を指定して 'stage' にappend して 小さな正方形の枠を描画します。 数字のピースを表すスーパークラスPieceを定義しておき さらにサブクラスを定義します   FieldPartインスタンス一個を丸々埋め尽くすLPiece, FieldPartインスタンス一個の 半分の面積の横長の部分を埋めるHtPiece FieldPartインスタンス一個の 半分の面積の縦長の部分を埋めるVtPiece,です。   HtPiece, VtPiece はどの一行あるいは一列をみても   各ひとつずつ配置されるようにします。 これらサブクラスの描画も createElementでdivを作成し、   FieldPartインスタンスのフィールドが保持するdivにappendします。 このappendを担当するPiece のサブクラスのメソッドは (各サブクラス).prototype.belongTo = fundtion( fieldpart ) { 以下省略 } と記述しました。 (4) Piece クラスの各サブクラスへの継承ですが 以下のサイトを参考にさせていただきました。 http://d.hatena.ne.jp/vividcode/20110316/1300269173   この中の Classical Pattern #5 を用いました。 そして (各サブクラス).prototype.belongTo = function( fieldpart ) { // } として定義しました。 (5) 実行してみると、LPiece はうまくappend できるようです。 HtPiece は div の height が少し大きめに描画されるようですが append できます。 これについてはまたあとで考えるとして 問題はVtPiece なのですが VtPiece の belongTo の実行になると IE は [オブジェクトは 'vtBelongTo' プロパティまたはメソッドをサポートしていません。] というエラーメッセージを表示します。 各サブクラスのPieceクラスからの継承の記述の順番はLPiece, HtPiece, VtPieceですが 何か関係があるのでしょうか? スペルミス等がない場合には [オブジェクトは 'vtBelongTo' プロパティまたはメソッドをサポートしていません。] というエラーメッセージが表示される原因としては どのようなものが考えられるのでしょうか? ご存知の方、教えていただけないでしょうか? よろしくお願いします。

  • GUIプログラミングについて

    GUIプログラミングについて質問です。 オブジェクト指向(Java)を用いて1秒ごとにカウントアップするプログラムを作成しました。 2つのボタンを持ち、1つは再生・停止ボタン、 もうひとつは秒数をリセットするボタンとして配置し、 再生・停止ボタンが押されたらカウントアップをはじめ、 リセットボタンで秒数をリセットします。 一応動作はしたのですが、 一番最初に実行した際にカウントが 0,0,1,2,....という具合に0秒目が2回カウントされてしまいます。 このような場合原因としてどのようなことが考えられるでしょうか? よろしくお願い致します。

  • C++でのブロック崩しゲームの作成に関して

    初めまして。C++で動くブロック崩しを作成していますがそれに関して2つ質問させて頂きます。 (1)オブジェクト指向によるブロック、パドルでのクラス宣言 オブジェクト指向に基づきプログラミングをしており、パドル、ブロック、ボールといった物体をクラス定義しそれらをゲームクラスで統括する方法をとっています。また、他クラスのインスタンスやメソッドはgetter/setter関数で取得し、その際に参照するクラスの宣言は"const Ball& ball"の様に行っています。 他クラスを参照する必要のある場合は、例えばBlockクラス内でBallとの衝突判定や衝突応答を行いたい時に宣言を行っています。衝突判定ならばBoolean型を返すだけなのでconstで宣言出来るのですが、衝突応答ではボールを反射させる(ボールの速度を変化させる)必要があるためconstで宣言出来ません。 現在は"Ball& ball"と宣言をしていますが、これでは他クラス内でインスタンスの値を変更できてしまうため行儀が良いとは思えません。言っている事が矛盾しているとは思いますが、何とか"const Ball& ball"で宣言しつつBlockクラス内でボールの速度を変化させる方法は無いでしょうか? (2)ブロックとボールの衝突応答 ブロックとボールの衝突応答について、以下の様に記述しています。 void Block::reflect(Ball& ball){ Vector ballnext; ballnext.x=ball.getx()+ball.getVx(),ballnext.y=ball.gety()+ball.getVy(); if(fabsf(ballnext.x-this->x) <= this->width/2 && fabsf(ball.getx()-this->x) >= this->width/2){ ball.setVx(-ball.getVx()); } else if(fabsf(ballnext.y-this->y) <= this->height/2 && fabsf(ball.gety()-this->y) >= this->height/2){ ball.setVy(-ball.getVy()); } } この関数より前にブロック内にボールが含まれるかどうかの衝突判定を行っています。この関数では、数秒先のボールの位置がブロック内に含まれており、現在のボールの位置が含まれていない場合のそれぞれの位置関係で反射方向を決めています。 ですがこれでは上手く反射されません。ボールがブロックに接触し暫く突き進んだ後に反射されます。 しかし、 ballnext.x=ball.getx()+ball.getVx()*2,ballnext.y=ball.gety()+ball.getVy()*4; の様に記述すると上手く反射されます。何故こうなるのかが理解出来ません。 長文になってしまい申し訳ありませんが、どなたかご教授して頂けたら幸いでございます。

  • 現在JAVA+SWINGでGUIアプリケーションを作成しています。

    現在JAVA+SWINGでGUIアプリケーションを作成しています。 JPanelのレイアウトマネージャーCardLayoutで10枚程度のページを作成し、パネル上のボタンをクリックすると次のページにジャンプする機能を実装中です。 いまのところパネル上のボタンをクリックし、パネル遷移をさせる方法として、一つのメインclassにパネルのすべてのパラメーターを記述しています(要はそのアプリはいまのところ、一つのjavaファイル) 希望としてはオブジェクト指向らしく、複数のクラスの組み合わせでつくりたい(それぞれのパネルは独立したclassでメインclassはパネルclassの呼び出しだけ)のですが、ページの切替Actionを独立したクラスにどのように記述すればよいのかわからない状態です。 構成 mainFrame mainPanel(CardLayout) subPanel01 button01(ボタンをクリックするとmainPanel上のsubPanel02へ切り替わる) subPanel02 button02(ボタンをクリックするとmainPanel上のsubPanel01へ切り替わる) やりたいこと subPanel01とbutton01を別のjavaファイル(class)として分け、mainPanelにはclassの呼び出しただけで、構成管理を簡略化したい 上記のことを実装しようとすると。子classのActionイベントで親のパネルに指示を出せないとパネルが切り替わらないとおもうのですが、このような実装は可能でしょうか? 初心者で申し訳ございませんが、宜しくお願いします。

    • ベストアンサー
    • Java
  • 簡単なミニゲーム創るとしたらどんなのを創りますか?たくさんのお答えお待ちしてます。

    ゲームって創るのが難しいと思います。とくにミニゲームは簡単なようで非常に難しいと思います。短い時間で簡単な操作方法で。もしミニゲーム創るのならどんなゲームつくりますか?教えてください。(レバー1個とボタン1つでできるような単純なやつ)トランプのゲーム考えた人ってすごいですよね~!

  • ミニゲームを探しています

    あるミニゲームを探しています。 棒人間が2人いて、1人は投げる・もう1人は打つという単調なゲームです。PCのスペースキーで打ちます。投げるほう(こちらの操作はできません)は魔球をよく投げてきます。消える魔球・早くなったり遅くなったりする魔球などです。 打つほうはストライク・ヒット・ホームランなどあり、点数がついています。しかし通信タイプではないので誰かと競うことはないです。10球くらい打って終わります。 前に友人からメールに添付されてきました。利用料金や登録などもないです。 本当に単調なゲームなんですが、おもしろいのでぜひまたやりたいのです。どこで探せば手に入るでしょうか?ご存知のかたがいらっしゃいましたら、ぜひ教えてください。よろしくお願いします。

  • エアガイツのミニゲーム

    数年前にPSのソフト『エアガイツ』のミニゲームにアクションRPGのダンジョンソフトがありました。 あれがとても面白くて熱中していたんですが、 他に似たようなソフトがあれば是非教えてください。 できれば『トルネコ系』のシュミレーション型ではなく、アクションゲームのように自分で操作して遊べる形がベストです。 ヨロシクお願いします♪

  • どいてなUSOのミニゲームがむ、難しい・・・

    どいてなUSOを持っていると、おじいさんの家に行くとできるミニゲームのことなんですが、どうしても1分30秒以内にクリア出来ません。スモールオーブがあると走りやすいと攻略本に書いてあったのですが、そのスモールオーブがどこにあるのかわからなくて・・・。ゲイルオーブは、私の勝手な想像ですが(笑)1分30秒以内にクリアすれば、手に入ると思うのです。スモールオーブのある場所を教えてください!もしよければ1分30秒以内に走れる攻略方なども教えていただけるとうれしいです。

  • 猛獣王のミニゲーム

    初歩的な質問で恐縮ですが、あのミニゲームには一体どnな意味合いがあるんでしょうか?

  • チョコボのミニゲーム

    飛空艇が操縦できるようになってすぐにナギ平原にチョコボのミニゲームをしようと 思ったんだけどミニゲームをさせてくれる人がどこにもいません。 最初は北西にいた人です。 もしかしたらもうできないのでしょうか?