📄 gamecanvas.java
字号:
}
enemyTime1 = System.currentTimeMillis();
}
}
private void enemyInit2() {
long nowTime = System.currentTimeMillis();
if (nowTime - enemyTime2 > 4000) {
for (int i = 0; i < enemy2.length; i++) {
if (enemy2[i][0] == 0) {
enemy2[i][1] = width+10;
enemy2[i][2] = (random.nextInt() >>> 1) % 60;
enemy2[i][3] = (random.nextInt() >>> 1) % 2;
enemy2[i][0] = 1;
break;
}
}
enemyTime2 = System.currentTimeMillis();
}
}
//画敌方飞机
private void enemy() {
enemyInit();
for (int i = 0; i < enemy.length; i++) {
if (enemy[i][0] != 0) {
g.drawImage(enemyImage[0], enemy[i][1], enemy[i][2], 0);
}
}
enemyMove(3, 5);
}
private void enemy1() {
enemyInit1();
for (int i = 0; i < enemy1.length; i++) {
if (enemy1[i][0] != 0) {
g.drawImage(enemyImage[1], enemy1[i][1], enemy1[i][2], 0);
}
}
enemyMove1(3, 5);
}
private void enemy2() {
enemyInit2();
for (int i = 0; i < enemy2.length; i++) {
if (enemy2[i][0] != 0) {
g.drawImage(enemyImage[2], enemy2[i][1], enemy2[i][2], 0);
}
}
enemyMove2(3, 5);
}
//敌方飞机移动
private void enemyMove(int speedX, int speedY) {
for (int i = 0; i < enemy.length; i++) {
switch (enemy[i][3]) {
case 0:
enemy[i][1] -= speedX;
enemy[i][2] += speedY;
break;
case 1:
enemy[i][2] += speedY;
break;
case 2:
enemy[i][1] += speedX;
enemy[i][2] += speedY;
break;
}
if (enemy[i][2] > height || enemy[i][1] < 0 || enemy[i][1] > width) {
enemy[i][0] = 0;
}
}
}
private void enemyMove1(int speedX, int speedY){
for (int i = 0; i < enemy1.length; i++) {
switch (enemy1[i][3]) {
case 0:
enemy1[i][1] += speedX;
enemy1[i][2] += speedY;
break;
case 1:
enemy1[i][2] += speedY;
break;
}
if (enemy1[i][2] > height || enemy1[i][1] > width) {
enemy1[i][0] = 0;
}
}
}
private void enemyMove2(int speedX, int speedY){
for (int i = 0; i < enemy2.length; i++) {
switch (enemy2[i][3]) {
case 0:
enemy2[i][1] -= speedX;
enemy2[i][2] += speedY;
break;
case 1:
enemy2[i][2] += speedY;
break;
}
if (enemy2[i][2] > height || enemy2[i][1] < 0) {
enemy2[i][0] = 0;
}
}
}
//初始化敌方子弹
private void enemyBulletInit() {
long nowTime = System.currentTimeMillis();
if (nowTime - eBulletTime > 1000) {
for (int i = 0; i < enemy.length; i++) {
if (enemy[i][0] != 0) {
for (int j = 0; j < enemyBullet.length; j++) {
if (enemyBullet[j][0] == 0) {
enemyBullet[j][1] = enemy[i][1] + 3;
enemyBullet[j][2] = enemy[i][2] + 5;
enemyBullet[j][3] = (random.nextInt() >>> 1) % 4;
enemyBullet[j][0] = 1;
break;
}
}
}
}
eBulletTime = System.currentTimeMillis();
}
}
private void enemyBulletInit1() {
long nowTime = System.currentTimeMillis();
if (nowTime - eBulletTime1 > 1000) {
for (int i = 0; i < enemy1.length; i++) {
if (enemy1[i][0] != 0) {
for (int j = 0; j < enemyBullet1.length; j++) {
if (enemyBullet1[j][0] == 0) {
enemyBullet1[j][1] = enemy1[i][1] + 3;
enemyBullet1[j][2] = enemy1[i][2] + 5;
enemyBullet1[j][3] = (random.nextInt() >>> 1) % 4;
enemyBullet1[j][0] = 1;
break;
}
}
}
}
eBulletTime1 = System.currentTimeMillis();
}
}
private void enemyBulletInit2() {
long nowTime = System.currentTimeMillis();
if (nowTime - eBulletTime2 > 1000) {
for (int i = 0; i < enemy2.length; i++) {
if (enemy2[i][0] != 0) {
for (int j = 0; j < enemyBullet2.length; j++) {
if (enemyBullet2[j][0] == 0) {
enemyBullet2[j][1] = enemy2[i][1] + 3;
enemyBullet2[j][2] = enemy2[i][2] + 5;
enemyBullet2[j][3] = (random.nextInt() >>> 1) % 4;
enemyBullet2[j][0] = 1;
break;
}
}
}
}
eBulletTime2 = System.currentTimeMillis();
}
}
//画敌方子弹
private void enemyBullet() {
enemyBulletInit();
for (int i = 0; i < enemyBullet.length; i++) {
if (enemyBullet[i][0] != 0) {
g.drawImage(enemyImage[3], enemyBullet[i][1], enemyBullet[i][2], 0);
}
}
enemyBulletMove(3, 5);
}
private void enemyBullet1() {
enemyBulletInit1();
for (int i = 0; i < enemyBullet1.length; i++) {
if (enemyBullet1[i][0] != 0) {
g.drawImage(enemyImage[3], enemyBullet1[i][1], enemyBullet1[i][2], 0);
}
}
enemyBulletMove1(3, 5);
}
private void enemyBullet2() {
enemyBulletInit2();
for (int i = 0; i < enemyBullet2.length; i++) {
if (enemyBullet2[i][0] != 0) {
g.drawImage(enemyImage[3], enemyBullet2[i][1], enemyBullet2[i][2], 0);
}
}
enemyBulletMove2(3, 5);
}
//敌方子弹移动
private void enemyBulletMove(int speedX, int speedY) {
for (int i = 0; i < enemyBullet.length; i++) {
switch (enemyBullet[i][3]) {
case 0:
enemyBullet[i][1] -= speedX;
enemyBullet[i][2] += speedY;
break;
case 1:
enemyBullet[i][2] += speedY;
break;
case 2:
enemyBullet[i][1] += speedX;
enemyBullet[i][2] += speedY;
break;
case 3:
if (enemyBullet[i][2] < 100) {
if (enemyBullet[i][1] < planeX)
enemyBullet[i][1] += speedX;
else
enemyBullet[i][1] -= speedX;
}
enemyBullet[i][2] += speedY;
break;
}
if (enemyBullet[i][2] > height || enemyBullet[i][1] < 0 ||
enemyBullet[i][1] > width)
enemyBullet[i][0] = 0;
}
}
private void enemyBulletMove1(int speedX, int speedY) {
for (int i = 0; i < enemyBullet1.length; i++) {
switch (enemyBullet1[i][3]) {
case 0:
enemyBullet1[i][1] -= speedX;
enemyBullet1[i][2] += speedY;
break;
case 1:
enemyBullet1[i][2] += speedY;
break;
case 2:
enemyBullet1[i][1] += speedX;
enemyBullet1[i][2] += speedY;
break;
case 3:
if (enemyBullet1[i][2] < 100) {
if (enemyBullet1[i][1] < planeX)
enemyBullet1[i][1] += speedX;
else
enemyBullet1[i][1] -= speedX;
}
enemyBullet1[i][2] += speedY;
break;
}
if (enemyBullet1[i][2] > height || enemyBullet1[i][1] < 0 ||
enemyBullet1[i][1] > width)
enemyBullet1[i][0] = 0;
}
}
private void enemyBulletMove2(int speedX, int speedY) {
for (int i = 0; i < enemyBullet2.length; i++) {
switch (enemyBullet2[i][3]) {
case 0:
enemyBullet2[i][1] -= speedX;
enemyBullet2[i][2] += speedY;
break;
case 1:
enemyBullet2[i][2] += speedY;
break;
case 2:
enemyBullet2[i][1] += speedX;
enemyBullet2[i][2] += speedY;
break;
case 3:
if (enemyBullet2[i][2] < 100) {
if (enemyBullet2[i][1] < planeX)
enemyBullet2[i][1] += speedX;
else
enemyBullet2[i][1] -= speedX;
}
enemyBullet2[i][2] += speedY;
break;
}
if (enemyBullet2[i][2] > height || enemyBullet2[i][1] < 0 ||
enemyBullet2[i][1] > width)
enemyBullet2[i][0] = 0;
}
}
private void boss() {
g.setColor(0xffff0000);
g.fillRect(width-5,0,5,bossHp/10);
g.drawImage(image[8], bossX, bossY, 0);
g.setColor(0xffffffff);
bossMove(3);
}
private void bossMove(int speed) {
if (bossY < 15) {
bossY += 3;
}
else {
if (dir == 0) {
bossX -= speed;
if (bossX < 0)
dir = 1;
}
if (dir == 1) {
bossX += speed;
if (bossX > width - image[8].getWidth())
dir = 0;
}
}
}
private void bossBulletInit() {
if (bossY > 12) {
long nowTime = System.currentTimeMillis();
if (nowTime - bossTime > bossBulletTime) {
bossTime = System.currentTimeMillis();
for (int i = 0; i < bossBullet.length; i++) {
if (bossBullet[i][0] == 0) {
bossBullet[i][1] = bossX + image[8].getWidth() / 2;
bossBullet[i][2] = bossY + image[8].getHeight() -
image[9].getHeight() / 2;
bossBullet[i][0] = 1;
break;
}
}
}
}
}
private void bossBulletInit1() {
if (bossY > 12) {
long nowTime = System.currentTimeMillis();
if (nowTime - bossTime1 > bossBulletTime) {
bossTime1 = System.currentTimeMillis();
for (int i = 0; i < bossBullet1.length; i++) {
if (bossBullet1[i][0] == 0) {
bossBullet1[i][1] = bossX + image[8].getWidth() / 2 - 20;
bossBullet1[i][2] = bossY + image[8].getHeight() -
image[9].getHeight() / 2;
bossBullet1[i][0] = 1;
break;
}
}
}
}
}
private void bossBulletInit2() {
if (bossY > 12) {
long nowTime = System.currentTimeMillis();
if (nowTime - bossTime2 > bossBulletTime) {
bossTime2 = System.currentTimeMillis();
for (int i = 0; i < bossBullet2.length; i++) {
if (bossBullet2[i][0] == 0) {
bossBullet2[i][1] = bossX + image[8].getWidth() / 2 - 10;
bossBullet2[i][2] = bossY + image[8].getHeight() -
image[9].getHeight() / 2;
bossBullet2[i][0] = 1;
break;
}
}
}
}
}
private void bossBulletInit3() {
if (bossY > 12) {
long nowTime = System.currentTimeMillis();
if (nowTime - bossTime3 > bossBulletTime) {
bossTime3 = System.currentTimeMillis();
for (int i = 0; i < bossBullet3.length; i++) {
if (bossBullet3[i][0] == 0) {
bossBullet3[i][1] = bossX + image[8].getWidth() / 2 + 10;
bossBullet3[i][2] = bossY + image[8].getHeight() -
image[9].getHeight() / 2;
bossBullet3[i][0] = 1;
break;
}
}
}
}
}
private void bossBulletInit4() {
if (bossY > 12) {
long nowTime = System.currentTimeMillis();
if (nowTime - bossTime4 > bossBulletTime) {
bossTime4 = System.currentTimeMillis();
for (int i = 0; i < bossBullet4.length; i++) {
if (bossBullet4[i][0] == 0) {
bossBullet4[i][1] = bossX + image[8].getWidth() / 2 + 20;
bossBullet4[i][2] = bossY + image[8].getHeight() -
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -