Kleines Spiel Script "Javascript"

  • Ich bin noch neu in der javascript Welt und habemal ein mini spiel gemacht was eigentlich mit etwas simplen Code geschrieben sein sollte ( wenn man es kann )..;(


    ich wollte eigentlich wissen was ihr vom code halten tut,bzw was ich verbessern kann ,oder wie man das ganze Script vieleicht auch mit wenniger code hinbekommen tut..


    Das Spiel ist nebensache obwohl ihr es ja zumindest eins, zwei mal spielen müsst um vieleicht auch verbesserungs vorschläge zum code geben könnt..


    besten dank, bin für fragen ,kritik, und verbesserugen ganz ohr.;)


    Sind des spieles ist den ersten würfel sich zu merken..farbe grösse und position ändert sich und ist somit schwer zu verfolgen...leichte stufe kein probllem,aber je schwerer um so schwerer ist es ...ergib sinn ne:)


    https://jsfiddle.net/rzm4ancs/9/

  • Zitat

    wie man das ganze Script vieleicht auch mit wenniger code hinbekommen tut

    Dieses hier kannst Du einsparen, wenn Du statt Checkbuttons Radiobuttons verwendest:

    Code
        document.getElementsByName('leicht1')[0].checked =true;
        document.getElementsByName('leicht2')[0].checked =false;
        document.getElementsByName('leicht3')[0].checked =false;
        document.getElementsByName('leicht4')[0].checked =false;
  • Nächster Schritt: Nur eine Funktion verwenden:


    HTML:

    Code
    <br>Leicht:
      <input type="radio" name="rblevel" id="leicht1" data-speedq="1000"> Mittel:
      <input type="radio" name="rblevel" id="leicht2" data-speedq="500"> Schwer:
      <input type="radio" name="rblevel" id="leicht3" data-speedq="250"> Super schwer:
      <input type="radio" name="rblevel" id="leicht4" data-speedq="100">


    JS:

    Code
    function setSpeed() {
        var speedq = this.getAttribute("data-speedq");
        sessionStorage.setItem('speedq', speedq);
    }
    leicht1.onchange = setSpeed;
    leicht2.onchange = setSpeed;
    leicht3.onchange = setSpeed;
    leicht4.onchange = setSpeed;
  • danke ...

    das habe ich mal geändert das spart ja schon mal 20 reihen code..


    Ist das eigentlich normal das man immer nur eine radiobutton anklicken kann.. habe mal gerade etwas gegoogelt aber nur sachen gefunden wo man nur ein anklicken kann und komischerweise nie 2.. ist das normal in java oder habe ich einfach nicht richtig gesucht

  • Deine Auswahl der Schwierigkeit ist doch das beste Beispiel. Es kann nur einen Level geben und was Du mühevoll bei den Checkbuttons mit Javascript programmiert hast, macht eine Gruppe von Radiobuttons von allein. Wenn eine Mehrfachauswahl gefragt ist, kann man Checkbuttons verwenden.

  • kann mal da einer kucken


    https://jsfiddle.net/7whqwsup/1/


    ich will ,al einen animierten border bauen der mal um ein bild wie ein lauflicht sein soll... also wiele div boxen die um das bild wandern... habe aber jetzt schon ein problem..


    nach 10 pixel verschwindet div box 2,3, und 4 und ich weiss nicht wo hin ...habe schon mit z-index rum gespielt mit positsionen und so weiter nur verstehe ich nicht wo die boxen hin sind weil box eins macht was es soll,,,,, und um jede andere vorschläge die mein vorhaben bestärken können bin ich auch froh rüber

  • aber ein problem habe ich noch ich verstehe nicht warum ganz links ein div rum steht ,der da fest verankert ist und sich nicht bewegt ,verstehe nicht wo der weg kommt weil irgendwie ????


    ich verstehe es nicht ,der muss da weg


    https://jsfiddle.net/7whqwsup/5/


    und wenn man das script 2-3 minuten laufen lässt fängt es an rumzuspinnen,da fangen die boxe an zu flackern und bleiben bald stehen


    EDIT habe einfach das "los(x)" gelöscht dann wahr flackern weg


    aber der erste würfel steht immer noch im weg ,den bekomme ich einfach nicht weg

  • ich möchte ja das das lauflicht einmal runterrum laufen tut zb einmal um das browserfenster.... jetzt habe ich es soweit das es nur oben laufen tut...nun meine frage ob man den code verkürzen kann..weil man müsste ja einige divs erstellen um einmal runter rum zu kommen ..

    kann man dieses

    noch irgendwie verkürzen weil bei noch 40 divs die ich bräuchte würde das sehr lang werden ...


    dann noch dieses hier

    Code
    if(y==1){y1=-100}
                if(y==2){y1=100}
                if(y==3){y1=300}
                if(y==4){y1=500}
                        if(y==5){y1=700}  
                          if(y==6){y1=900}
                         if(y==7){y1=1100}
                         if(y==8){y1=1300}
                          if(y==9){y1=1500}

    das würde bei 40 divs auch noch um einiges länger bzw müsste man das noch überdenken wenn man einmal im kreis will



    und bei diesen


    Code
    <div id="eins1"></div>
      <div id="eins2"></div>
      <div id="eins3"></div>
      <div id="eins4"> </div>
    <div id="eins5">    </div>
    <div id="eins6">    </div>
    <div id="eins7">    </div>
    <div id="eins8">    </div>

    bleibt mir wohl nix anderes übrig das bis 40 divs oder so zu verlängern oder gibt es da noch was anderes was in meinen fall funktionieren würde??...Danke schon mal für eure hilfe.....

  • da werde ich heute mal viel zu lesen haben ..danke dir erstmal ...

    noch ne frage wie bekomme ich 2 werte aus ner function mit return also zb :

    Code
    test = los()
    alert(test)  // zeigt ja jetzt hallo an 
    function los(){
    var a = 'hallo';
    var b = 'du'
    var c = 'da'
    return a;
    }

    so das klappt ,das kriege ich hin aber so


    die alerts sind ein test das soll nachher mit in der function fliesen bzw später angezeigt werden ..


    aber wie bekomme ich einzelne werte bzw ein teil der werte da raus ,wie zb in den alerts da

  • Du kannst nur eine Variable zurück geben. Diese kann jedoch ein Array oder Objekt sein, dann kannst Du mehrere Werte hinein legen:

    Code
    function los(){
        var a = 'hallo';
        var b = 'du'
        var c = 'da'
        return {va: a, vb: b, vc: c}; // so geht das 
    }
    var retval = los();
    console.log(retval.va);
    console.log(retval.vb);
    console.log(retval.vc);
  • noch nee bitte ...womit erstellt ihr scripte???

    habt ihr ein programm( was vieleicht in deutsch ist wenn möglich) was zu empfehlen ist ...


    weil ich mache alles mit notpad und mit greasmonkey im browserfenster ,,das ist doch etwas nervig

  • Da wird dir jeder etwas anderes empfehlen. IMO ist das Wichtigste, dass der Editor nicht nur ein Syntax-Highlighting hat sondern auch Syntaxfehler gleich beim Editieren anzeigt. Das erleichtert und beschleunigt die Entwicklung enorm.

    Selber benutze ich Visual Studio 2015 Community. Die Community Edition ist kostenlos bei nicht kommerzieller Nutzung.

  • wie kann ich das hier verkürzen,also mit schleife

    Bitte ran denken das es ein userscript ist ..ich habe es versucht mit innerHTML aber das klappt irgendwie nicht so wie es soll... hatte was gefunden bei googel was bestimmt auch klappen würde ,aber kriege es nicht hin in userscript laufen zu lassen...wenn dann mache ich es vollkommen falsch oder ich bin auf den holzdampfer.


    Code
    for(a=0;a<=10;a++){
    +'<div id="eins'+a+'"  class="meinedivs"></div>'
    
    }

    funktioniert natürlich nicht weil die schleife ja zwischen den html code ist("ich sage das mal so"). mit document write würdedas ja gehen aber das ist ein userscript da geht das natürlich nicht und innerHTML geht so auch nicht weil die schleife wie sie da ist nicht reinpasst (spiet die fehlerkonsole nicht mit ).



    aber so gehts


    Aber ist das nicht FUSCH ??


    gibt es da bessere möglichkeiten oder ist das doch richtig was ich da gemacht habe

  • ja gelesen ja,aber noch nicht ganz verstanden...kannst du mir mal ein beispiel geben ,wie man das obrige machen kann???


    noch nee frage wenn ich css einbinden will,also so


    // @require http://qtip2.com/v/stable/jquery.qtip.css



    schreibtdie fehlerkonsole immer irgendwelche probleme mit den script...


    bei normalen scripte geht das einbinden so,aber sobald das einne css ist kommen immer fehler in der konsole und es funktioniert nix

  • Zitat

    kannstdu mirmaleinbeispiel geben ,wie man das obrige machen kann???

    nicht genau das obige, aber schau dir mal dies an und probiere es aus:

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!