基本的に私はjavafxを使用してゲームボードを作成しています。セルの状態に応じて現時点で文字値を返すセル状態クラスがあります。だから基本的には、セルが空の場合' '
を返します。もし私がそれにプレーヤーを持っていれば、'@'
などのセルの状態が返されます。私は文字の代わりに画像を返すことができるかどうか疑問に思っていました。イメージを返す方法
public class Cell {
CellState cellState;
public Cell(CellState newCellState) {
cellState = newCellState;
}
public CellState getCellState() {
return cellState;
}
public void setCellState(CellState newCellState)
{
cellState = newCellState;
}
public char displayCellState()
{
return getCellStateCharacter(cellState);
}
public char getCellStateCharacter(CellState newCellState)
{
switch (newCellState)
{
case EMPTY:
return ' ';
case PLAYER:
return '@';
case MONSTER:
return '&';
case POISON:
return '*';
case BLOCKED:
return '#';
default:
return ' ';
}
}
}
MY CELL状態CLASS
public enum CellState
{
EMPTY,
PLAYER,
MONSTER,
POISON,
BLOCKED
};
public class GameBoard {
static final int BOARD_WIDTH = 10;
static final int BOARD_HEIGHT = 10;
Cell[][] boardCells;
int width;
int height;
public GameBoard()
{
boardCells = new Cell[BOARD_WIDTH][BOARD_HEIGHT];
width = BOARD_WIDTH;
height = BOARD_HEIGHT;
}
public void initGameBoard()
{
for (int i = 0; i < height; ++i)
{
for (int j = 0; j < width; ++j)
{
boardCells[j][i] = new Cell(CellState.EMPTY);
}
}
boardCells[0][0].setCellState(CellState.PLAYER);
boardCells[2][4].setCellState(CellState.MONSTER);
boardCells[2][6].setCellState(CellState.MONSTER);
boardCells[7][8].setCellState(CellState.POISON);
boardCells[5][0].setCellState(CellState.BLOCKED);
boardCells[5][1].setCellState(CellState.BLOCKED);
boardCells[5][2].setCellState(CellState.BLOCKED);
boardCells[5][3].setCellState(CellState.BLOCKED);
}
public String displayBoard()
{
String output = "";
output +="| |";
for (int i = 0; i < width; ++i)
{
output +=i + "|";
}
output +="\n";
for (int j = 0; j < height; ++j)
{
output +="|" + j + "|";
for (int k = 0; k < width; ++k)
{
output +=boardCells[k][j].displayCellState() + "|";
}
output +="\n";
}
return output;
}
}
これを参照してください(http://stackoverflow.com/questions/13258790/how-to-use-getters-to-return-an-image-in-java) –
@ user7790438 awtイメージです。この質問は、異なるImageタイプを持つJavaFXに関するものです。 – jewelsea
@ jewelsea私はイメージにセルを設定する方法の簡単な例を教えていただけますか、私はちょっと混乱しています。 – javanoob