Skip to content

Instantly share code, notes, and snippets.

@sephto
Last active December 15, 2015 15:09
Show Gist options
  • Save sephto/5279257 to your computer and use it in GitHub Desktop.
Save sephto/5279257 to your computer and use it in GitHub Desktop.
package com.badlogic.androidgames.nautastro;
import android.util.Log;
public class MeteorShower implements SpaceObjects {
float xSpeed[] = new float[400];
float ySpeed[] = new float[400];
int x, y;
Meteor meteor[] = new Meteor[400];
int multi = 1;
int count = 0;
int type = 0;
public MeteorShower() {
}
public void moveObject() {
for (int i = 0; i < count; i++) {
meteor[i].x += xSpeed[i] * multi;
meteor[i].y += ySpeed[i] * multi;
if (meteor[i].x < 0)
meteor[i].x = 320;
if (meteor[i].x > 320)
meteor[i].x = 0;
if (meteor[i].y < 0)
meteor[i].y = 400;
if (meteor[i].y > 400)
meteor[i].y = 0;
}
}
public void spawnObject() {
int spawn = random.nextInt(4);
randomSpeed();
switch (spawn) {
case 0:
x = 0;
y = 0;
break;
case 1:
x = 0;
y = 480;
break;
case 2:
x = 320;
y = 0;
break;
case 3:
x = 320;
y = 480;
break;
}
meteor[count] = new Meteor(x, y);
count += 1;
String msg = "random spawn; " + spawn + " spawn count: " + count;
Log.d("debug", msg);
}
private void randomSpeed() {
int x = random.nextInt(24);
int y = random.nextInt(24);
String msg = "random x: " + x + " random y: " + y;
Log.d("debug", msg);
switch (x) {
case 0:
xSpeed[count] = 3;
break;
case 1:
xSpeed[count] = 2.8f;
break;
case 2:
xSpeed[count] = 2.5f;
break;
case 3:
xSpeed[count] = 3;
break;
case 4:
xSpeed[count] = 2.8f;
break;
case 5:
xSpeed[count] = 2.5f;
break;
case 6:
xSpeed[count] = 2.25f;
break;
case 7:
xSpeed[count] = 2;
break;
case 8:
xSpeed[count] = 1.85f;
break;
case 9:
xSpeed[count] = 1.5f;
break;
case 10:
xSpeed[count] = 1.25f;
break;
case 11:
xSpeed[count] = 1;
break;
case 12:
xSpeed[count] = .75f;
break;
case 13:
xSpeed[count] = .5f;
break;
case 14:
xSpeed[count] = -.5f;
break;
case 15:
xSpeed[count] = -1;
break;
case 16:
xSpeed[count] = -1.25f;
break;
case 17:
xSpeed[count] = -1.5f;
break;
case 18:
xSpeed[count] = -1.75f;
break;
case 20:
xSpeed[count] = -2;
break;
case 21:
xSpeed[count] = -2.25f;
break;
case 22:
xSpeed[count] = -2.5f;
break;
case 23:
xSpeed[count] = -2.75f;
break;
case 24:
xSpeed[count] = -3;
break;
}
switch (y) {
case 0:
ySpeed[count] = 3;
break;
case 1:
ySpeed[count] = 2.8f;
break;
case 2:
ySpeed[count] = 2.5f;
break;
case 3:
ySpeed[count] = 3;
break;
case 4:
ySpeed[count] = 2.8f;
break;
case 5:
ySpeed[count] = 2.5f;
break;
case 6:
ySpeed[count] = 2.25f;
break;
case 7:
ySpeed[count] = 2;
break;
case 8:
ySpeed[count] = 1.85f;
break;
case 9:
ySpeed[count] = 1.5f;
break;
case 10:
ySpeed[count] = 1.25f;
break;
case 11:
ySpeed[count] = 1;
break;
case 12:
ySpeed[count] = .75f;
break;
case 13:
ySpeed[count] = .5f;
break;
case 14:
ySpeed[count] = -.5f;
break;
case 15:
ySpeed[count] = -1;
break;
case 16:
ySpeed[count] = -1.25f;
break;
case 17:
ySpeed[count] = -1.5f;
break;
case 18:
ySpeed[count] = -1.75f;
break;
case 20:
ySpeed[count] = -2;
break;
case 21:
ySpeed[count] = -2.25f;
break;
case 22:
ySpeed[count] = -2.5f;
break;
case 23:
ySpeed[count] = -2.75f;
break;
case 24:
ySpeed[count] = -3;
break;
}
}
}
package com.badlogic.androidgames.nautastro;
import android.util.Log;
public class Meteor {
public float x, y;
public Meteor(float x, float y) {
this.x = x;
this.y = y;
}
}
meteor = mShower.meteor[mShower.count];
Random random = new Random();
int mr = random.nextInt(3);
meteorPixmap = Assets.meteor[mr];
g.drawPixmap(meteorPixmap, (int) mShower.meteor[mShower.count].x, (int) mShower.meteor[mShower.count].y);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment