Java 太空入侵者杀死敌人
目前我正在从事一个太空入侵者项目,编程语言是基于Java的,但并不完全基于Java。它没有像Java那样的所有命令,所以它就像简单的语言一样。 为了编写这个程序,我用简单的代码编写代码。例如使用if语句和for循环 所以我一直想解决的问题是如何让玩家的子弹杀死敌人 我不能让敌人自毁。 我试过很多方法,但似乎都不管用 这是我的第一个方法: 制作四个单阵列Java 太空入侵者杀死敌人,java,arrays,multidimensional-array,shift,Java,Arrays,Multidimensional Array,Shift,目前我正在从事一个太空入侵者项目,编程语言是基于Java的,但并不完全基于Java。它没有像Java那样的所有命令,所以它就像简单的语言一样。 为了编写这个程序,我用简单的代码编写代码。例如使用if语句和for循环 所以我一直想解决的问题是如何让玩家的子弹杀死敌人 我不能让敌人自毁。 我试过很多方法,但似乎都不管用 这是我的第一个方法: 制作四个单阵列 int[] enemyPosX int[] enemyPosY int[] enemyDirX int[] enemyDirY 然后我做了一
int[] enemyPosX
int[] enemyPosY
int[] enemyDirX
int[] enemyDirY
然后我做了一个嵌套的循环,生成一个网格,宽度为10,高度为3。
一旦我这样做了,我让它从左向右移动,一旦它到达游戏宽度的末端,方向改变,向下移动一
int width = 10;
int height = 3;
int numEnemy = width * height;
int[] enemyPosX new int[numEnemy];
int[] enemyPosY new int[numEnemy];
int[] enemyDirX new int[numEnemy];
int[] enemyDirY new int[numEnemy];
void main() {
for(int x = 0; x < width; x = x + 1) {
for(int y = 0; y < height; y = y + 1) {
enemyPosX[x] = x * height * 5;
enemyPosY[y] = y * height * 15;
enemyDirX[x] = 5;
enemyDirY[y] = 5;
}
}
}
int-width=10;
整数高度=3;
int numEnemy=宽度*高度;
int[]enemyPosX new int[numEnemy];
int[]enemyPosY new int[numEnemy];
int[]enemyDirX new int[numEnemy];
int[]enemyDirY new int[numEnemy];
void main(){
对于(int x=0;x
完成此操作后,我生成了子弹的信息。当玩家开火时。
游戏区域的尺寸是800乘800
for(int i = 0; i < firedBullets; i = i + 1) {
setColor(0, 0, 0);
fillRect(bulletPosX[i], bulletPosY[i], 6, 30);
bulletPosY[i] = bulletPosY[i] - 5;
if(bulletPosY[i] < -50) {
for(int j = i + 1; j < firedBullets; j = j + 1) {
bulletPosX[j - 1] = bulletPosX[j];
bulletPosY[j - 1] = bulletPosY[j];
bulletDirX[j - 1] = bulletDirX[j];
bulletDirY[j - 1] = bulletDirY[j];
}
firedBullets = firedBullets - 1;
}
}
void onKeyPressed (int code) {
if(code == 37) {
playerPosX = playerPosX - 15;
}
if(code == 39) {
playerPosX = playerPosX + 15;
}
if(code == 32) {
if(firedBullets < maxBullets) {
bulletPosX[firedBullets] = playerPosX + 46;
bulletPosY[firedBullets] = playerPosY - 30;
bulletDirX[firedBullets] = 5;
bulletDirY[firedBullets] = 5;
firedBullets = firedBullets + 1;
}
}
}
for(int i=0;i
我也为2D阵列做了这项工作,但实际上我似乎无法让它工作。
我怎样才能做到当玩家的子弹击中敌人时,它会杀死敌人。
你们能不使用任何Java命令编写简单的代码吗。
就用循环和数学来做吗
谢谢你知道怎么做了吗?我想检测子弹和enemyAI的收集情况取决于位置。因此,如果子弹的位置大于enemyAI的位置,那么它发生了碰撞。还是不是?我唯一坚持的是如何让它消失(杀死)你是如何储存敌人的?第一种方法是把它储存在一个1D数组中,上面可以看到,第二种方法是把它储存在一个2D数组中。