I have a school project that is due by the end of the week where we have to make a game in Greenfoot with a lot of requirements (title screen, etc.). However, seemingly overnight, my titlescreen, which is supposed to continue when "enter" is pressed, stopped responding, (No Syntax Errors). I forgot what I added/changed to the code, and I spent the last two class periods to no avail trying to fix it and my teacher/fellow classmates refuse to help me. Here is the code under my "world", and sorry for the generally terrible coding ability.
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.util.List;
/**
* Write a description of class ThisWorld here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class ThisWorld extends World
{
playerCharacter spawn;
zombie undead;
titlescreen start;
finalscreen end;
winscreen win;
int shootrate = 20;
int shootcounter = 0;
int zombierate = 120;
int zombiecounter = 0;
int enemyshootrate = 20;
int enemyshootcounter = 0;
int possiblexspawnzones[] = new int[4];
int possibleyspawnzones[] = new int[4];
static int totalnumberofzombies;
static int maxnumberofzombies = 1;
static boolean gameover = false;
int movecount = 0;
int xzone;
int yzone;
int i;
static boolean immediatelybecomesfalse = true;
static boolean gamestart = false;
static boolean survivalgame = false;
static boolean timedgame = false;
long starttime;
long currenttime;
long timeremaining;
static long timescore;
public ThisWorld()
{
// Create a new world with 600x400 cells with a cell size of 1x1 pixels.
super(600, 400, 1);
start = new titlescreen();
addObject(start, 300, 200);
}
public void act()
{
if (!gamestart) {
gameprep();
}
if (Greenfoot.isKeyDown("enter") || survivalgame) {
gamestart = true;
survivalgame = true;
gamemechanics();
}
if (Greenfoot.isKeyDown("shift") || timedgame) {
gamestart = true;
timedgame = true;
timedgame();
gamemechanics();
if (timeremaining % 10000 == 0) {
undead = new zombie();
addObject(undead, 100, 200);
}
if (timeremaining > 60000) {
endoftimedgame();
}
}
}
public void gamemechanics() {
if (immediatelybecomesfalse)
{
starting();
immediatelybecomesfalse = false;
}
else if (playerCharacter.trueattheend)
{
immediatelybecomesfalse = false;
playerCharacter.trueattheend = false;
i = 100;
starting();
thegameisover();
System.out.println("Basic Movement has run");
}
else if (!immediatelybecomesfalse) {
if (!gameover) {
checkshotrate();
System.out.println("zombies are spawning");
}
if (totalnumberofzombies < maxnumberofzombies) {
spawnzombies();
System.out.println("People are shooting");
}
}
}
public void checkshotrate() {
if (!gameover)
{
if (shootcounter == 0) {
shoot();
}
else if (shootcounter < shootrate) {
shootcounter = shootcounter+1;
}
else if (shootcounter == shootrate) {
shootcounter = 0;
}
}
}
public void shoot()
{
if (Greenfoot.isKeyDown("space")) {
addObject(new bullet(), spawn.getX(), spawn.getY());
shootcounter = shootcounter+1;
i = i+1;
}
else {
shootcounter = 0;
}
}
public void spawnzombies()
{
if (!gameover) {
if (zombiecounter == 0) {
zombiespawner();
}
else if (zombiecounter < shootrate) {
zombiecounter = zombiecounter+1;
}
else if (zombiecounter == zombierate) {
zombiecounter = 0;
}
else {
zombiecounter = 0;}
}
}
public void zombiespawner()
{
getspawnlocation();
if (xzone - playerCharacter.playerx > 100 || yzone - playerCharacter.playery > 100)
{
addObject(undead, xzone, yzone);
zombiecounter = zombiecounter+1;
totalnumberofzombies = totalnumberofzombies+1;
}
else {
getspawnlocation();
}
}
public void getspawnlocation()
{
possiblexspawnzones[0] = 50;
possiblexspawnzones[1] = 225;
possiblexspawnzones[2] = 375;
possiblexspawnzones[3] = 550;
possibleyspawnzones[0] = 50;
possibleyspawnzones[1] = 150;
possibleyspawnzones[2] = 250;
possibleyspawnzones[3] = 350;
undead = new zombie();
xzone = possiblexspawnzones[Greenfoot.getRandomNumber(4)];
yzone = possibleyspawnzones[Greenfoot.getRandomNumber(4)];
}
public void starting()
{
if (gamestart) {
start = new titlescreen();
removeObject(start);
spawn = new playerCharacter();
addObject(spawn, 300, 200);
undead = new zombie();
addObject(undead, 100, 200);
totalnumberofzombies = totalnumberofzombies+1;
}
}
public void thegameisover()
{
if (survivalgame) {
if (maxnumberofzombies-1 < 100) {
finalscreen end = new finalscreen();
addObject(end, 300, 200);
}
else {
winscreen win = new winscreen();
addObject(win, 300, 200);
}
}
else if (timedgame) {
if (timeremaining < 60000) {
timescore += timeremaining;
finalscreen end = new finalscreen();
addObject(end, 300, 200);}
}
}
public void timedgame() {
currenttime = System.currentTimeMillis();
timeremaining = currenttime-starttime;
}
public void gameprep() {
int i = 0;
List everything = getObjects(null);
removeObjects(everything);
start = new titlescreen();
addObject(start, 300, 200);
starttime = System.currentTimeMillis();
}
public void endoftimedgame() {
winscreen win = new winscreen();
addObject(win, 300, 200);
timescore += timeremaining;
}
}
