lima-city: Webhosting, Domains und Cloud
1 Pluspunkt 0 Minuspunkte
Ich möchte einer Gun in meinem Spiel eine Variable für Effektivität geben so dass sie z.b 30 Schaden auf 10 Meter verursacht. Und wenn die Collision 30 Meter entfernt vom Player ist soll die Effektivität dann dementsprechend berechnet werden. Wie berechne ich das am besten? Ich habe es versucht wie bei einer Textrechnung. 10 Meter sind 30 HP, 30 Meter sind wieviel? Aber ich komme da irgendwie zu keinem sinnvollen Ergebnis.
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

In dieser Funktion nimmt der Schaden bis zur maximalen Reichweite (max_range) linear ab und fällt dann auf 0. Innerhalb von max_effective_range wird der maximale Schaden (base_damage) zugefügt. Zwischen max_effective_range und max_range wird der Schaden reduziert.

# Maximaler Schaden
var base_damage = 30
# Maximale Reichweite 
var max_effective_range = 10
# Maximaler Schaden
var max_range = 130


func calculate_damage(distance):
    if distance > max_range:
        return 0
    return base_damage * max(0, (1 - (distance - max_effective_range) / (max_range - max_effective_range)))
von (717 Punkte)  
Diese Community basiert auf dem Prinzip der Selbstregulierung. Beiträge werden von Nutzern erstellt, bewertet und verbessert – ganz ohne zentrale Moderation.

Wer hilfreiche Fragen stellt oder gute Antworten gibt, sammelt Punkte. Mit steigender Punktzahl erhalten Mitglieder automatisch mehr Rechte, zum Beispiel

  • Kommentare verfassen
  • Beiträge bewerten
  • Inhalte bearbeiten
  • Inhalte ausblenden

So entsteht eine Plattform, auf der sich Qualität durchsetzt – getragen von einer engagierten Gemeinschaft. Unser Ziel: Guter Inhalt. Für alle.

2.3k Fragen

2.8k Antworten

260 Kommentare

13 Nutzer