Habe mal nachgeschaut:

Das Spiel könnte "Dinosaur Adventure" (1992) , “DinoPark Tycoon” (1993) oder "JumpStart Dinosaurs" (1996) sein.

...zur Antwort

Bei mir mal ein IPhone…

Ja ich glaube schon aber ist es den so schlimm?

...zur Antwort
was anderes

C# ist von Java inspiriert, ja! Allerdings hat es mittlerweile vielenandere Funktionen bekommen!

außerdem ist es keine „billige“ Kopie

es ist halt eine C Sprache und somit quasi die Fortführung von c++

...zur Antwort

Wenn der ebenfalls USB Typ C besitzt: JA

...zur Antwort

Ja, das kannst du machen…

Nur verteilt sich die Leistungsaufnahme nicht auf den Steckern, sondern sammelt sich nur bei dem ersten an. Dabei addiert sich die Belastung zu einem zu hohen Gesamtwert und der Stecker ist überlastet

Zwar ist das Eigentlich nicht zu viel Spannung da Handy und ne Lampe nicht so viel Strom verbrauchen! Aber trotzdem

Du solltest nur keine 2 Staubsauger anschließen.

Ich würde dir Trotzdem einen Verlängerungskabel Kabel wie diesen: https://amzn.eu/d/458aWZN empfehlen der ist 5m lang!

...zur Antwort

Ja, ein KVM-Switch ermöglicht es, eine Tastatur und Maus zwischen mehreren Computern zu teilen.

...zur Antwort
#include <stdio.h>

int main() {
    printf("Hi,Amar!\nAusgaben in der Konsole zu machen ist in C einfach.");
    return 0;
}

Das wäre der Code!

mit

printf()

kannst du etwas in der Konsole Ausgeben in die doppelten Klammern Können nicht nur Texte(Strings) sondern auch zahlen(integer) ausgeben es gibt noch weitere Datentypen die für dich jetzt aber erstmal unwichtig sind.

mit diesem

/n

was für „new Line“ steht wird in der nächsten Zeile weiter geschrieben!

Das

return 0

am Ende der main-Funktion signalisiert, dass das Programm erfolgreich beendet wurde

...zur Antwort
Wie kann ich bei Unity einem 2D generierten Mesh einen Collider geben?

Ich arbeite in Unity zurzeit an einen kleinen Projekt und bin auf folgendes Problem gestoßen:

Ich generiere dieses Mesh mit Perlin Noises, also quasi eine Berglandschaft. Sie sieht auch gut aus, nur jetzt habe ich das Problem mit den Collider. Und zwar mache ich das aktuell mit einem Polygon Collider, wo ich die Punkte per Code selber erstelle:

private void GenCollider()
{
  GrassMashObject.AddComponent<PolygonCollider2D>();
  GrassMashObject.GetComponent<PolygonCollider2D>().sharedMaterial = GrassPhysics;
  PolygonCollider2D polygonCollider = GrassMashObject.GetComponent<PolygonCollider2D>();

  if (polygonCollider != null)
  {
    Vector2[] points = new Vector2[(WorldSize + 1) * (yHight + 1)];

    for (int i = 0, y = 0; y <= yHight; y++)
    {
      for (int x = 0; x <= WorldSize; x++)
      {
        points[i] = new Vector2(x, y - (WorldSize / 4f));

        if (y == 1)
        {
          float perlin1 = (float)x / PerlinScale;
          float perlin2 = (float)y / PerlinScale;
          float perlin3 = Mathf.PerlinNoise(perlin1, perlin2);
          float perlin4 = Mathf.PerlinNoise(perlin1 * 2, perlin2 * 2);
          float perlin5 = Mathf.PerlinNoise(perlin1 / 2, perlin2 / 2);
          points[i].y = y + ((perlin3 + perlin4 + perlin5) * PerlinHeight);
        }

        i++;
      }
    }

    polygonCollider.points = points;
  }
}

Es funktioniert ganz gut, nur werden manche Punkte falsch zusammengesetzt und deshalb werden sehr unnötige "Linien" zwischen den Punkten generiert. Deshalb kommt es auch manchmal zu massiven Performenceeinbrüchen.

Ich bin für jede Hilfe dankbar! Danke im Voraus!

...zur Frage
private void GenCollider()
{
    EdgeCollider2D edgeCollider = GrassMashObject.AddComponent<EdgeCollider2D>();
    edgeCollider.sharedMaterial = GrassPhysics;

    List<Vector2> points = new List<Vector2>();

    for (int y = 0; y <= yHight; y++)
    {
        for (int x = 0; x < WorldSize; x++) // Reduziert um 1, um Überlappung der Linien zu vermeiden
        {
            Vector2 startPoint = new Vector2(x, y - (WorldSize / 4f));

            float perlin1 = (float)x / PerlinScale;
            float perlin2 = (float)y / PerlinScale;
            float perlin3 = Mathf.PerlinNoise(perlin1, perlin2);
            float perlin4 = Mathf.PerlinNoise(perlin1 * 2, perlin2 * 2);
            float perlin5 = Mathf.PerlinNoise(perlin1 / 2, perlin2 / 2);
            float height = y + ((perlin3 + perlin4 + perlin5) * PerlinHeight);

            Vector2 endPoint = new Vector2(x + 1, height); // Nächster Punkt

            points.Add(startPoint);
            points.Add(endPoint);
        }
    }

    edgeCollider.points = points.ToArray();
}

...zur Antwort
Reinforcment Learning (RL) in PyTorch - habe ich einen Denkfehler?

Guten Tag allerseits.

Ich möchte mittels PyTorch und RL ein neuronales Netzwerk (NN) trainieren und ich komme gerade nicht weiter. Das NN soll ein Strategiespiel (Meta-Tic-Tac-Toe) lernen. Das Spiel ist deterministisch und zwei Spieler wechseln sich ab und platzieren auf ein großes Feld X und O. Das NN erhält als Input das Feld (wo ist X, wo ist O, wo ist leer) und soll als Output den besten Zug für X und den besten Zug für O in der gegebenen Situation vorhersagen.

Mein Training soll so aussehen:
1) Das NN schätzt einen Zug, anhand der Spielfeldinformationen
2) Ist der Zug valide, so wird die Belohnung berechnet. Ist der Zug nicht valide, so wird die negative Belohnung (Bestrafung) berechnet.
3) Es wird eine "learn"-Methode des NNs aufgerufen, die folgende drei Parameter hat: [Spielfeldinformationen, geschätzter Zug und Belohnung]. Das NN soll mit diesen Parametern Backpropagation machen und sich verbessern.
4) War der Zug nicht valide, so soll wieder bei Schritt 1 angefangen werden (bis ein valider Zug herauskommt). War der Zug valide, wird dieser in das Spiel eingetragen und man beginnt wieder mit Schritt 1, diesmal aber mit dem aktualisierten Spielfeld (bis das Spiel endet).

So soll das NN sehr häufig gegen sich selbst spielen und seine X-Präzision und O-Präzision verbessern.

Mein Problem ist die learn-Methode.
Online finde ich jede Menge Algorithmen, die viele Spiele spielen und die Spielfeldinformationen, geschätzten Züge und Belohnungen speichern und erst später auswerten. Das will ich ungerne machen, da ich das unintuitiv finde, da man ja bei jedem Zug lernt.
Chat-GPT will mir ständig eine learn-Methode aufdrücken, die die Backpropagation lediglich mit den Parametern "geschätzter Zug" und "Belohnung" machen will, ohne den Spielfeldzustand zu berücksichtigen. Das ergibt für mich keinen Sinn, da man ja Züge anhand des Spielfelds macht.

Eine für mich angepasste learn-Methode finde ich nicht, obwohl ich denke gelesen zu haben, dass mein Lernprinzip auch funktionieren soll.

Ich nutze Adam als optimizer.

Deswegen frage ich mich, ob ich einen Denkfehler habe und ob mein Algorithmus nicht funktionieren kann. Das ist mein erstes RL-Projekt, ich kenne mich also nicht aus.

Falls also jemand einen Denkfehler findet, wäre es nett mich darauf hinzuweisen :)

Wenn jemand eine learn-Methode mit den 3 Parametern kennt, wäre es nett sie mir zu teilen.

...zur Frage

Der Ansatz ist genau richtig! Ist nicht mein Fachgebiet.. aber ich habe keine Fehler gefunden!

import torch

class NeuralNetwork(torch.nn.Module):
    def __init__(self):
        super(NeuralNetwork, self).__init__()
        # Definiere dein neuronales Netzwerk hier

    def forward(self, input):
        return output

def learn(network, input_state, estimated_move, reward):
    optimizer.zero_grad()
    output = network(input_state)
    loss = loss_function(output, estimated_move) + reward_function(reward)
    loss.backward()
    optimizer.step()

so könnte man es Lösen!

Guck ob die Struktur stimmt und dann wird das was!
Aber für den Anfang, Repekt!

...zur Antwort

Einfach mit

pygame.quit()

...zur Antwort

Legal ist das nicht! Wenn der Arzt sagt das du keinen Sport treiben darfst dann ist das so. Die Schule muss halt haften wenn etwas passiert!

...zur Antwort
Dass neue Sterne oder Planeten dazu kommen?

Ne wenn vergrößert sich ja die Distanz!

Die Entdeckung beruht auf der Beobachtung der Rotverschiebung von Edwin Hubble in den 1920er Jahren, die darauf hinweist, dass sich Galaxien voneinander entfernen.

Google das mal!

...zur Antwort

Gotisches Rathaus, futuristischer Wolkenkratzer, prächtiges Schloss, riesiges Baumhaus, Unterwasserobservatorium, orientalische Pagode, viktorianisches Herrenhaus, mittelalterliches Kloster, luxuriöses Spa-Resort.

...zur Antwort