Fertiges Game hochgeladen

This commit is contained in:
2025-03-14 15:09:56 +01:00
parent d1ed78ae57
commit eb964d5fca
558 changed files with 81656 additions and 0 deletions

View File

@@ -0,0 +1,77 @@
using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class Bullet_movement_Enemy : MonoBehaviour
{
[SerializeField] float dmg = 0.0f;
[SerializeField] private float verticalSpeed = 15.0f;
public float remainInAir = 1.0f;
private float counter = 0f;
private Slider slider;
private GameObject uiElement;
// Start is called before the first frame update
void Start()
{
slider = FindObjectOfType<Slider>(); //Findet den ersten slider in der scene - hier den Healthbar
}
// Update is called once per frame
void Update()
{
Movement();
}
private void Movement()
{
transform.Translate(Vector3.up * Time.deltaTime * verticalSpeed); // bullet geschwindigkeit
counter += Time.deltaTime;
if (counter >= remainInAir)
{
Destroy(gameObject);
}
}
private void OnTriggerEnter2D(Collider2D other)
{
if (other.CompareTag("Starship"))
{
Destroy(gameObject); // berechnet den dmg
slider.value -= dmg;
}
if (other.CompareTag("Starship") && slider.value <= 0f) // zerst<73>rt das Starship bei 0hp oder weniger
{
other.gameObject.GetComponent<OnPlayerDeath>().onDeathUI();
Destroy(other.gameObject);
if(other.gameObject.CompareTag("Dead"))
{
uiElement.SetActive(true);
}
if (other.gameObject.CompareTag("Score"))
{
uiElement.SetActive(false);
}
if (other.gameObject.CompareTag("Highscore"))
{
uiElement.SetActive(false);
}
if (other.gameObject.CompareTag("RoundCounter"))
{
uiElement.SetActive(false);
}
if (other.gameObject.CompareTag("EnemiesLeft"))
{
uiElement.SetActive(false);
}
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 34ed6738e5d4a1f418356839c4de80d8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,67 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Enemie_Movement : MonoBehaviour
{
public float speed = 3f; // Bewegungsgeschwindigkeit
public float shootingInterval = 2f; // Schuss-Intervall
public int life = 5;
public GameObject CDM_Enemy_LASER_bullet; // Projektil-Objekt
public Transform firePoint; // Punkt, von dem die Kugeln abgefeuert werden
Enemie_Spawn_System enemie_Spawn_System;
private Transform player; // Referenz auf den Spieler
void Start()
{
// Spieler-Objekt finden
player = GameObject.FindGameObjectWithTag("Starship").transform;
enemie_Spawn_System = GameObject.Find("Enemie_Spawner_System").GetComponent<Enemie_Spawn_System>();
// Starte das Schie<69>en in Intervallen
InvokeRepeating(nameof(Shoot), shootingInterval, shootingInterval);
}
void Update()
{
if (player == null) return; // Falls kein Spieler gefunden wurde, nichts tun
// 1. Richtung zum Spieler berechnen
Vector2 direction = (player.position - transform.position).normalized;
// 2. Gegner drehen (damit er den Spieler anvisiert)
float angle = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.Euler(0, 0, angle - 90);
// 3. Bewegung zum Spieler
transform.position = Vector2.MoveTowards(transform.position, player.position, speed * Time.deltaTime);
}
void Shoot()
{
if (CDM_Enemy_LASER_bullet != null && firePoint != null)
{
Instantiate(CDM_Enemy_LASER_bullet, firePoint.position, firePoint.rotation);
}
}
private void OnTriggerEnter2D(Collider2D other)
{
if (other.CompareTag("Player Bullet"))
{
Bullet_movement bulletScript = other.gameObject.GetComponent<Bullet_movement>();
if (bulletScript != null)
{
life--;
Debug.Log("Gegner Getroffen! -1");
if (life <= 0)
{
Destroy(gameObject);
enemie_Spawn_System.ChangeEnemyCounter(-1);
}
}
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 50d5009d91c76fd4ea7a6210a0a958ce
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,76 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Enemie_Movement_Kamikaze : MonoBehaviour
{
public float speed = 3f; // Bewegungsgeschwindigkeit
private Transform player; // Referenz auf den Spieler
public int life = 2;
private Slider slider;
public GameObject uiElement;
Enemie_Spawn_System enemie_Spawn_System;
[SerializeField] float dmg = 0.0f;
void Start()
{
// Spieler-Objekt finden
player = GameObject.FindGameObjectWithTag("Starship").transform;
slider = FindObjectOfType<Slider>();
enemie_Spawn_System = GameObject.Find("Enemie_Spawner_System").GetComponent<Enemie_Spawn_System>();
}
void Update()
{
if (player == null) return; // Falls kein Spieler gefunden wurde, nichts tun
// 1. Richtung zum Spieler berechnen
Vector2 direction = (player.position - transform.position).normalized;
// 2. Gegner drehen (damit er den Spieler anvisiert)
float angle = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.Euler(0, 0, angle - 90);
// 3. Bewegung zum Spieler
transform.position = Vector2.MoveTowards(transform.position, player.position, speed * Time.deltaTime);
}
private void OnTriggerEnter2D(Collider2D other)
{
if (other.CompareTag("Player Bullet"))
{
Bullet_movement bulletScript = other.gameObject.GetComponent<Bullet_movement>();
if (bulletScript != null)
{
life--;
Debug.Log("Gegner Getroffen! -2");
if (life <= 0)
{
Destroy(gameObject);
enemie_Spawn_System.ChangeEnemyCounter(-1);
}
}
}
if (other.CompareTag("Starship"))
{
Destroy(gameObject);
enemie_Spawn_System.ChangeEnemyCounter(-1);
slider.value -= dmg;
}
if (other.CompareTag("Starship") && slider.value <= 0f) // zerst<73>rt das Starship bei 0hp oder weniger
{
Destroy(other.gameObject);
//ChangeEnemyCounter(-1);
if (other.CompareTag("Dead"))
{
uiElement.SetActive(true);
}
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 6c57218c54d536546a8fb5f4f36bd912
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,75 @@
using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
public class Enemie_Movement_Panzer : MonoBehaviour
{
public float speed = 3f; // Bewegungsgeschwindigkeit
public float shootingInterval = 2f; // Schuss-Intervall
public GameObject bulletPrefab; // Projektil-Objekt
public Transform firePointA; // Punkt, von dem die Kugeln abgefeuert werden
public Transform firePointB;
public Transform firePointC;
public int life = 20;
Enemie_Spawn_System enemie_Spawn_System;
private Transform player; // Referenz auf den Spieler
void Start()
{
// Spieler-Objekt finden
player = GameObject.FindGameObjectWithTag("Starship").transform;
// Starte das Schie<69>en in Intervallen
InvokeRepeating(nameof(Shoot), shootingInterval, shootingInterval);
enemie_Spawn_System = GameObject.Find("Enemie_Spawner_System").GetComponent<Enemie_Spawn_System>();
}
void Update()
{
if (player == null) return; // Falls kein Spieler gefunden wurde, nichts tun
// 1. Richtung zum Spieler berechnen
Vector2 direction = (player.position - transform.position).normalized;
// 2. Gegner drehen (damit er den Spieler anvisiert)
float angle = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.Euler(0, 0, angle - 90);
// 3. Bewegung zum Spieler
transform.position = Vector2.MoveTowards(transform.position, player.position, speed * Time.deltaTime);
}
void Shoot()
{
if (bulletPrefab != null && firePointA != null && firePointB != null && firePointC != null)
{
Instantiate(bulletPrefab, firePointA.position, firePointA.rotation);
Instantiate(bulletPrefab, firePointB.position, firePointB.rotation);
Instantiate(bulletPrefab, firePointC.position, firePointC.rotation);
}
}
private void OnTriggerEnter2D(Collider2D other)
{
if (other.CompareTag("Player Bullet"))
{
Bullet_movement bulletScript = other.gameObject.GetComponent<Bullet_movement>();
if (bulletScript != null)
{
life--;
Debug.Log("Gegner Getroffen! -2");
if (life <= 0)
{
Destroy(gameObject);
enemie_Spawn_System.ChangeEnemyCounter(-1);
}
}
}
}
} //chat gpt modified, nicht komplett generiert

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 586d848e69270f345b886282bdda8735
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: