mmofacts.com

Liebescalculator

gepostet vor 16 Jahre, 3 Monate von Kapsonfire

Ihr kennt bestimmt Internetseiten wo man 2 Namen inegeben kann und dann rauskommt, wie stark die Liebe in % ist....

nunja abgesehen davon dass es nicht geht, möchte ich so nein algorhytmus machen

weiss aber nicht wo ich anfangen soll

habe mir evtl gedacht das ich ejdem buchstaben ein wert gebe diese addiere und dann

100/wert1*wert2 nehme aber kp wie ich das sinnvoll hinbekomme

z.B. wenn die namen unterschiedlich lang sind^^

gepostet vor 16 Jahre, 3 Monate von abuzeus

Google: Mersenne-Twister

Btw ich finde den Lernprozess krass, den du durchgemacht hast.

gepostet vor 16 Jahre, 3 Monate von cherry

Eine Implementierung in PHP (angenommen der Benutzer gibt die zwei Namen in ein Formular ein und die beiden Felder heissen 'name1' und 'name2'):

PHP:

  $name1 = $_GET['name1'];
$name2 = $_GET['name2'];
$armors_pfeil = rand(15, 98);
echo('Liebesstaerke: ' . $armors_pfeil);
?>
gepostet vor 16 Jahre, 3 Monate von Kapsonfire

Original von abuzeus

Google: Mersenne-Twister

Btw ich finde den Lernprozess krass, den du durchgemacht hast.

was soll das denn heissen?

cherry wenn ich so ne blöde einfache zufallsfunktion hätte machen wollen hätte ich es auch gemacht^^

gepostet vor 16 Jahre, 3 Monate von TheUndeadable

Levenshtein wäre ein mögliches Verfahren...

Aber sehr einfach zu durchschauen

gepostet vor 16 Jahre, 3 Monate von cherry

Original von Browser-Games World

cherry wenn ich so ne blöde einfache zufallsfunktion hätte machen wollen hätte ich es auch gemacht^^

Wenn es niemand 2mal mit den selben Namen probiert ist aber absolut ein Unterschied zwischen meiner Methode und jeder anderen die Du Dir zusammengooglest erkennbar.

Aber hier habe ich mal eben eine bessere Methode zusammengebaut. Gibt keine Garantie auf die Funktion. Zahlen zwischen 30% und 100% werden ausgegeben. Der Zufallsgenerator ist sehr simpel aber fuer den Zwecks wohl ausreichend "zufaellig". Er berechnet Zahlen zwischen 0% und 100% welche mit ner quadratischen Funktion etwas angehoben werden, so dass man mehr gute als schlechte Prozentwerte kriegt und die Untergrenze bei 30 liegt.

Hier ist der Code: http://pastebin.com/f6a41894

gepostet vor 16 Jahre, 3 Monate von Dunedan

Original von TheUndeadable

Levenshtein wäre ein mögliches Verfahren...

Aber sehr einfach zu durchschauen

Man könnte ja vorher einen der Namen mit rot13 shiften o.ä..

gepostet vor 16 Jahre, 3 Monate von Kapsonfire

auch eine methode wäre wie ich oben geschrieben habe den namen zahlen zuweise

dann addieren und das quadireren und dann in den srand reinhauen^^

gepostet vor 16 Jahre, 3 Monate von darken

Aber sollten bswp. "Adam" und "Eva" nicht immer das gleiche Resultat erhalten? Dann müsste man doch was ohne Zufallszahl fabrizieren

gepostet vor 16 Jahre, 3 Monate von Kapsonfire

in meiner methode ja schon da wenn man die gleichen namen eingibt die zufallsfunktion immer wieder zur selben Stelle geschuffled wird....

ich musss aber mal schauen ob es sowas wie srand auf bei visual basic gibt^^

gepostet vor 16 Jahre, 3 Monate von mail-me

Wenn das Verfahren nicht durchschaubar sein soll, würd ich ne Zufallszahl nehmen und die Ergebnisse speichern. Das hätte natürlich den Nachteil, dass man ne DB braucht und - je nach Gebrauch - diese sehr schnell voll und ggf. zugemüllt wird. Vorteil: sehr simpel und es gibt keinen logischen Zusammenhang zwischen Namen und Ergebnis.

Ansonsten würd ich etwas rumexperimentieren. Einfach mal nachdenken auf was man zwei Wörter testen könnte...

z.B. Anteil der gemeinsamen Buchstaben ( x verschiedene Buchstaben gesamt, davon y in beiden vertreten) oder

Mittelwert beider Namen (Werte der Zeichen) vergleichen (z.B. Abstand)

hinterher könnte man die Analysen dann gewichten und zu einem Ergebnis zusammenrechnen. Die Gewichtung könnte man auch "zufällig" machen, indem man aus den Wörtern/Namen irgendwelche Buchstaben bestimmt, mit denen dann reproduzierbare Pseudozufallszahlen generiert werden. Wichtig wäre ja, dass bei zwei Namen nie was anderes rauskommt. Deswegen müsste man auch immer die Namen vor Analyse sortieren.

Das schwierigste an der Sache wäre, dass die Ergebnisse nicht zu sehr in eine Richtung tendieren und wirklich die ganze Skala von 0 bis 100% bei "normalen" Namen möglich ist...

gepostet vor 16 Jahre, 3 Monate von cherry

Also Poste ich meine Loesung nochmal...

PHP:

  •   $name1 = 'Kal-Heinz';
  •   $name2 = 'Claudia;';
  •   echo('Liebesfaktor: ' . rnd(str_to_int($name1), str_to_int($name2)));
  •  
  •   function rnd($x, $y)
  •   {
  •     $n = abs((($x*$y*9301 49297) % 233280)/233280.0);
  •     return round($n*100 (-30*$n*$n 30));
  •   }
  •  
  •   function str_to_int($s)
  •   {
  •     $s = str_split($s);
  •     $n = 0;
  •     for($i=0; $i($s); $i )
  •       $n = ord($s[$i]);
  •     return $n;
  •   }
  • ?>
  • gepostet vor 16 Jahre, 3 Monate von Kapsonfire

    so ich habs mal in viusal Basic umgesetzt und scheint alles zu worken^^

    Public Class Form1
      
        Private Function Quersumme(ByVal vZahl As Object) As Long
            Dim sZahl As String
            Dim nLen As Long
            Dim i As Long
            Dim nSum As Long
            sZahl = CStr(vZahl)
            nLen = Len(sZahl)
            For i = 1 To nLen
                If IsNumeric(Mid$(sZahl, i, 1)) Then
                    nSum = nSum Val(Mid$(sZahl, i, 1))
                End If
            Next i
            ' Rückgabewert: Summe
            Quersumme = nSum
        End Function
        Function gener(ByVal inhalt As String)
            inhalt = Replace(inhalt, " ", "0")
            inhalt = Replace(inhalt, "a", "2")
            inhalt = Replace(inhalt, "b", "3")
            inhalt = Replace(inhalt, "c", "4")
            inhalt = Replace(inhalt, "d", "5")
            inhalt = Replace(inhalt, "e", "6")
            inhalt = Replace(inhalt, "f", "7")
            inhalt = Replace(inhalt, "g", "8")
            inhalt = Replace(inhalt, "h", "9")
            inhalt = Replace(inhalt, "i", "1")
            inhalt = Replace(inhalt, "j", "2")
            inhalt = Replace(inhalt, "k", "3")
            inhalt = Replace(inhalt, "l", "4")
            inhalt = Replace(inhalt, "m", "5")
            inhalt = Replace(inhalt, "n", "6")
            inhalt = Replace(inhalt, "o", "7")
            inhalt = Replace(inhalt, "p", "8")
            inhalt = Replace(inhalt, "q", "9")
            inhalt = Replace(inhalt, "r", "5")
            inhalt = Replace(inhalt, "s", "6")
            inhalt = Replace(inhalt, "t", "7")
            inhalt = Replace(inhalt, "u", "8")
            inhalt = Replace(inhalt, "v", "9")
            inhalt = Replace(inhalt, "w", "1")
            inhalt = Replace(inhalt, "x", "2")
            inhalt = Replace(inhalt, "y", "3")
            inhalt = Replace(inhalt, "z", "4")
            inhalt = Replace(inhalt, "A", "2")
            inhalt = Replace(inhalt, "B", "3")
            inhalt = Replace(inhalt, "C", "4")
            inhalt = Replace(inhalt, "D", "5")
            inhalt = Replace(inhalt, "E", "6")
            inhalt = Replace(inhalt, "F", "7")
            inhalt = Replace(inhalt, "G", "8")
            inhalt = Replace(inhalt, "H", "9")
            inhalt = Replace(inhalt, "I", "1")
            inhalt = Replace(inhalt, "J", "2")
            inhalt = Replace(inhalt, "K", "3")
            inhalt = Replace(inhalt, "L", "4")
            inhalt = Replace(inhalt, "M", "5")
            inhalt = Replace(inhalt, "N", "6")
            inhalt = Replace(inhalt, "O", "7")
            inhalt = Replace(inhalt, "P", "8")
            inhalt = Replace(inhalt, "Q", "9")
            inhalt = Replace(inhalt, "R", "1")
            inhalt = Replace(inhalt, "S", "2")
            inhalt = Replace(inhalt, "T", "3")
            inhalt = Replace(inhalt, "U", "4")
            inhalt = Replace(inhalt, "V", "5")
            inhalt = Replace(inhalt, "W", "6")
            inhalt = Replace(inhalt, "X", "7")
            inhalt = Replace(inhalt, "Y", "8")
            inhalt = Replace(inhalt, "Z", "9")
            inhalt = Quersumme(inhalt)
            Return inhalt
        End Function
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim Name1 As String = TextBox1.Text
            Dim Name2 As String = TextBox2.Text
            Dim zahl As Integer = 0
            Dim zahl2 As Integer
            Name1 = gener(Name1)
            Name1 = CInt(Name1)
            Name2 = gener(Name2)
            Name2 = CInt(Name2)
            zahl = Name1 Name2
            zahl = zahl 6
            Rnd(-1)
            Randomize(zahl)
            zahl2 = Int((100 - 1 1) * Rnd()) 1
            TextBox3.Visible = True
            TextBox3.Text = CStr(zahl2) "%"
        End Sub
    End Class

    http://uploaded.to/?id=len6qs <-- Compiled version: 73KB groß //.Net Framework benötigt

    gepostet vor 16 Jahre, 3 Monate von Amun Ra

    Und jetzt rechnest du dir deine Chancen bei irgendwelchen Frauen aus oder was?
    Was hat das mit Browsergames zu tun?

    gepostet vor 16 Jahre, 3 Monate von Kapsonfire

    muss alles unbedingt mit browsergames zu tun haben?

    gepostet vor 16 Jahre, 3 Monate von TheUndeadable

    Nein daber das hier ist schon großer Quatsch

    Und?

    Warum nicht mal was anderes. Threads kann man auch ignorieren, wenn sie einem nicht gefallen...

    BTW: Primzahlen wurden auch schon für großen Quatsch gehalten...

    gepostet vor 16 Jahre, 3 Monate von Kapsonfire

    ich weiss es hat nix mit browsergames zu tun

    wollte mich nur weiterbilden^^

    gepostet vor 16 Jahre, 3 Monate von Bringer

    Original von Browser-Games World

    wollte mich nur weiterbilden^^

    Wenn dieser Thread auch nur im entferntesten Sinne etwas mit "Bildung", geschweige denn "Weiterbildung" zu tun hat, dann sehe ich mich gezwungen Meister Shifu zu zitiren: "Jetzt gibt es doch ein Nulllevel..."

    gepostet vor 16 Jahre, 3 Monate von Kapsonfire

    hmmm was habe ich daraus gelernt

    naja ich habe verschiedene algorhytmen kennen gelernt , auch wenn noch nicht benutzt. xD

    gepostet vor 16 Jahre, 3 Monate von abuzeus

    Original von Browser-Games World

    was soll das denn heissen?

    Ich dachte, das wäre offensichtlich. Wenn ich in mein Dashboard schaue ist es das jedenfalls.

    gepostet vor 16 Jahre, 3 Monate von Kapsonfire

    Original von abuzeus

    Original von Browser-Games World

    was soll das denn heissen?

    Ich dachte, das wäre offensichtlich. Wenn ich in mein Dashboard schaue ist es das jedenfalls.

    hmm irgendwie für mich nicht

    aber kannst mir gerne eine pn schrieben mit der lösung^^

    gepostet vor 16 Jahre, 3 Monate von TheUndeadable

    > hmm irgendwie für mich nicht

    1 Satz-Zustimmungspostings haben den Informationswert von 0. Und dies in 3 Threads ist doch etwas ermüdend...

    gepostet vor 16 Jahre, 2 Monate von None

    Ich habe soetwas mal anhand von Sternbildern gemacht. In so einem Schülerplaner waren die verschiedenen Konstellationen abgedruckt, also wer mit wem am besten kann. Das habe ich numerisch in einen Algorythmus übertragen. Levenshtein hört sich aber auch sehr gut an, dafür gibt es ja auch eine PHP-Funktion. Wenn ich mich recht erinnere, gibt es da auch noch metaphone()...

    Auf diese Diskussion antworten