- package fight3D;
-
- import java.awt.Color;
- import java.awt.Font;
- import java.awt.GraphicsConfiguration;
-
- import framework.RWT.RWTCanvas3D;
- import framework.RWT.RWTLabel;
-
-
- public class FightCanvas3D extends RWTCanvas3D implements FightListener{
-
- Game game;
-
- double distance;
- RWTLabel player[] = new RWTLabel[6];
- float showY = 0.8f;
- float showX[];
-
- static final double POINT_SPACE = 0.075;
- double Point_distance = 0;
-
- RWTLabel TP[] = new RWTLabel[6];
- static final float TP_showY = 0.85f;
- float TP_showX[];
-
- RWTLabel HP[] = new RWTLabel[6];
- static final float HP_showY = 0.9f;
- float HP_showX[];
-
- RWTLabel GP[] = new RWTLabel[6];
- static final float GP_showY = 0.95f;
- float GP_showX[];
-
- int playerNum;
-
- RWTLabel TIMER_Minute = new RWTLabel();
- RWTLabel kolon = new RWTLabel();
- RWTLabel TIMER_Second = new RWTLabel();
-
- public void update(Fight f){
-
- //各種ポイントの表示
- for(int i = 0; i < f.getPlayerList().size(); i++){
-
- TP_showX = new float[playerNum];
- HP_showX = new float[playerNum];
-
- String T_P = Integer.toString(f.getPlayerList().get(i).getTp());
- String H_P = Integer.toString(f.getPlayerList().get(i).getHp());
- String G_P = Integer.toString(f.getPlayerList().get(i).getGp());
-
- TP[i].setString("TP : " + T_P);
- HP[i].setString("HP : " + H_P);
- GP[i].setString("GP : " + G_P);
- TP_showX[i] = (float) ((POINT_SPACE - 0.05) + Point_distance * i);
- HP_showX[i] = (float) ((POINT_SPACE - 0.05) + Point_distance * i);
- GP_showX[i] = (float) ((POINT_SPACE - 0.05) + Point_distance * i);
- TP[i].setRelativePosition((float)(TP_showX[i] + POINT_SPACE),TP_showY, RWTLabel.DRAW_RIGHT);
- HP[i].setRelativePosition((float)(HP_showX[i] + POINT_SPACE),HP_showY, RWTLabel.DRAW_RIGHT);
- GP[i].setRelativePosition((float)(HP_showX[i] + POINT_SPACE),GP_showY, RWTLabel.DRAW_RIGHT);
- }
-
-
- //タイマー表示
- String.valueOf(f.getRemnantMinute());
- String.valueOf(f.getRemnantSecond());
-
-
- String TIMER_M = Integer.toString(f.getRemnantMinute());
- String TIMER_S = Integer.toString(f.getRemnantSecond());
- if(TIMER_S.length() == 1){
- TIMER_S = "0" + TIMER_S;
- }
-
- TIMER_Minute.setString(TIMER_M);
- kolon.setString(":");
- TIMER_Second.setString(TIMER_S);
-
- if(f.checkEnd() == true){
- game.setRank(f.getRank());
- game.setTp(f.getTp());
- game.setDefeated(f.getDefeated());
- game.setDefeat(f.getDefeat());
- game.goNextGameState();
-
- }
- }
-
- ////////////////////////////////////////////////////////////////////////////////////
- public FightCanvas3D(GraphicsConfiguration gc, Game g, int playerNum) {
- super(gc);
- init(g, playerNum);
- }
-
- public FightCanvas3D(Game g, int playerNum) {
- init(g, playerNum);
- }
-
- public void init(Game g, int playerNum) {
- game = g;
- this.playerNum = playerNum;
- //プレイヤー
-
- double space = 0.075;
- distance = (1.0 - space * 2) / (double)playerNum;
-
- showX = new float[playerNum];
-
- for(int i = 0; i < playerNum; i++){
- player[i] = new RWTLabel();
- String name = Integer.toString(i+1);
- name = name + "P";
- player[i].setString(name);
- player[i].setColor(Color.GREEN);
- showX[i] = (float) (distance * i);
- player[i].setRelativePosition((float)(showX[i] + space),showY);
- Font p = new Font("",Font.PLAIN,20);
- player[i].setFont(p);
- addWidget(player[i]);
- }
-
- //トータルポイント
-
- double Point_space = 0.075;
- Point_distance = (1.0 - Point_space * 2) / (double)playerNum;
-
- TP_showX = new float[playerNum];
-
- for(int i = 0; i < playerNum; i++){
- TP[i] = new RWTLabel();
- String name = "TP:";
-
- TP[i].setString(name);
- TP[i].setColor(Color.RED);
- TP_showX[i] = (float) ((Point_space - 0.06) + Point_distance * i);
- TP[i].setRelativePosition((float)(TP_showX[i] + Point_space),TP_showY, RWTLabel.DRAW_LEFT);
- Font tp = new Font("",Font.PLAIN,10);
- TP[i].setFont(tp);
- addWidget(TP[i]);
- }
-
- //ヒットポイント
-
- HP_showX = new float[playerNum];
-
- for(int i = 0; i < playerNum; i++){
- HP[i] = new RWTLabel();
- String name = "HP:";
-
- HP[i].setString(name);
- HP[i].setColor(Color.BLUE);
- HP_showX[i] = (float) ((Point_space - 0.06)+ Point_distance * i);
- HP[i].setRelativePosition((float)(HP_showX[i] + Point_space),HP_showY, RWTLabel.DRAW_LEFT);
- Font hp = new Font("",Font.PLAIN,10);
- HP[i].setFont(hp);
- addWidget(HP[i]);
- }
-
- //ガードポイント
-
- GP_showX = new float[playerNum];
-
- for(int i = 0; i < playerNum; i++){
- GP[i] = new RWTLabel();
- String name = "GP:";
-
- GP[i].setString(name);
- GP[i].setColor(Color.YELLOW);
- GP_showX[i] = (float) ((Point_space - 0.06) + Point_distance * i);
- GP[i].setRelativePosition((float)(GP_showX[i] + Point_space),GP_showY, RWTLabel.DRAW_LEFT);
- Font gp = new Font("",Font.PLAIN,10);
- GP[i].setFont(gp);
- addWidget(GP[i]);
- }
-
- TIMER_Minute.setColor(Color.WHITE);
- kolon.setColor(Color.WHITE);
- TIMER_Second.setColor(Color.WHITE);
- TIMER_Minute.setRelativePosition(0.8f, 0.1f);
- kolon.setRelativePosition(0.86f, 0.1f);
- TIMER_Second.setRelativePosition(0.9f, 0.1f);
- Font t1 = new Font("",Font.PLAIN,40);
- Font k = new Font("",Font.PLAIN,40);
- Font t2 = new Font("",Font.PLAIN,40);
- TIMER_Minute.setFont(t1);
- kolon.setFont(k);
- TIMER_Second.setFont(t2);
- addWidget(TIMER_Minute);
- addWidget(kolon);
- addWidget(TIMER_Second);
-
- Point_distance = (1.0 - POINT_SPACE * 2) / (double)playerNum;
- }
-
-
- }
-