Ergebnis 1 bis 13 von 13
  1. #1
    PGHost24 ist offline Grünschnabel
    registriert
    18-03-2012
    Beiträge
    6

    Post [JavaScript] Calculator Rechnet nicht Richtig

    Hallo Liebe Community

    Ich Habe folgendes Problem mit diesem Calculator...
    http://pghost24.de/bwa_calculator/index.php

    Er soll z.b. für das Unterste in der Liste den "Ancient Punisher" sollen folgende Rüstungspreise ausgerechnet werden.

    Bollwerk= 0
    Thermo= 150844
    Sintflut= 218967
    Metha= 246836


    Dies tut er aber nicht.
    Die befehle dafür sind hier:

    Code:
      for(i=0; i<5; i++)
      {
        if(inst[1][i].checked == true)
        {
        pos[1] = inst[1][i].value;
        }
      }
      if(pos[1] >= 1)
      {
        kosten[1] = Number(Schiff["Thermoruestung"][pos[0]]);
        if(pos[1] == 2)
          kosten[1] = Number(kosten[1]) + Number(Schiff["Sintflutruestung"][pos[0]]);
    	if(pos[1] == 3)
          kosten[1] = Number(kosten[1]) + Number(Schiff["MethaRuestung"][pos[0]]);
    	if(pos[1] == 4)
    	  kosten[1] = Number(kosten[1]) + Number(Schiff["SiriusRuestung"][pos[0]]);
      }
      else
      {
        kosten[1] = 0;
      }

    Ich Bedanke mich Vielmals im vorraus
    Mit freunlichen Grüßen

    PGHost24.de Team

  2. #2
    Avatar von miniA4kuser
    miniA4kuser ist offline Lounge-Member
    registriert
    12-07-2006
    Beiträge
    3.034

    AW: [JavaScript] Calculator Rechnet nicht Richtig

    "Dies tut er aber nicht." ist keine Fehlerbeschreibung.
    Was ist dein Problem?
    Was tut er nicht?
    Hoffe ich konnte helfen

  3. #3
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.702

    AW: [JavaScript] Calculator Rechnet nicht Richtig

    ... in pos[0] steht ja auch -1 drin...

  4. #4
    PGHost24 ist offline Grünschnabel
    registriert
    18-03-2012
    Beiträge
    6

    AW: [JavaScript] Calculator Rechnet nicht Richtig

    er berechnet nicht die einzelnen Rüstungen hinzu oder jenachdem welche angaben man gibt ab

    welche pos meinst du wo -1 steht?


    Hier mal der Ganze Script vllt hilft es ja =) bin noch anfänger was das angeht ich verwalte dies nur weiter ^^

    Code:
    // Bei jedem Neu laden der Seite Resette alles falls etwas im Cache ist.
    // Oder wenn kein Schiff mehr angewählt ist.
    function Reset()
    { 
      Instanzieren();
      inst[0].selectedIndex = 0;            
      Schiffsliste();
      inst[1][0].checked = true;
      for(i=2;i<inst.length;i++)
      {
        inst[i].disabled = true;
      }               
      for(k=2;k<10;k++)
      {
        LoescheTyp(inst[k]);
      }    
      for(j=0;j<4;j++)
      {
        FuelleTyp(inst[j+2],0,j);
      } 
      for(l=11;l<19;l++)
      {
        text[l].innerHTML = "Gesperrt";
      }     
      for(m=0;m<11;m++)
      {
        text[m].innerHTML = "0 <img src=\"Kryonit.png\"\/>";
      }   
    }
    
    // Hole alle Instanzen
    function Instanzieren()
    {
      inst[0] = document.Kalkulator.Schiff;
      inst[1] = document.Kalkulator.Ruestung;
      inst[2] = document.Kalkulator.Modul1;
      inst[3] = document.Kalkulator.Modul2;
      inst[4] = document.Kalkulator.Modul3;
      inst[5] = document.Kalkulator.Modul4;
      inst[6] = document.Kalkulator.Modul5;
      inst[7] = document.Kalkulator.Modul6;
      inst[8] = document.Kalkulator.Modul7;
      inst[9] = document.Kalkulator.Modul8;
      for(i=0;i<10;i++)
      {
        pos[i] = inst[i].selectedIndex -1;
      }
      if(text[0] == null)
      { 
        text[0] = document.getElementById('SchiffPreis');
        text[1] = document.getElementById('RuestungPreis'); 
        text[2] = document.getElementById('Modul1Preis'); 
        text[3] = document.getElementById('Modul2Preis');
        text[4] = document.getElementById('Modul3Preis');
        text[5] = document.getElementById('Modul4Preis');
        text[6] = document.getElementById('Modul5Preis');
        text[7] = document.getElementById('Modul6Preis');
        text[8] = document.getElementById('Modul7Preis');
        text[9] = document.getElementById('Modul8Preis'); 
        text[10] = document.getElementById('Kryonit'); 
        text[11] = document.getElementById('Modul1Text'); 
        text[12] = document.getElementById('Modul2Text');
        text[13] = document.getElementById('Modul3Text');
        text[14] = document.getElementById('Modul4Text');
        text[15] = document.getElementById('Modul5Text');
        text[16] = document.getElementById('Modul6Text');
        text[17] = document.getElementById('Modul7Text');
        text[18] = document.getElementById('Modul8Text');	
      }       
    }
    
    // Trage in Dropdown menu die Schiffsliste ein
    function Schiffsliste()
    {
      for(i=0;i<Schiff["Name"].length;i++)
      {
        inst[0].options[inst[0].length] = new Option(Schiff["Name"][i], Schiff["Name"][i], false, false);
      }
    }
    
    // Fülle in die Dropdwons der Module
    function FuelleTyp(inst,typ,art)
    {
      item = Module[Schiff[Schiff["Typauswahl"][typ]][art]]["Name"];
      for(i=0;i<item.length;i++)
      {
        inst.options[inst.length] = new Option(item[i], item[i], false, false);
      }
    }
    
    // Leere die Dropdowns der Module
    function LoescheTyp(inst)
    {
      c = inst.length;
      for(i=c;i>=1;i--)
      {
        inst.options[i] = null; 
      }
    }
    
    // Aktiviere die richtigen Felder und befülle sie
    function SucheTyp()
    {     
      Kryoberechnung();
      // Anzahl der Slots ausgeben
      Slots = Schiff["Slots"][pos[0]];
      Typ = Schiff["Typ"][pos[0]] 
      // Wenn Kein Schiff ausgewählt wird setze alles wieder auf Standard
      if(pos[0] == -1)
      {
        Reset();
        Kryoberechnung();
      }
      else
      {
        // Aktiviere die Standards
        for(i=0;i<4;i++)
        {
          inst[i+2].disabled = false;
          text[i+11].innerHTML = Schiff["Standard"][i]; 
          text[i+6].innerHTML = "0 <img src=\"Kryonit.png\"\/>"; 
          inst[i+6].disabled = true; 
          inst[i+6].selectedIndex = 0;
        }
        if(Slots >= 5)
        {
          inst[6].disabled = false;
          text[15].innerHTML = Schiff[Schiff["Typauswahl"][Typ]][0];
          LoescheTyp(inst[6]);
          FuelleTyp(inst[6],Typ,0);  
        }  
        if(Slots >= 6)
        {
          inst[7].disabled = false;
          text[16].innerHTML = Schiff[Schiff["Typauswahl"][Typ]][1];
          LoescheTyp(inst[7]);
          FuelleTyp(inst[7],Typ,1);  
        }
        if(Slots >= 7)
        {
          inst[8].disabled = false;
          text[17].innerHTML = Schiff[Schiff["Typauswahl"][Typ]][2];
          LoescheTyp(inst[8]);
          FuelleTyp(inst[8],Typ,2);   
        }
        if(Slots >= 8)
        {
          inst[9].disabled = false;
          text[18].innerHTML = Schiff[Schiff["Typauswahl"][Typ]][3];
          LoescheTyp(inst[9]);
          FuelleTyp(inst[9],Typ,3); 
        } 
      }
    }
    
    // Berechne den Preis
    function Kryoberechnung()
    {              
      Instanzieren();   
      // Berechne das Schiff
      if(pos[0] == -1)
        kosten[0] = 0;
      else
        kosten[0] = Schiff["Preis"][pos[0]]; 
         
      // Berechne Panzer
      for(i=0; i<5; i++)
      {
        if(inst[1][i].checked == true)
        {
        pos[1] = inst[1][i].value;
        }
      }
      if(pos[1] >= 1)
      {
        kosten[1] = Number(Schiff["Thermoruestung"][pos[0]]);
        if(pos[1] == 2)
          kosten[1] = Number(kosten[1]) + Number(Schiff["Sintflutruestung"][pos[0]]);
    	if(pos[1] == 3)
          kosten[1] = Number(kosten[1]) + Number(Schiff["MethaRuestung"][pos[0]]);
    	if(pos[1] == 4)
    	  kosten[1] = Number(kosten[1]) + Number(Schiff["SiriusRuestung"][pos[0]]);
      }
      else
      {
        kosten[1] = 0;
      }       
      
      // Berechne die einzelnen Kosten der Module
      for(k=0;k<4;k++)
      {
        if(pos[k+2] == -1)
          kosten[k+2] = 0;
        else
          kosten[k+2] = Module[Schiff["Standard"][k]]["Preis"][pos[k+2]];
      }
      for(j=0;j<4;j++)
      {
        if(pos[j+6] == -1)
          kosten[j+6] = 0;
        else
          kosten[j+6] = Module[Schiff[Schiff["Typauswahl"][Schiff["Typ"][pos[0]]]][j]]["Preis"][pos[j+6]];
      }
      for(m=0;m<10;m++)
      {         
        text[m].innerHTML = kosten[m] + " <img src=\"Kryonit.png\"\/>";
      }
      kosten[10] = 0;
      for(n=0;n<10;n++)
      {
        kosten[10] = Number(kosten[10]) + Number(kosten[n]); 
      }  
        text[10].innerHTML = kosten[10] + " <img src=\"Kryonit.png\"\/>";                                                                    
    }
    Geändert von PGHost24 (19-03-2012 um 23:21 Uhr)

  5. #5
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.702

    AW: [JavaScript] Calculator Rechnet nicht Richtig

    Ach.. hatte das falsche Schiff (gar keines) ausgewählt.

    In der daten.js stehen einfach die falschen Zahlen drin... der Preis wird ja mit der "Thermoruestung" immer summiert...

  6. #6
    PGHost24 ist offline Grünschnabel
    registriert
    18-03-2012
    Beiträge
    6

    AW: [JavaScript] Calculator Rechnet nicht Richtig

    der soll das aber so rechnen z.b:

    Bollwerk + Thermorüstung = Preis 1
    Preis 1 + Sintflutrüstung = Preis 2
    Preis 2 + MethaRüstung = Preis 3
    Preis 3 + Sirius Rüstung = Preis 4

    Und das dann auch wieder rückgängig

  7. #7
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.702

    AW: [JavaScript] Calculator Rechnet nicht Richtig

    Dazu passen aber weder die Daten noch die Funktion. Setz' dich mal mit Papier und Bleistift hin und vollziehe Schritt für Schritt, was dein Code bei den verschiedenen Eingaben genau macht.

  8. #8
    PGHost24 ist offline Grünschnabel
    registriert
    18-03-2012
    Beiträge
    6

    AW: [JavaScript] Calculator Rechnet nicht Richtig

    sorry abr ich blick da nich so ganz durch.. bin noch anfänger was java scripts angeht. Ich Arbeite hauptsächlich mit php und html.. und der calculator ist ein projekt für spieler eines spieles das ~ 1000 -> 3000 Gamer umfasst ^^ und ich will das ding bald öffentlich stellen weil ich das schon versprochen hab nur mitdem fehler kann ich das nich so öffentlich stellen

  9. #9
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: [JavaScript] Calculator Rechnet nicht Richtig

    Zitat Zitat von PGHost24 Beitrag anzeigen
    sorry abr ich blick da nich so ganz durch.. bin noch anfänger was java scripts angeht. Ich Arbeite hauptsächlich mit php und html.. und der calculator ist ein projekt für spieler eines spieles das ~ 1000 -> 3000 Gamer umfasst ^^ und ich will das ding bald öffentlich stellen weil ich das schon versprochen hab nur mitdem fehler kann ich das nich so öffentlich stellen
    Du versprichst eine Spiel für 1000-3000 Leute und kannst es nicht programmieren?

  10. #10
    PGHost24 ist offline Grünschnabel
    registriert
    18-03-2012
    Beiträge
    6

    AW: [JavaScript] Calculator Rechnet nicht Richtig

    nein nicht eihn spiel ein fanmade projekt das von anderen gamern offline gegangen ist und ich es weiterführen möchte weil ich die dafür notwendigen mittel dafür besitze.
    Ausser die js kenntnisse
    ich brauche nur diesen einen fehler den ich einfach nicht finde

  11. #11
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.702

    AW: [JavaScript] Calculator Rechnet nicht Richtig

    Nach deiner Logik müsstest du aus den "pos[1] ==" immer ein "pos[1] >=" machen (was du auch bemerkt hättest, wenn du die mit Papier und Bleistift hingesetzt hättest - außerdem ist das kein JS-spezifisches Problem).
    Dann passen die Daten aber immer nocht nicht zu den Werten, die du in #1 geschrieben hast...

  12. #12
    PGHost24 ist offline Grünschnabel
    registriert
    18-03-2012
    Beiträge
    6

    AW: [JavaScript] Calculator Rechnet nicht Richtig

    Code:
     for(i=0; i<5; i++)
      {
        if(inst[1][i].checked == true)
        {
        pos[1] = inst[1][i].value;
        }
      }
      if(pos[1] >= 1)
      {
    		kosten[1] = Number(Schiff["Thermoruestung"][pos[0]]);
        if(pos[1] >= 2)
    		kosten[1] = Number(kosten[1]) + Number(Schiff["Sintflutruestung"][pos[0]]);
    	if(pos[1] >= 3)
    		kosten[1] = Number(kosten[1]) + Number(Schiff["MethaRuestung"][pos[0]]);
    	if(pos[1] >= 4)
    		kosten[1] = Number(kosten[1]) + Number(Schiff["SiriusRuestung"][pos[0]]);
      }
      else
      {
        kosten[1] = 0;
      }

    Ist das so richtig??
    hab ma bissl überlegt ;D

  13. #13
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.702

    AW: [JavaScript] Calculator Rechnet nicht Richtig

    Ob das richtig ist, kannst nur du sagen - ich kenne die Berechnungsregeln des Spiels nicht. Aber das würde die Berechnungsregel aus #6 repräsentieren.

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 09-10-2011, 20:30
  2. Javascript funktioniert im IE nicht richtig!
    Von wavetraxx im Forum JavaScript
    Antworten: 18
    Letzter Beitrag: 11-03-2010, 16:47
  3. Brauche Hilfe MwSt rechnet nicht richtig
    Von Chica im Forum JavaScript
    Antworten: 54
    Letzter Beitrag: 13-10-2008, 20:07
  4. Javascript rechnet falsch?
    Von pxlcore im Forum JavaScript
    Antworten: 0
    Letzter Beitrag: 04-08-2008, 23:13
  5. Tastatur als Eingabe für Javascript Calculator
    Von For3st im Forum JavaScript
    Antworten: 4
    Letzter Beitrag: 28-01-2007, 00:05

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •