Seite 3 von 6 ErsteErste 123456 LetzteLetzte
Ergebnis 31 bis 45 von 90

Thema: coudnwow

  1. #31
    Luz
    Luz ist offline Haudegen
    registriert
    27-09-2003
    Beiträge
    698

    AW: Javasqript Countdown

    Hier noch mein Vorschlag von gestern im Code. Javascript wird hierfür eingesetzt, um den Timer runterzuzählen, Links vorübergehend zu deaktivieren etc. Trotzdem funktioniert das alles auch mit deaktiviertem Script.
    Ausserdem setzt Du besser den Counter von Pit ein, der ist etwas ausgeklügelter als meine Version.

    PHP-Code:
    <?php
    // Session spielt den Datenbank-Part:
    session_start();
    if (!isset (
    $_SESSION["gebaeude"]))
        
    $_SESSION["gebaeude"]=-1;  // Keine Zeit am Laufen...
        
    function getGebaeude() {
        return 
    $_SESSION["gebaeude"];
    }

    function 
    checkConstructionAllowed() {
        if ( 
    $_SESSION["timeEnds"]>) return false;
        return 
    true;
    }

    // Startet einen Bauvorgang:
    function constructBuilding() {
        
    $_SESSION["timeEnds"]=time()+30;
    }


    // returns:
    // -1: Zeigt an, dass z.Z. nicht gebaut wird.
    // 0: Zeit ist diese Runde abgelaufen -> Gebäude aufdatieren.
    //  > 0 : verbleibende Sekunden.
    function getRemainingTime() {
        if ( 
    $_SESSION["timeEnds"]==-1) return -1;  // Zeigt an, dass Zeit abgelaufen ist.
        
    $time $_SESSION["timeEnds"]-time();
        return 
    $time $time 0;
    }

    function 
    initBuilding() {
        
    $time getRemainingTime();
        if ( 
    checkConstructionAllowed() ) {
            
    constructBuilding();
            return 
    true;  // Bauvorgang gestartet!
        
    } else {
            return 
    false;
        }
    }

    // Prüft alle Daten, und bereitet sie auf:
    function checkAll () {
            if ( 
    getRemainingTime()==) {  // Wenn 0: Zeit um.
            
    $_SESSION["gebaeude"]++;
            
    $_SESSION["timeEnds"]=-1// Zeit auf abgelaufen setzen.    
        
    }  // Weitere Daten checken..    
    }        


    // Alle Daten aufdatieren:
    checkAll();


     
    // Controller
    if ( $_GET["action"]=="buildBuilding" ) {
         if (
    initBuilding()==true)
             
    $msg "Gebauede wird gebaut";
         else {
             
    $msg="Kann kein weiteres Geb. bauen...";
         }
      } else if ( 
    $_GET["action"]=="machSonstWas" )
          
    $msg="Mache sonst etwas.";
     
      
    $time getRemainingTime();
      if (
    $time>0
          
    $onload="onload='updateTime()';";
      
    $gebaeude getGebaeude();
     
    ?>

    <html>
    <head>
    <script type="text/javascript">
    gBuildingTime = <? echo $time ?>;
    gAnzahlGebaeude=<? echo $gebaeude ?>;




    function nixDa() {
        alert ("nix da! Gebaeude wird bereits gebaut!");
    }

    function updateTime() {  // Javascript
        
        g = document.getElementById("geb"); // Link
        g.style.color='gray';  // Auf inaktiv (grau setzen
        // Linkadresse auf nixda Funktion umleiten,
        // welche keinen Reload durchführt:
        g.href="javascript:nixDa();"
        gBuildingTime--;
        // Timer setzen:
        document.getElementById("timer").innerHTML=gBuildingTime;
        if (gBuildingTime>0) setTimeout ("updateTime()", 1000);
        
        // Einstellungen wieder rückgängig machen:
        else {  
            x = document.getElementById("anz").innerHTML;
            document.getElementById("anz").innerHTML=(x/1+1);
            g.style.color="blue";  // Linkfarbe wieder zurück...
            g.href="?action=buildBuilding"; // Und Adresse wieder setzen.
            document.getElementById("timer").style.visibility="hidden"; // Zeit ausblenden.
        }
    }

    </script>

    </head>
    <body <?echo $onload?>>
    <h1> Gebauede bauen- Strategiespiel </h1>
    Anzahl Gebaeude: <span id="anz"><? echo $gebaeude ?></span><br>
    <a id = "geb" href = "?action=buildBuilding"> Gebauede bauen </a><span id="timer"><? echo ($time)>=0?$time:""?></span><br>
    <a href = "?action=machSonstWas"> Mach sonstwas </a><br>
    <p>
    <div style="background-color:yellow;color:red">
    <? echo $msg?>
    </div>
    </body>
    </html>
    Geändert von Luz (15-05-2006 um 20:35 Uhr)

  2. #32
    .dominik. ist offline Routinier
    registriert
    13-05-2006
    Ort
    Bechhofen 24
    Beiträge
    306

    AW: Javasqript Countdown

    jo danke....^^

  3. #33
    pit-r Guest

    AW: Javasqript Countdown

    Zitat Zitat von Hermine
    jo danke....^^
    Hattest Du eh alles schon so in der Art, gelle?

  4. #34
    lordevil ist offline Doppel-As
    registriert
    19-04-2006
    Ort
    Rennerod
    Beiträge
    137

    AW: Javasqript Countdown

    ich will mich ja jetzt nicht in die fleißige diskussion einmischen, aber ich bin echt gespannt auf die aktuelle version des games... bin auch gerne bereit, das mal'n bissl zu testen...

    poste mal'n link...

    eigentlich sollte das mit dem js-counter doch gar nich so'n problem sein... in php haste doch auch alles eigenständig hinbekommen... nochma ZWEI wochen googlen ODER einfach ZWEI - DREI stunden hier ein paar threads lesen sollte eig reichen...

    naja, viel glück noch...

  5. #35
    .dominik. ist offline Routinier
    registriert
    13-05-2006
    Ort
    Bechhofen 24
    Beiträge
    306

    AW: Javasqript Countdown

    so also nein so hatte ich des net wirklich ^^


    keine ahnung wie ich was zitiere....

    also wegen dem link zum bg...ne den geb ich mal net her ihr verarsccht mich eh nur^^...

    etz wirst weng länger...also schaut so hab ich des
    Code:
     if($gebaude == "Holzfällerhütte") {
     $query = "SELECT * FROM gebaude WHERE user = '$user'";   
    $result = mysql_query($query) or die(mysql_error());
    while($row = mysql_fetch_array($result)){
    	$Holzfällerhütte = $row['Holzfällerhütte'];
    $Steinbruch = $row['Steinbruch'];
     }
    $Holzfällerhütte ++;
    
     $query = "SELECT * FROM Aktivierung WHERE session='".session_id()."'";
    $result = mysql_query($query) or die(mysql_error());
    while($row = mysql_fetch_array($result)){
    	$Holz = $row['Holz']; 
    $Stein = $row['Stein']; 
    }
    $Holzverbrauch = $Holzfällerhütte*(pow(1.2,2));
    $Steinverbrauch = $Steinbruch*(pow(1.2,2));
    
    $Holzabzug = $Holz - $Holzverbrauch; 
    $Steinabzug = $Stein - $Steinverbrauch; 
    
    
    
      if($Holzverbrauch > $Holz) {
        $status = "Nicht genügent Holz";
    
      } 
     elseif($Steinverbrauch > $Stein) {
        $status = "Nicht genügent Stein";
    
      } 
      
    
     elseif($Eisenverbrauch > $Eisen) {
        $status = "Nicht genügent Eisen";
    
      } 
    
     elseif($Nahrungverbrauch > $Nahrung) {
        $status = "Nicht genügent Nahrung";
    
      } 
      if($status == "") {
    
    
    $endzeit = $time + 5;
    
    
      $Ressourcenupdate = "UPDATE Aktivierung SET Holz = '$Holzabzug', Stein = '$Steinabzug' WHERE session='".session_id()."'"; 
      $endzeit2 = "UPDATE gebaude Set endzeit = '$endzeit' WHERE user = '$user'";
    
    $update = mysql_query($endzeit2);
    
        if (mysql_query($sql_delete)) {
          if (mysql_affected_rows() > 0) {
            $status = "geht";
          } 
    }
     }
            else{echo"$status";}
      
    
    
    
    
    }
    so hab ich des...wobei endzeit - time gleich die skunden sind ..also im anderen dokument so

    <? $runter = $endzeit - $time;



    if($runter >= 0) {
    include("countdown.js");
    }
    ?>

    und der coudnwow is da der coundwo eben^^

    so mfg Hermine


    danke für den kasten^^
    Geändert von .dominik. (16-05-2006 um 13:45 Uhr)

  6. #36
    .dominik. ist offline Routinier
    registriert
    13-05-2006
    Ort
    Bechhofen 24
    Beiträge
    306

    AW: Javasqript Countdown

    also müsst ja auch

    if($runter <= 0) {
    echo "bau fertig";
    }

    müsste ja des auch gehen...geht aber net

  7. #37
    pit-r Guest

    AW: Javasqript Countdown

    Zitat Zitat von Hermine
    und der coudnwow is da der coundwo eben^^

  8. #38
    .dominik. ist offline Routinier
    registriert
    13-05-2006
    Ort
    Bechhofen 24
    Beiträge
    306

    AW: Javasqript Countdown

    ja ich weiss ich kann kein deutsch^^

    also hier


    if($runter >= 0) {
    include("countdown.js");
    }

    is der countdown.js der countdown^^

  9. #39
    Avatar von Albu
    Albu ist offline Foren-Gott
    registriert
    04-07-2001
    Beiträge
    13.501

    AW: Javasqript Countdown

    Zitat Zitat von Hermine
    ... genügent ...
    da fängts schon an


    Und nur mal so ein Tipp zur generellen Konzeption des Spiels:
    Es ist eine schlechte Idee so viel hart reinzucodieren, wie Du es tust, z.B. bei if($gebaude == "Holzfällerhütte"), oder den Verbrauch oder benötigten Zeiteinheiten, usw.
    Das ist Null erweiterbar und später ein Wartungsfiasko. Was wenn die Holzfällerhütte später zu einem Sägewerk werden soll? Gibts dann einen weiteren if-Zweig für Baumschubser?
    So was macht man dynamisch aus Konfigurationsdateien oder besser Tabellen.
    Was wenn sich z.B. später rausstellt, dass Deine Wirtschaft nicht ausbalanciert ist und Du scheller Holz produzierst, als gut ist für das Spiel?
    1. Get people to play Space Taxi
    2. Sell real estates on neptun
    3. Profit!

    IE is not a browser, it is a scream.


    Outside of a dog, a book is man's best friend. Inside of a dog, it's too dark to read.

  10. #40
    .dominik. ist offline Routinier
    registriert
    13-05-2006
    Ort
    Bechhofen 24
    Beiträge
    306

    AW: Javasqript Countdown

    ich hab dir ja net alles geschickt,...es gibt dann scho sachen die imma dynamisch ausgeführt werden zb so

    $Holzverbrauch_Holzfällerhütte = $Holzfällerhütte*100/4;
    $Steinverbrauch_Holzfällerhütte = $Holzfällerhütte*100/8;

    also nur so zb...

    aber das is ja etz hiern icht der sin das du mir erzählst dass ich alles umstädnlich machen usw...

    wenn du wirklich mit mir weng chatten oda rede willst dann bte unter der icq numer 326-240-153

    (würde mich sogar freuen^^)

  11. #41
    Avatar von Albu
    Albu ist offline Foren-Gott
    registriert
    04-07-2001
    Beiträge
    13.501

    AW: Javasqript Countdown

    Zitat Zitat von Hermine
    ich hab dir ja net alles geschickt,...es gibt dann scho sachen die imma dynamisch ausgeführt werden zb so

    $Holzverbrauch_Holzfällerhütte = $Holzfällerhütte*100/4;
    $Steinverbrauch_Holzfällerhütte = $Holzfällerhütte*100/8;
    hmm sagen tust Du das eine, aber machen tust Du was anderes. Wie die Dingers letztendlich heißen und ob die Variable $Holzfällerhütte später auch ein $Sägewerk enthalten kann / soll ist unerheblich. Die Faktoren hinten dran 100/4, bzw. 100/8 sind die ausschlaggebenden Punkte. Die haben genausowenig etwas in der Berechnung des Verbrauchs der Resourcen und der Zeiteinheiten zu suchen, wie Bezüge zu bestimmten oder einzelnen Gebäuden.
    Mal davon abgesehen würde ich auf Variablennamen verzichten, die Umlaute enthalten

    Ein Beispiel:
    Ein Sägewerk verbraucht x1 Steine und y1 Holz und dauert n1 Zeiteinheiten.
    Ein Schmied verbraucht x2 Steine und y2 Holz und dauert n2 Zeiteinheiten.
    Ein Steinmetz verbraucht x3 Steine und y3 Holz und dauert n3 Zeiteinheiten.
    Ein Bauernhof verbraucht x4 Steine und y4 Holz und dauert n4 Zeiteinheiten.

    Alle vier Gebäudetypen verbrauchen Resourcen und benötigen Zeiteinheiten. Jedes zwar unterschiedlich in der Höhe, aber dennoch so, dass man es sehr leicht Verallgemeinern kann. Willst Du für jeden Gebäudetyp eine eigene Behandlung programmieren?? Bei vieren geht das noch, was machst Du bei 50?

    Nächstes Beispiel:
    Ein Sägewerk produziert x1 Einheiten Holz pro n1 Zeiteinheiten.
    Ein Schmied produziert x2 Einheiten Schwerter pro n2 Zeiteinheiten.
    Ein Schmied produziert x3 Einheiten Hufeisen pro n3 Zeiteinheiten.
    Ein Steinmetz produziert x4 Einheiten Steine pro n4 Zeiteinheiten.
    Ein Bauernhof produziert x5 Einheiten Weizen pro n5 Zeiteinheiten.
    Ein Bauernhof produziert x6 Einheiten Schweine pro n6 Zeiteinheiten.
    Ein Bauernhof produziert x7 Einheiten Milch pro n7 Zeiteinheiten.
    Ein Bauernhof produziert x8 Einheiten Eier pro n8 Zeiteinheiten.
    .......

    Auch hier fällt es nicht schwer ein Muster zu erkennen, welches sich sehr leicht automatisieren läßt.
    In Deinem Code kommen später keine Schweine, Schwerter oder Holz vor, genausowenig Holzfäller oder Bauernhöfe. Das sind alles Konfigurationseinstellungen, die Du in der Datenbank oder in Textdateien hinterlegst. Dort kann man sie zentral jederzeit ändern, anpassen und vor allem erweitern.
    1. Get people to play Space Taxi
    2. Sell real estates on neptun
    3. Profit!

    IE is not a browser, it is a scream.


    Outside of a dog, a book is man's best friend. Inside of a dog, it's too dark to read.

  12. #42
    Luz
    Luz ist offline Haudegen
    registriert
    27-09-2003
    Beiträge
    698

    AW: Javasqript Countdown

    also müsst ja auch

    if($runter <= 0) {
    echo "bau fertig";
    }

    müsste ja des auch gehen...geht aber net

    Dann lass Dir mal bei jedem Reload $runter ausgeben, und schau nach, ob es den richtigen Wert zugewiesen bekommen hat. Prinzipiell ist die Abfrage so richtig.

    aber das is ja etz hiern icht der sin das du mir erzählst dass ich alles umstädnlich machen usw...
    Sobald das Spiel grösser wird als bloss Gebäudebauen wird es sich lohnen, dort anzusetzen. Einige Wiederkehrende Dinge lassen sich auch in Funktionen auslagern (Holzverbrauch, Steinverbrauch etc...).

  13. #43
    .dominik. ist offline Routinier
    registriert
    13-05-2006
    Ort
    Bechhofen 24
    Beiträge
    306

    AW: Javasqript Countdown

    jup will mich den keiner im icq adden....


    ja also er erkenn die variable auf jenden fall




    if($runter >= 0) {
    include("countdown.js");
    echo "$runter";
    }

    if($runter = >0) {
    echo "bau fertig";
    }


    daist halt dann des problem dass er des "bau fertig" immer anzeigt...weil ja dann die variable runter immerweiter nach unten läuft...

    also glaub ich muss ich
    if($runter = 0) {
    echo "bau fertig";
    }

    machen...

  14. #44
    Luz
    Luz ist offline Haudegen
    registriert
    27-09-2003
    Beiträge
    698

    AW: Javasqript Countdown

    also glaub ich muss ich
    if($runter == 0) {
    echo "bau fertig";
    }

    Dann erhöhst Du aber nach 30sek. bei jedem Reload die Anzahl Deiner Sägereien usw. sobald das eingebaut ist... Was kaum der Sinn sein dürfte.

    Du musst vor allem die Bauzeit in der Datenbank wieder zurücksetzen (NULL-Wert oder -1 eintragen; sonst läuft das natürlich ewig...

    Bei jedem Reload der Seite musst Du dann abklären:

    Steht ein anderer Wert als (NULL/-1) dort?
    Wenn ja: runter den aktuellen Wert zuweisen.

    Nun kannst Du z.Bsp.mit isset($runter) prüfen, ob runter gesetzt ist.
    Falls runter=0 wird der Eintrag in der DB auf NULL gesetzt, und natürlich nichts angezeigt. Bei "Gebäude bauen" wird wieder eine Zahl eingefügt, und das Spielchen beginnt von vorne...
    Geändert von Luz (16-05-2006 um 15:01 Uhr)

  15. #45
    .dominik. ist offline Routinier
    registriert
    13-05-2006
    Ort
    Bechhofen 24
    Beiträge
    306

    AW: Javasqript Countdown

    ja du hast mein problem erkannt..

    wenn ich aber etz mache

    if($runter == 0) {
    echo "bau fertig";
    --->update ... set ... to="0" where user = 'user '...
    }

    is ja des problem das er das nur macht wenn er bei 0 ist...wenn sich aber etz ein user ausloogt und erst dann wieder einloogt wenn die zahl zb scho bei -10220 ist...

    hm
    etz added mcih doch im icq bin ich so dumm das man mich net adden kann^^

Seite 3 von 6 ErsteErste 123456 LetzteLetzte

Ähnliche Themen

  1. Countdown bis Wochenende JavaScript
    Von RailiaK im Forum JavaScript
    Antworten: 6
    Letzter Beitrag: 22-01-2006, 15:11
  2. Javascript Problem im Firefox Browser
    Von MG110580 im Forum JavaScript
    Antworten: 6
    Letzter Beitrag: 09-11-2004, 22:52
  3. javascript menü im opera browser
    Von mak_tha_Don im Forum JavaScript
    Antworten: 0
    Letzter Beitrag: 18-10-2003, 13:41
  4. window.popup aus flash
    Von antiheld2000 im Forum Flash
    Antworten: 6
    Letzter Beitrag: 18-07-2003, 14:26
  5. Antworten: 9
    Letzter Beitrag: 25-11-2002, 22:22

Lesezeichen

Berechtigungen

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