Java – die besten Beiträge

Greenfoot/Schiffe-versenken: Wieso schießt der Gegner mehrmals?

Hey, bei meinem Java-Code für Greenfoot spielt man selbst gegen den Computer, der, nachdem man selbst geschoßen hat, auch einen zufälligen Schuss setzt.

Der Gegner schießt momentan allerdings mehrmals. Hat jemand eine Idee, woran das liegt? 🙂

import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot und MouseInfo)
import java.util.*;

/**
 * Ergänzen Sie hier eine Beschreibung für die Klasse Schiff.
 * 
 * @author (Ihr Name) 
 * @version (eine Versionsnummer oder ein Datum)
 */
public class Schiff extends Actor {
  public Schiff(String image) {
    setImage(image);
  }

  /**
   * Act - tut, was auch immer Schiff tun will. Diese Methode wird aufgerufen, 
   * sobald der 'Act' oder 'Run' Button in der Umgebung angeklickt werden. 
   */
  public void act() {
    mausKlick();
  }

  public void mausKlick() {
    if (Greenfoot.mouseClicked(this)) {
      int xPos = Greenfoot.getMouseInfo().getX();
      int yPos = Greenfoot.getMouseInfo().getY();
      ((Schiffeversenken)this.getWorld()).addObject(new Treffer(), xPos, yPos);
    }
    else if (Greenfoot.mouseClicked(((Schiffeversenken)this.getWorld()).rechts)) {
      int xPosi = Greenfoot.getMouseInfo().getX();
      int yPosi = Greenfoot.getMouseInfo().getY();
      ((Schiffeversenken)this.getWorld()).addObject(new KeinTreffer(), xPosi, yPosi);
      gegner();
    }
  }

  public void gegner() {
    int[] xKoordinate = new int[7];
    int[] yKoordinate = new int[7];
    int x = 0;

    for (int i = 67; i < 326; i = i + 43) {
      xKoordinate[x] = i;
      x++;
    }

    int y = 0;

    for (int i = 154; i < 398; i = i + 40) {
      yKoordinate[y] = i;
      y++;
    }

    Random random = new Random();
    int xIndex = random.nextInt(7);
    int yIndex = random.nextInt(7);
    int zufallx = xKoordinate[xIndex];
    int zufally = yKoordinate[yIndex];
    List<Schiff> schiffe = getWorld().getObjectsAt(zufallx, zufally, Schiff.class);

    if (!schiffe.isEmpty()) // Wenn ein Schiff gefunden wurde
    {
      ((Schiffeversenken)this.getWorld()).addObject(new Treffer(), zufallx, zufally); // Füge ein Treffer-Objekt hinzu
    }
    else // Wenn kein Schiff gefunden wurde
    {
      ((Schiffeversenken)this.getWorld()).addObject(new KeinTreffer(), zufallx, zufally); // Füge ein NichtTreffer-Objekt hinzu
    }
  }
}
programmieren, Java, Code, Programmiersprache, Greenfoot

kann mir wer von den code in der beschreibung ein paper plugin schicken weis nicht wie ich das in minecraft grige version 1.21 java?

package com.example.sitonplayers;

import org.bukkit.Bukkit;

import org.bukkit.entity.Player;

import org.bukkit.event.EventHandler;

import org.bukkit.event.Listener;

import org.bukkit.event.player.PlayerInteractEntityEvent;

import org.bukkit.event.player.PlayerToggleSneakEvent;

import org.bukkit.plugin.java.JavaPlugin;

public class SitOnPlayers extends JavaPlugin implements Listener {

  @Override

  public void onEnable() {

    // Plugin wird geladen

    Bukkit.getServer().getPluginManager().registerEvents(this, this);

    getLogger().info("SitOnPlayers Plugin aktiviert!");

  }

  @Override

  public void onDisable() {

    getLogger().info("SitOnPlayers Plugin deaktiviert!");

  }

  // Event, wenn ein Spieler auf einen anderen Spieler klickt

  @EventHandler

  public void onPlayerClick(PlayerInteractEntityEvent event) {

    Player player = event.getPlayer();

    if (event.getRightClicked() instanceof Player) {

      Player target = (Player) event.getRightClicked();

      // Spieler auf den anderen setzen

      target.addPassenger(player);

    }

  }

  // Event, wenn der Spieler schleicht (absteigt)

  @EventHandler

  public void onPlayerSneak(PlayerToggleSneakEvent event) {

    Player player = event.getPlayer();

    if (player.isSneaking() && player.getPassenger() != null) {

      player.eject(); // Absteigen

    }

  }

}

Java, Minecraft, Programmiersprache

Meistgelesene Beiträge zum Thema Java