Jump to content
Unity Insider Forum

Code Erklärung


Mozart53

Recommended Posts

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GameManager : MonoBehaviour
{
    public MemoryCard firstMemory;
    public MemoryCard seconMemory;
    
    public void clicked(MemoryCard card)
    {
        if (firstMemory == null)
        {
            firstMemory = card;
        }
        else
        {
            seconMemory = card;

            if (firstMemory.id == seconMemory.id)
            {
                Destroy(firstMemory.gameObject);
                Destroy(seconMemory.gameObject);
            }
                firstMemory = null;
                seconMemory = null;
            
        }
    }
}

//2. Klasse

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MemoryCard : MonoBehaviour
{
    public int id;

    private void OnMouseDown()
    {
        FindObjectOfType<GameManager>().clicked(this);
    }
}

Und zwar geht es um das public MemoryCard firstMemory. Wozu schreiben wir das MemoryCard rein? Ich weiss, dass es die 2. Klasse ist, aber verstehe nicht den HIntergrund dahinter. Auch das MemoryCard card im Parameter ist mir nicht ganz klar.

 

Meine Erklärung wäre: Wir schrieben die klasse vorher rein um die id in der Variable nutzen zu können (frstMemory.id) und den Paramter um es im 2. zu Initialisieren (clicked.this).

Link zu diesem Kommentar
Auf anderen Seiten teilen

C# ist eine statisch-typstarke Sprache. Da heißt, dass (prinzipiell...) jede Variable einen Typ haben muss, der definiert, welche Werte drinstehen können.

Du kannst z.B. schreiben:

int zahl = 5;
string wort = "Nase";

aber nicht:

int zahl = "Nase";

Nur int-Werte können der Variable "zahl" zugewiesen werden, und "Nase" ist kein int, sondern ein string.

Es gibt auch typschwache (Javascript, PHP) oder dynamisch getypte Sprachen (Python). Statisch-typstarke Sprachen werden eher benutzt, wenn es was zu kompilieren gibt, da diese Eigenschaften bestimmte Sicherheiten geben. Bei Javascript merkst du erst bei der Ausführung, wenn du bei deinem Auto Gas gibst, aber dein Auto in Wirklichkeit eine Zahl ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...