小さな数学者による愉快な数学館

数学者を目指した自身がお気楽に数学に関することなどをupするブログです

全体表示

[ リスト ]

今日からゲーム開発に挑戦していこうと思います。

どんなゲームを作るかいろいろ悩んだんですが、
やはり自分の能力でできることは限られてくるので、

作り方がweb上にあることや、どんな出来になるか想像しやすいという理由から、
とりあえず テトリス を作ってみようという算段になりました!

(ホントはファイナルファンタジーみたいなのとか、独創的なゲームを作ってみたい!という思いもありましたが
まあそれは実質無理なので諦めました。。。orz)

それでも自分にとっては、まだまだよくわかってないのでホントに出来るのかは定かではありません。。。

とりあえず今日はテトリスっぽい画面が作れたら良しとしようということで始めました。

使う言語はJavaで描画などはjavafx使って作っていきます。

でいろいろやったのですが、一応web上にあったのをまねて作ってできたのがこれです!

イメージ 1

一応それらしい画面にはなりましたね!

ソースコードはこちら

package tetris;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
public class Title extends Application {
 private static final int BLOCK_SIZE = 25;
 private static final int COL = 10;
 private static final int ROW = 20;
 int field[][] = {
   {0,0,0,0,0,0,0,0,0,0}
   ,{0,0,0,0,0,0,0,0,0,0}
   ,{0,0,0,0,0,0,0,0,0,0}
   ,{0,0,0,0,0,0,0,0,0,0}
   ,{0,0,0,0,0,0,0,0,0,0}//5
   ,{0,0,0,0,0,0,0,0,0,0}
   ,{0,0,0,0,0,0,0,0,0,0}
   ,{0,0,0,0,0,0,0,0,0,0}
   ,{0,0,0,0,0,0,0,0,0,0}
   ,{0,0,0,0,0,0,0,0,0,0}//10
   ,{0,0,0,0,0,0,0,0,0,0}
   ,{0,0,0,0,0,0,0,0,0,0}
   ,{0,0,0,0,0,0,0,0,0,0}
   ,{0,0,0,0,0,0,0,0,0,0}
   ,{0,0,0,0,0,0,0,0,0,0}//15
   ,{0,0,0,0,0,0,0,0,0,0}
   ,{0,0,0,0,0,0,0,0,0,0}
   ,{0,0,1,0,0,0,0,0,0,0}
   ,{0,0,0,2,0,0,0,0,0,0}
   ,{1,2,1,2,1,1,1,1,1,2}//20
 };
 @Override
 public void start(Stage stage) throws Exception {
  Group root = new Group();
  Scene scene = new Scene(root, 250, 500, Color.BLACK);
  for(int i=0;i<ROW;i++) {
   for(int j=0;j<COL;j++) {
    Rectangle r = new Rectangle(j * BLOCK_SIZE, i * BLOCK_SIZE, BLOCK_SIZE, BLOCK_SIZE);
    if(field[i][j] == 1) {
     r.setFill(Color.BLUE);
     r.setStroke(Color.BLACK);
     root.getChildren().add(r);
    }else if(field[i][j] == 2) {
     r.setFill(Color.RED);
     r.setStroke(Color.BLACK);
     root.getChildren().add(r);
    }
   }
  }
  stage.setTitle("TETRIS");
  stage.setScene(scene);
  stage.show();
 }
 public static void main(String args[]) {
  launch(args);
 }
}

ちょっと見づらいですが悪しからず。

ここで、 Rectangle を生成しそのまま root に add してるだけなので、
これ消すのどうやんの?ってのがちょっと問題だと思ってます。

ですが、 javafx には canvas でもっといい描画ができるそうなので
明日以降はそっちのを使っていきたいです!

今日の目標は達成できたので今回はこの辺で終わろうと思います。
では(・ω・)ノシ

閉じる コメント(0)

コメント投稿

顔アイコン

顔アイコン・表示画像の選択

名前パスワードブログ
絵文字
×
  • オリジナル
  • SoftBank1
  • SoftBank2
  • SoftBank3
  • SoftBank4
  • docomo1
  • docomo2
  • au1
  • au2
  • au3
  • au4
投稿

.


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事