Skip to content

Commit

Permalink
Modifies spawning functionality of mobs to correspond with the lanes …
Browse files Browse the repository at this point in the history
…of the map
  • Loading branch information
bojyyy committed Sep 8, 2023
1 parent ab853e0 commit 9780bc8
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 12 deletions.
14 changes: 6 additions & 8 deletions source/core/src/main/com/csse3200/game/areas/ForestGameArea.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,11 @@
import com.csse3200.game.components.gamearea.GameAreaDisplay;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Timer;
import java.util.TimerTask;

import java.util.*;

import static com.csse3200.game.entities.factories.NPCFactory.createGhost;

import java.util.ArrayList;
import static com.csse3200.game.entities.factories.NPCFactory.createGhost;

/** Forest area for the demo game with trees, a player, and some enemies. */
public class ForestGameArea extends GameArea {
Expand Down Expand Up @@ -343,14 +341,14 @@ private void spawnProjectile(Vector2 position, short targetLayer, int space, in


private void spawnXenoGrunts() {
GridPoint2 minPos = terrain.getMapBounds(0).sub(1, 5);
GridPoint2 maxPos = terrain.getMapBounds(0).sub(1, 25);
int[] pickedLanes = new Random().ints(0, 8)
.distinct().limit(5).toArray();
for (int i = 0; i < NUM_GRUNTS; i++) {
GridPoint2 randomPos = RandomUtils.random(maxPos, minPos);
GridPoint2 randomPos = new GridPoint2(19, pickedLanes[i]);
System.out.println(randomPos);
Entity xenoGrunt = NPCFactory.createXenoGrunt(player);
xenoGrunt.setScale(1.5f, 1.5f);
spawnEntityAt(xenoGrunt, randomPos, true, true);
spawnEntityAt(xenoGrunt, randomPos, true, false);
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
package com.csse3200.game.components.tasks;

import com.badlogic.gdx.math.Vector2;
import com.csse3200.game.ai.tasks.DefaultTask;
import com.csse3200.game.ai.tasks.PriorityTask;
import com.csse3200.game.ai.tasks.Task;
import com.csse3200.game.services.GameTime;
import com.csse3200.game.services.ServiceLocator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
* A task which spawns a new wave of mobs at a set spawning interval
*
*/
public class SpawnWaveTask extends DefaultTask implements PriorityTask {
private static final Logger logger = LoggerFactory.getLogger(SpawnWaveTask.class);
private final GameTime globalTime;
private long endTime;

private final int SPAWNING_INTERVAL = 10;

public SpawnWaveTask() {
this.globalTime = ServiceLocator.getTimeSource();
}
Expand Down

0 comments on commit 9780bc8

Please sign in to comment.