| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Apr 2003
Beiträge: 230
| Arrays und If-Abfrage
Hallo, ich hab folgende variablen: runde, gesamt1, gesamt2, gesamt3, gesamt4, aktspieler und folgende funktion: PHP-Code: Wenn spieler 1 an der reihe ist, also PHP-Code: PHP-Code: Wenn spieler 2 an der reihe ist, also PHP-Code: PHP-Code: und so weiter. aber es tut sich absolut nix ![]() ich nehme an es hat mit dem Array zu tun? Bin für jede Hilfe dankbar! gruß real2k |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.321
|
== [playerarray[i]] warum packst du das in eckige klammern? mit eckigen klammern erstellt man ein array. du testest, ob _root.aktspieler ein array ist. und deine for-schleife macht wenig sinn!? Code: for (i=0; i<playerarray.length; i++) {
if (_root.aktspieler == [playerarray[i]]) {
_root["gesamt"+playerarray[i]] = _root["gesamt"+playerarray[i]]+_root.runde;
}
_root.runde = 0;
} _root["gesamt"+ _root.aktspieler] += _root.runde; _root.runde = 0;
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (06-07-2008 um 21:44 Uhr) |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Apr 2003
Beiträge: 230
|
hmm joa. nun geht es, aber nur für spieler 1 ![]() das verwirrt ja erstrecht.. edit: die variable "runde" zählt für alle spieler einen bestimmten erreichten wert für diese eine runde aus. also das ist keine variable die immer um +1 nach oben geht. Geändert von Real2k (06-07-2008 um 21:47 Uhr) |
| | |
| | #4 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.321
|
playerarray = new Array("1", "2", "3", "4"); anführungszeichen ist text und keine zahl. edit: ist mir persönlich wurscht. du addierst "runde" nur zu einem spieler, zum aktspieler.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (06-07-2008 um 21:50 Uhr) |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Apr 2003
Beiträge: 230
|
hier mal was ich machen will: funktioniert einwandfrei, ist aber halt viel zu lange. PHP-Code: |
| | |
| | #6 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.321
|
du hast eine for-schleife für alle und mit deinem if-test filterst du einen einzigen davon heraus. das ist wiedersprüchlich! entweder es soll für alle sein, dann lass deinen if-test weg oder es ist nur für einen, dann lass deine for-schleife weg Code: function save() {
for (i=0; i<playerarray.length; i++) {
_root["gesamt"+i] += _root.runde;
}
_root.runde = 0;
naechster();
}
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (06-07-2008 um 22:06 Uhr) |
| | |
| | #8 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.321
|
jain. absolute werte sind immer schlecht! zum einen, was bedeutet die 5 und dann, was ist wenn sich die 5 mal ändert? (im quellcode kommt die 5 vielleicht hundert mal vor, welche davon wären dann zu ändern?) besser wäre z.b.: spieleranzahl=5; bzw. ginge auch: spieleranzahl=playerarray.length; ... for (i=0; i< spieleranzahl; i++) { nach der bezeichnung spieleranzahl kann man gut suchen, jeder versteht sofort um was es geht und man kanns einfach ändern. ach so: und programmierer beginnen immer mit 0 zu zählen ;-) also runde, gesamt0, gesamt1, gesamt2, gesamt3, aktspieler weil man so die laufvariablen direkt als indexzähler benützen kann.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (06-07-2008 um 22:46 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |