public void tick() { tickCount++; level.tick(); if (System.currentTimeMillis() - Game.lastSpawn >= 10000) { // Er wordt elke 10 seconden (10.000 milliseconden) een zombie gespawnt. Game.lastSpawn += 10000; Game.bots = new Bots( level, randInt(0, (levelWidth * 8)), randInt(0, (levelHeight * 8)), 1); // Hij bevind zich in het level met een willekeurige x- en y-coördinaat. level.addEntity(bots); } }
public void render() { BufferStrategy bs = getBufferStrategy(); if (bs == null) { createBufferStrategy(3); // Dit is de snelheid waarop het plaatje wordt gemaakt return; } int xOffset = player.x - (screen.width / 2); int yOffset = player.y - (screen.height / 2); level.renderTiles(screen, xOffset, yOffset); // for (int x = 0; x < level.width; x++) { // int colour = Colours.get(-1, -1, -1, 000); // if (x % 10 == 0 && x != 0) { // colour = Colours.get(-1, -1, -1, 500); // } // Font.render(terugveranderen, screen, 0 + 4, 0, colour); //Dit is als je wil controleren hoe // groot het level is // } level.renderEntities(screen); for (int y = 0; y < screen.height; y++) { for (int x = 0; x < screen.width; x++) { int ColourCode = screen.pixels[x + y * screen.width]; if (ColourCode < 255) { pixels[x + y * WIDTH] = colours[ColourCode]; } } } Graphics g = bs.getDrawGraphics(); g.drawImage(image, 0, 0, getWidth(), getHeight(), null); g.dispose(); // De oude graphics wegdoen bs.show(); }
public void init() { // Dit start allerlei gegevens bij het opstarten van het spel. int index = 0; for (int r = 0; r < 6; r++) { for (int g = 0; g < 6; g++) { for (int b = 0; b < 6; b++) { int rr = (r * 255 / 5); int gg = (g * 255 / 5); int bb = (b * 255 / 5); colours[index++] = rr << 16 | gg << 8 | bb; } } } screen = new Screen(WIDTH, HEIGHT, new SpriteSheet("/sprite_sheet.png")); input = new InputHandler(this); level = new Level(levelWidth, levelHeight); player = new Player(level, 0, 0, input); level.addEntity(player); }