Dinge sollen nur zu gewisser Warscheinlichkeit passieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Dexter1997
User
Beiträge: 92
Registriert: Sonntag 2. Dezember 2012, 21:13

Hallo ihr Lieben, hier die Kurzfassung meines Problems:

Ich moechte, das Ereignisse in meinem Programm nur zu gewissen Warscheinlichkeiten passieren.
Hier ein Beispiel:
Man macht mit einer Warscheinlichkeit von 10% stark erhöhten Schaden.
Könntet ihr mir anhand eines (Pseudo-)codes zeigen, wie man sowas programmiert?
Malachite
User
Beiträge: 34
Registriert: Sonntag 24. Juni 2012, 13:43
Wohnort: Berlin

Ganz einfach. In deinem Fall soll ja bei einem Zehntel der Treffer der Schaden erhöht werden. Also lassen wir uns einfach eine Zufallszahl geben und bestimmen eine Zahl, bei der der Schaden erhöht wird (hier 0):

Code: Alles auswählen

from random import randint


if not randint(0, 9):  # Wenn Zufallszahl gleich 0
    damage *= 1.5  # Anderthalbfacher Schaden
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Code: Alles auswählen

if random.random() <= 0.1:
    damage +=
Das Leben ist wie ein Tennisball.
Dexter1997
User
Beiträge: 92
Registriert: Sonntag 2. Dezember 2012, 21:13

Und wie so oft im Leben denk ich mir:
warum bin ich da nicht von selbst drauf gekommen :roll:
danke!
Benutzeravatar
pixewakb
User
Beiträge: 1412
Registriert: Sonntag 24. April 2011, 19:43

Kommt Zeit, kommt Rat...

Code: Alles auswählen

>>> 2012-1997
15
PS Ich würde einen anderen Benutzernamen wählen, d. h. mich noch einmal neu anmelden und das Geburtsjahr ganz rauslassen.
JonasR
User
Beiträge: 251
Registriert: Mittwoch 12. Mai 2010, 13:59

@pixewakb ein schon sehr oberflächliches Denken, dass du da an den Tag legst. Ich denke keiner wird Dexter1997 andere Antworten geben nur weil 1997 in seinem Namen steht. Vorallem weil es ja alles bedeuten kann, wie z.B. sein Hochzeitstag ;)

Edit: Brauchtest du wirklich die IDE dafür? :P
BlackJack

Und grundsätzlich sind Jahreszahlen besser als die Schlauberger die ihr Alter an den Namen anhängen und dann auch wenn sie zwanzig sind immer noch als Peter15 bekannt sind.

Das es sich im vorliegenden Fall um das Alter handelt schliesse ich mal aus, denn dann würde Dexter wohl Methusalem heissen. ;-)
Dexter1997
User
Beiträge: 92
Registriert: Sonntag 2. Dezember 2012, 21:13

Ich denke ich brauche meinen Namen nicht ändern da ich die reife hab zu meinem alter zu stehen:D
Und ich denke schon mit 15 kann man langsam anfangen zu programmieren, notch (der mit seinem spiel Millionär wurde) hat programmieren mit sechs jahren gelernt. und damals war das weitaus schwieriger
BlackJack

@Dexter1997: Der hat mit sieben mit einem Commodore 128 angefangen. Ich denke es war eher leichter als heute, weil das Gerät und die Software deutlich einfacher beherrschbar sind. Genau wie den C64 kann man den C128 noch ganz gut komplett bis auf's Byte kennenlernen ohne das man zu viele Abstraktionen benötigt um nicht den Überblick zu verlieren.
Antworten