Всем привет!
Пытаюсь навести порядок с игрой и тут понеслось...
После того как стреляешь(пробелом) все как положено, летит буллет, НО баг в том, что пока снаряд не столкнется с препятствием или не улетит за пределы экрана, при повторном нажатии на пробел корабль сносит влево. Помогите пожалуйста. И нужен совет, как можно вывести счет очков в текстовом режиме на экран? Заранее спасибо!
package com.javarush.games.spaceinvaders;
public class ShapeMatrix {
public static final int[][] ENEMY = new int[][]{
{0, 0, 7, 7, 7, 0, 0},
{0, 7, 2, 7, 2, 7, 0},
{0, 7, 0, 7, 0, 7, 0},
{0, 0, 7, 0, 7, 0, 0},
{7, 7, 0, 7, 0, 7, 7},
{0, 0, 0, 0, 0, 0, 0},
};
public static final int[][] ENEMY_1 = new int[][]{
{0, 0, 7, 7, 7, 0, 0},
{0, 7, 2, 7, 1, 7, 0},
{0, 7, 0, 7, 0, 7, 0},
{0, 0, 7, 0, 7, 0, 0},
{7, 7, 0, 7, 0, 7, 7},
{0, 0, 0, 0, 0, 0, 0},
};
public static final int[][] ENEMY_2 = new int[][]{
{0, 0, 7, 7, 7, 0, 0},
{0, 7, 1, 7, 2, 7, 0},
{0, 7, 0, 7, 0, 7, 0},
{0, 0, 7, 0, 7, 0, 0},
{7, 7, 0, 7, 0, 7, 7},
{0, 0, 0, 0, 0, 0, 0},
};
public static final int[][] BULLET = new int[][]{
{2},
{2}
};
public static final int[][] PLAYER = new int[][]{
{0, 0, 6, 0, 0},
{0, 7, 6, 7, 0},
{6, 6, 4, 6, 6}
};
public static final int[][] KILL_PLAYER_ANIMATION_FIRST = new int[][]{
{4, 4, 4, 4, 4},
{4, 4, 4, 4, 4},
{4, 4, 4, 4, 4}
};
public static final int[][] WIN_PLAYER = new int[][]{
{0, 0, 5, 0, 0},
{0, 5, 5, 5, 0},
{5, 5, 5, 5, 5}
};
public static final int[][] KILL_PLAYER_ANIMATION_SECOND = new int[][]{
{4, 0, 4, 0, 4},
{0, 4, 0, 4, 0},
{4, 0, 4, 0, 4}
};
public static final int[][] KILL_PLAYER_ANIMATION_THIRD = new int[][]{
{0, 4, 0, 4, 0},
{4, 0, 4, 0, 4},
{0, 4, 0, 4, 0}
};
public static final int[][] DEAD_PLAYER = new int[][]{
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0}
};
public static final int[][] KILL_ENEMY_ANIMATION_FIRST = new int[][]{
{4, 4, 4},
{4, 4, 4},
{4, 4, 4}
};
public static final int[][] KILL_ENEMY_ANIMATION_SECOND = new int[][]{
{4, 0, 4},
{0, 4, 0},
{4, 0, 4}
};
public static final int[][] KILL_ENEMY_ANIMATION_THIRD = new int[][]{
{0, 0, 0},
{0, 4, 0},
{0, 0, 0}
};
public static final int[][] KILL_BOSS_ANIMATION_FIRST = new int[][]{
{4, 4, 4, 4, 4, 4, 4},
{4, 4, 4, 4, 4, 4, 4},
{4, 4, 4, 4, 4, 4, 4},
{4, 4, 4, 4, 4, 4, 4},
{4, 4, 4, 4, 4, 4, 4},
{4, 4, 4, 4, 4, 4, 4}
};
public static final int[][] KILL_BOSS_ANIMATION_SECOND = new int[][]{
{4, 0, 0, 4, 0, 0, 4},
{0, 4, 0, 4, 0, 4, 0},
{0, 0, 4, 4, 4, 0, 0},
{0, 0, 4, 4, 4, 0, 0},
{0, 4, 0, 4, 0, 4, 0},
{4, 0, 0, 4, 0, 0, 4}
};
public static final int[][] KILL_BOSS_ANIMATION_THIRD = new int[][]{
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 4, 4, 4, 0, 0},
{0, 0, 4, 4, 4, 0, 0},
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0}
};
// public static final int[][] BOSS_ANIMATION_FIRST = new int[][]{
// {0, 0, 4, 0, 4, 0, 0},
// {0, 2, 2, 2, 2, 2, 0},
// {4, 2, 0, 2, 0, 2, 0},
// {4, 2, 2, 2, 2, 2, 4},
// {0, 0, 4, 4, 4, 0, 4},
// {0, 0, 4, 0, 4, 0, 0}
// };
// public static final int[][] BOSS_ANIMATION_SECOND = new int[][]{
// {0, 0, 4, 0, 4, 0, 0},
// {0, 2, 2, 2, 2, 2, 0},
// {0, 2, 0, 2, 0, 2, 4},
// {4, 2, 2, 2, 2, 2, 4},
// {4, 0, 4, 4, 4, 0, 0},
// {0, 0, 4, 0, 4, 0, 0}
// };
public static final int[][] BOSS_ANIMATION_FIRST = new int[][]{
{0, 0, 5, 0 ,0 ,0 ,5 ,0 ,0},
{5, 0, 0, 5 ,5 ,5 ,0 ,0 ,5},
{5, 0, 5, 0 ,5 ,0 ,5 ,0 ,5},
{0, 5, 5, 5 ,5 ,5 ,5 ,5 ,0},
{0, 0, 5, 0 ,0 ,0 ,5 ,0 ,0},
{0, 0, 0, 5 ,0 ,5 ,0 ,0 ,0},
};
public static final int[][] BOSS_ANIMATION_SECOND = new int[][]{
{0, 0, 5, 0 ,0 ,0 ,5 ,0 ,0},
{0, 0, 0, 5 ,5 ,5 ,0 ,0 ,0},
{0, 0, 5, 0 ,5 ,0 ,5 ,0 ,0},
{0, 5, 5, 5 ,5 ,5 ,5 ,5 ,0},
{5, 0, 5, 0 ,0 ,0 ,5 ,0 ,5},
{5, 0, 0, 5 ,0 ,5 ,0 ,0 ,5},
};
}