Brauche Unterstützung in sachen Perl Syntax und allem - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Michael (450 Beiträge) am Dienstag, 28.Februar.2006, 04:05.
    Brauche Unterstützung in sachen Perl Syntax und allem

      Ich versuche eine art rating rechnung zu erstellen.
      mein problem dabei ist das perl.

      ich habe schon eine teillösung in java dahingewurschtelt (untere eingabe) womit ich zufrieden wäre wenn ich das geiche mit BP erreichen könnte.

      part 1 wäre erstmal nur die rechnung.
      part 2 wäre dann das errechnete in diese oder einer weiteren db zu aktualisieren.


      Die eigenliche formel wäre wie gefolgt, nur dann müsste ich wissen wer gegen wen ein ergebnis erzielt hätte was die sache nur komplizieren würde.

      // all players start with 1000 rating points
      //K50 = $games <1; //for new players
      //K30 = $games <30; // for players who have played 30 or more games
      //K20 = $Rating <2400; // for players that have obtained a raiting of 2400 or higher
      //K_Value =0; //depends on calc look up Match_ID
      //Rating = 0; //depends on calc look up Match_ID
      //Rating_Difference= 60; //depends on calc look up Match_ID
      //Probability = 1/(1+10^(- $Rating_Difference/400));
      //calc_winner= K_Value * 100% - $Probability;
      //calc_looser= K_Value * $Probability;

      also habe ich mich für eine abgespeckte variante entschieden das eine rating aus dem win/loss verhältnis zu der startpunktzahl entsteht.

      siehe link: http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/kmk_sl/ladder

      hier some code:

      <html><head>
      <title>baseportal Datenbank</title>
      </head><body bgcolor=ffffff>
      

      <do action=all>
      <br><br>
      

      // Hell Knows?!?!?
      // new Player K_Value 50
      // player with 30 games or more K_Value 30
      // Player with Rating == or above 2400 K_Value 20

      <perl>
      $Total=$Win+$Loss+$Disc;
      $WC=$Total*$Win/100;
      

      if $Total <30 $K_Value=50;
      if $Total >30 $K_Value=30;
      if $Rating >2400 $K_Value=20;
      </perl>
      

      <loop db=ladder code=Perl>

      $Total=$Win+$Loss+$Disc;
      $WC=100/$Win*$Loss;
      out" ID= $_id  | Nick = $Nick | Total= $Total | WC= $WC % |<br>";
      </loop>
      </body></html>
      <html>
      <head>
       <title>Untitled</title>
      </head>
      

      <body>


      <SCRIPT LANGUAGE="JavaScript">
      <!-- Begin
      function calc(form) {
      





      // Player B Rating

      RateB=eval(form.RateB.value)





      // Player A
      WinA=eval(form.WinA.value)
      LossA=eval(form.LossA.value)
      DiscA=eval(form.DiscA.value)


      GamesA=WinA+LossA+DiscA
      StartRateA=1000
      StartRankA=30

      Rated=eval(form.Rated.value)
      RateA=Rated

      if ( GamesA<30 ){
      
      K_ValueA = 50 ;
      }
      if ( GamesA>30 ){
      
      K_ValueA = 30 ;
      }



      RateCalc1_A=WinA*K_ValueA
      RateCalc2_A=LossA*K_ValueA
      RateCalc3_A=RateCalc1_A-RateCalc2_A
      RateA=StartRateA+RateCalc3_A

       if ( RateA>2400 ){
      
      K_ValueA = 20 ;

      }
      
      FinalrateA=StartRateA+RateCalc3_A









      // Ladder calculations

      Diff=FinalrateA-RateB
      ProbCalc= 1/(1+10^(- Diff/400))
      calc_winnerA= K_ValueA * 100% - ProbCalc
      //calc_looserA= K_ValueA * ProbCalc



      form.kV.value = eval(K_ValueA);
      form.gA.value = eval(GamesA);
      

      form.Rated.value = eval(FinalrateA+GamesA*~calc_winnerA+0,99);


      }
      </script>
      <FORM name="formx">
      <table>
      <tr>
        
          <td>Rating</td>
          <td> <input name="Rated" type="number" value="1000"size=3></td>
             <td>Win:</td>
             <td><input name="WinA" type="number" value="0"size=2></td>
             <td>Loss:</td>
             <td><input name="LossA" type="number" value="0"size=2></td>
          <td>Discs</td>
          <td><input name="DiscA" type="number" value="0"size=2></td>
          <td>K_Value</td>
          <td><input name="kV" type="number" value="0"size=2></td>
        <td>Played Games</td>
          <td><input name="gA" type="number" value="0"size=2></td>
      </tr>
      </table>
      <br>
      <br>
      <input name="RateB" type="hidden" value="1000"size=3>
      <input type="button" value=" berechnen " onClick="calc(this.form)"class=form>
      </form>
      </body>
      </html>
      

      Ich würde mich über hilfe sehr freuen und mich auch erkenntlich zeigen auf der einen oder anderen wohlgesinnten art natürlich :-)
      thx im voraus

      Michael


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Michael (450 Beiträge) am Dienstag, 28.Februar.2006, 04:05.
    Brauche Unterstützung in sachen Perl Syntax und allem

      Ich versuche eine art rating rechnung zu erstellen.
      mein problem dabei ist das perl.

      ich habe schon eine teillösung in java dahingewurschtelt (untere eingabe) womit ich zufrieden wäre wenn ich das geiche mit BP erreichen könnte.

      part 1 wäre erstmal nur die rechnung.
      part 2 wäre dann das errechnete in diese oder einer weiteren db zu aktualisieren.


      Die eigenliche formel wäre wie gefolgt, nur dann müsste ich wissen wer gegen wen ein ergebnis erzielt hätte was die sache nur komplizieren würde.

      // all players start with 1000 rating points
      //K50 = $games <1; //for new players
      //K30 = $games <30; // for players who have played 30 or more games
      //K20 = $Rating <2400; // for players that have obtained a raiting of 2400 or higher
      //K_Value =0; //depends on calc look up Match_ID
      //Rating = 0; //depends on calc look up Match_ID
      //Rating_Difference= 60; //depends on calc look up Match_ID
      //Probability = 1/(1+10^(- $Rating_Difference/400));
      //calc_winner= K_Value * 100% - $Probability;
      //calc_looser= K_Value * $Probability;

      also habe ich mich für eine abgespeckte variante entschieden das eine rating aus dem win/loss verhältnis zu der startpunktzahl entsteht.

      siehe link: http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/kmk_sl/ladder

      hier some code:

      <html><head>
      <title>baseportal Datenbank</title>
      </head><body bgcolor=ffffff>
      

      <do action=all>
      <br><br>
      

      // Hell Knows?!?!?
      // new Player K_Value 50
      // player with 30 games or more K_Value 30
      // Player with Rating == or above 2400 K_Value 20

      <perl>
      $Total=$Win+$Loss+$Disc;
      $WC=$Total*$Win/100;
      

      if $Total <30 $K_Value=50;
      if $Total >30 $K_Value=30;
      if $Rating >2400 $K_Value=20;
      </perl>
      

      <loop db=ladder code=Perl>

      $Total=$Win+$Loss+$Disc;
      $WC=100/$Win*$Loss;
      out" ID= $_id  | Nick = $Nick | Total= $Total | WC= $WC % |<br>";
      </loop>
      </body></html>
      <html>
      <head>
       <title>Untitled</title>
      </head>
      

      <body>


      <SCRIPT LANGUAGE="JavaScript">
      <!-- Begin
      function calc(form) {
      





      // Player B Rating

      RateB=eval(form.RateB.value)





      // Player A
      WinA=eval(form.WinA.value)
      LossA=eval(form.LossA.value)
      DiscA=eval(form.DiscA.value)


      GamesA=WinA+LossA+DiscA
      StartRateA=1000
      StartRankA=30

      Rated=eval(form.Rated.value)
      RateA=Rated

      if ( GamesA<30 ){
      
      K_ValueA = 50 ;
      }
      if ( GamesA>30 ){
      
      K_ValueA = 30 ;
      }



      RateCalc1_A=WinA*K_ValueA
      RateCalc2_A=LossA*K_ValueA
      RateCalc3_A=RateCalc1_A-RateCalc2_A
      RateA=StartRateA+RateCalc3_A

       if ( RateA>2400 ){
      
      K_ValueA = 20 ;

      }
      
      FinalrateA=StartRateA+RateCalc3_A









      // Ladder calculations

      Diff=FinalrateA-RateB
      ProbCalc= 1/(1+10^(- Diff/400))
      calc_winnerA= K_ValueA * 100% - ProbCalc
      //calc_looserA= K_ValueA * ProbCalc



      form.kV.value = eval(K_ValueA);
      form.gA.value = eval(GamesA);
      

      form.Rated.value = eval(FinalrateA+GamesA*~calc_winnerA+0,99);


      }
      </script>
      <FORM name="formx">
      <table>
      <tr>
        
          <td>Rating</td>
          <td> <input name="Rated" type="number" value="1000"size=3></td>
             <td>Win:</td>
             <td><input name="WinA" type="number" value="0"size=2></td>
             <td>Loss:</td>
             <td><input name="LossA" type="number" value="0"size=2></td>
          <td>Discs</td>
          <td><input name="DiscA" type="number" value="0"size=2></td>
          <td>K_Value</td>
          <td><input name="kV" type="number" value="0"size=2></td>
        <td>Played Games</td>
          <td><input name="gA" type="number" value="0"size=2></td>
      </tr>
      </table>
      <br>
      <br>
      <input name="RateB" type="hidden" value="1000"size=3>
      <input type="button" value=" berechnen " onClick="calc(this.form)"class=form>
      </form>
      </body>
      </html>
      

      Ich würde mich über hilfe sehr freuen und mich auch erkenntlich zeigen auf der einen oder anderen wohlgesinnten art natürlich :-)
      thx im voraus

      Michael

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Dienstag, 28.Februar.2006, 10:42.
    Re: Brauche Unterstützung in sachen Perl Syntax und allem

     Antworten


     
 Liste der Einträge von 19801 bis 19951:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.05s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!