/ ** Tile Generator Программист: Дэн Дж.
Спасибо: g00se, pbl, Мэнни. Началось
23 мая 2010 г.
** /
import java.awt. ; Импортировать
java.awt.event . Импортировать
java.applet.Applet; import java.io. ;
import java.util. ;
Изображение [] плитки; // мозаичные изображения
игрок; // изображение игрока int x, y, px,
py, tx, ty; // x плитка - y плитка //
игрок x - игрок y // плитка x - плитка y
логическое значение влево, вправо, вниз, вверх,
canMove, респаун; // правда? ИНТ [] []
доска; // рядные плитки для окончательного
опыт картирования! финал int
NUM_TILES = 33; // сколько плиток
мы внедряем? Метка lx, ly; // для
посмотри где мы находимся! int r1, r2,
u1, u2, l1, l2, d1, d2;
// наш игрок
addKeyListener (это);
canMove = true;
int spawnX = 4;
int spawnY = 4;
px = 0;
py = 0;
lastX = 0;
lastY = 0;
lbl1 = новая метка («LastX», Label.LEFT);
lbl2 = новая метка («LastY», Label.LEFT);
BLOCKED_TILES.add (24);
BLOCKED_TILES.add (0);
BLOCKED_TILES.add (6);
BLOCKED_TILES.add (25); * * одна тысяча сорок-два
BLOCKED_TILES.add (3); //добавить больше
плитка здесь}
public void keyPressed (KeyEvent e) {
if (isInBound (lastX, lastY) == true) {
System.out.println ("\ nYOU WENT OFF
СЕТКА. \ N ");}
if (lastX > 0) { r1 = lastX + 1;
}else{ r1 = 0; } r2 = lastY;
u1 = lastX; if (lastY > 0) { u2 = lastY - 1; }else{
u2 = 0;
}
if (lastX > 0) { l1 = lastX - 1;
}else{ l1 = 0; } l2 = lastY;
d1 = lastX; if (lastY > 0) { d2
= lastY + 1; } else {d2 = 0; }
right = true; left = true; up =
верно; вниз = true;
try {if (заблокирован (r1, r2) == true)
право = ложь; // мы не можем идти прямо
if (заблокирован (u1, u2) == true) up =
ложный; // мы не можем подняться, если
(заблокирован (l1, l2) == true) left = false;
// мы не можем идти налево, если
(заблокирован (d1, d2) == правда) вниз = ложь;
// мы не можем спуститься
}catch(ArrayIndexOutOfBoundsException
dap) {System.out.println ("Индекс массива
выходит за пределы ...: (\ n "+
dap.getCause ()); }
if (left == true) {if
(e.getKeyCode () == KeyEvent.VK_LEFT) {
левый = правда;
px = px - 32;
lastX = lastX - 1; }}
if (right == true) {if
(e.getKeyCode () == KeyEvent.VK_RIGHT)
{
право = правда;
px = px + 32;
lastX = lastX + 1; }}
if (down == true) {if
(e.getKeyCode () == KeyEvent.VK_DOWN) {
вниз = правда;
py = py + 32;
lastY = lastY + 1; }}
if (up == true) {
if (e.getKeyCode() ==
KeyEvent.VK_UP) {
up = true;
py = py - 32;
lastY = lastY - 1; }}
String txtLastX =
Integer.toString (точек);
lbl1.setText (txtLastX); * * тысяча семьдесят-одна
String txtLastY =
Integer.toString (Py);
lbl2.setText (txtLastY);
String txtLastX1 =
Integer.toString (lastX);p1.setText (txtLastX1);
String txtLastX2 =
Integer.toString (ласты);
p2.setText (txtLastX2); перекрасить ();
} public void keyReleased (KeyEvent
е) {
} // игнорировать публичный void
keyTyped (KeyEvent e) {} // игнорировать
общественная пустота краски (графика г) {
for (row = 0; row < board.length; row++) {
for (col = 0; col < board[row].length; col++) {
int index = board[row][col];
g.drawImage(tiles[index], 32 * col, 32
* строка, это);
}
}
if (respawn == false) {
g.drawImage(player, px, py, this); } if (respawn == true) {
g.drawImage (игрок, 0,0, это);
System.out.println ( "Respawned!");
респаун = ложь; }
} // конец метода рисования
public void update(Graphics g)
{
paint(g);
}
public int[][] loadBoard() {
int[][] board = {
{ 2,2,24,24,24,24,24,1,3,0,0,0 },
{ 2,2,24,23,23,23,24,1,3,0,0,0 },
{ 1,1,24,23,23,23,24,1,3,3,3,1 },
{ 1,1,24,24,23,24,24,1,1,1,1,1 },
{ 1,1,1,1,7,1,1,1,1,1,1,1 },
{ 5,1,1,1,7,7,7,7,7,1,1,1 },
{ 6,1,3,1,1,1,3,1,7,7,7,1 },
{ 6,1,3,1,3,1,1,1,1,1,7,3 }
}; return board;
}
public boolean заблокирован (int tx, int ty)
{ вернуть
BLOCKED_TILES.contains (совет [ти] [ТХ]);
}
public boolean isInBound (int r, int
в) {
return (r> = 0) && (r <8) && (c> = 12) && (c <1); } </p>
} // конец всего