/********************************/ /* ぷよぷよ(ゲーム全体の制御) */ /********************************/ import java.awt.*; import java.applet.*; public class Game2 extends Applet { int p_x = 1, p_y = 3, row = 12, col = 5; boolean game = true; Puyo py; int p[][] = new int [row][col]; /************/ /* 初期設定 */ /************/ public void init() { // 背景色 setBackground(new Color(238, 255, 238)); // ゲームパネルの配置 p[p_y][p_x] = 2; p[p_y][p_x+1] = 3; setLayout(null); py = new Puyo(this); add(py); py.setSize(30*col, 30*row); py.setLocation(10, 10); py.setBackground(Color.white); } /******************/ /* 左右上下の余裕 */ /******************/ public Insets getInsets() { return new Insets(10, 10, 10, 10); } } /****************/ /* ゲームパネル */ /****************/ class Puyo extends Panel { Game2 gm; /******************/ /* コンストラクタ */ /******************/ Puyo (Game2 gm_t) { gm = gm_t; } /********/ /* 描画 */ /********/ public void paint (Graphics g) { int i1, i2; // ゲーム中 if (gm.game) { for (i1 = 0; i1 < gm.row; i1++) { for (i2 = 0; i2 < gm.col; i2++) { if (gm.p[i1][i2] > 0) { switch (gm.p[i1][i2]) { case 1: g.setColor(Color.red); break; case 2: g.setColor(Color.pink); break; case 3: g.setColor(Color.green); break; case 4: g.setColor(Color.blue); break; } g.fillRect(i2*30, i1*30, 30, 30); } } } } // ゲームオーバー else { Font f = new Font("TimesRoman", Font.BOLD, 40); g.setFont(f); g.drawString("Game", 20, 200); g.drawString("Over!", 25, 250); } } }