SEO-Software von Suchmaschinenoptimierung.de

Spiele programmieren mit JS?

(hier klicken, um zum Original Thread zu gelangen)
derletztekick
Hi,

es ist glaube ich doch mehr Arbeit als ich zunächst annahm aber sicher eine schöne (Übungs)aufgabe! Ich werde auf jeden Fall versuchen weiter zu machen, mal sehen was rum kommt Augenzwinkern

Schöne Grüße Micha
Five
Hab jetzt ein kleines Spiel gecodet.
Geht auch, aber nur in Frontpage, nicht im IE oder FF. großes Grinsen

Hier mal der Code
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
<html>
<head>
<title>Test</title>

<script type="text/javascript">
<!--


var i = 0;
var punkte=0;
var folge=0;
var lvl = 1;

var groesse=9;
var sekunden = 10;
var speed;

var onetime = 1;

function startgame()
    {
    
    if(lvl == 1 && onetime == 1) { 
    	alert("Level 1 beginnt! Drücke die Felder in der richtigen Reihenfolge!");
    	onetime++;
    }
    
    speed = 1000-lvl*100;
    
    sekunden--;
    if(sekunden >= 0) {
        show();
        document.getElementById('zeit').innerHTML = sekunden;
        document.getElementById('level').innerHTML = lvl;
        document.getElementById('punkte').innerHTML = punkte;
        setTimeout("startgame()", speed);
    } else {
        setTimeout("lvlende()", 1000);       
    }
}

function lvlende() {
	alert("Level "+lvl+" erfolgreich bestanden. Du hast nun insgesamt "+punkte+" Punkte!");
	
	sekunden=10;
	
	var startfor = sekunden*(lvl-1);
	var endfor = lvl*sekunden-1; 
	
	for(u=startfor ; u<=endfor; u++) {
		if (document.getElementById("s"+u) && document.getElementById("s"+u).style.visibility != "hidden") {
			document.getElementById("s"+u).style.visibility = "hidden";
		}
	}
	
	
	folge=lvl*sekunden;
	lvl++;
	
	startgame();
}

function zufallszahl () {
    var rand = groesse*(Math.random());
    rand = Math.round(rand);
    return rand;
}


function show () {
    rand1 = zufallszahl();
    rand2 = zufallszahl();

    document.getElementById(rand1).deleteCell(rand2);
    var Text = document.createElement('<input id="s'+i+'" type="button" name="s'+i+'" id="s'+i+'" value="'+lvl+'" onclick="klick('+i+')">');
    var TD = document.getElementById(rand1).insertCell(rand2);

    TD.appendChild(Text);

    i++;
}

function klick(x) {
    if(x==folge) {
        document.getElementById("s"+x).style.visibility = "hidden";
        punkte = punkte+1*lvl;
        folge++;
    } else {
        alert("Falsche Reihenfolge");
    }
}



document.write("<div align=center><table width=100%><form name=form>");

for(j=0;j<=groesse;j++)
{
    document.write("<tr id="+j+">");
    
        for(n=0;n<=groesse;n++)
        {
            document.write("<td width=10% height=30>&nbsp;</td>");
        }

    document.write("</tr>");
}

document.write("</table></form></div>");

//-->
</script>

</head>

<body onload="startgame()">

Level:&nbsp;<span id="level"></span><br>
Punkte: Noch&nbsp;<span id="punkte"></span><br>
Zeit: Noch&nbsp;<span id="zeit"></span>&nbsp;Sekunden.<br>


</body>
</html>

derletztekick
Hi,

und Du meinst, es ist sinnvoll ein Spiel zu haben, das keiner außer Du (und ein paar andere, die MS Office haben vll) sehen können?

Wie kommst Du darauf, das sowas:
Zitat:
document.createElement('<input id="s'+i....

geht?

Die JavaScript-Konsole ist im Foirefox ist Dein Freund.

Micha
Five
Zitat:
Original von derletztekick
Hi,

und Du meinst, es ist sinnvoll ein Spiel zu haben, das keiner außer Du (und ein paar andere, die MS Office haben vll) sehen können?

Wie kommst Du darauf, das sowas:
Zitat:
document.createElement('<input id="s'+i....

geht?

Die JavaScript-Konsole ist im Foirefox ist Dein Freund.

Micha


was daran?
derletztekick
Hi,

was Dir daran hilft? Hmm, sie zeigt Dir den Fehler an, die Zeile und ggf. was es zu ändern gibt. Reicht das nicht zum Debuggen?

Micha
Five
Zitat:
Original von derletztekick
Hi,

was Dir daran hilft? Hmm, sie zeigt Dir den Fehler an, die Zeile und ggf. was es zu ändern gibt. Reicht das nicht zum Debuggen?

Micha


Jetzt wüsst ich den Fehler noch gerne, Danke.
derletztekick
Hi,

den ersten den er gefunden hat, habe ich bereits gepostet. createElement() ist falsch!

Micha
Five
Und was daran falsch???? Wie könnt ich das verbessern?

Bitte nicht so sparsam schreiben.
derletztekick
Hi,

Zitat:
Original von Five
Und was daran falsch???? Wie könnt ich das verbessern?

In dem Du nachsiehst, wie man es richtig macht.

createElement() erwartet den Namen eines HTML-Elements. attribute werden durch eine Punktverknüpfung angehangen:

code:
1:
2:
3:
4:
5:
6:
7:
var myIMG = document.createElement("img");
myIMG.width = "200";
myIMG.alt = "Ich bin ein Bild";
myIMG.src = "http://example.org/img.png";
...



Zitat:
Original von Five
Bitte nicht so sparsam schreiben.

Solange Du die Antwort nur suchen musst, da Dir der Fehler bekannt ist, sollte afaik ein Hinweis reichen. Nachlesen musst Du es allein ;-)

Liebe Grüße Micha
Five
Danke,
da ich noch am lernen bin, fühl ich mich beim alleinigen suchen etwas verloren und unbeholfen. Da gehts viel schneller, wenn mit die Lösung gleich gesagt wird.
derletztekick
Hi,

nö, das ist eher praktisch für Dich, würde ich sagen. Wenn Dir einer sagt (in dem Fall mein Firefox), das Du createElement() falsch hast, dann nimst Du das und trägst es in das Suchfeld ein: Suche nach createElement. Wie Du siehst, ist es der "Bester Treffer"; ansonsten auf JAVASCRIPT umschalten und dort etas stöbern.

Wenn es dann immer noch nicht geht, kann man ja fragen. Meinst Du wirklich, dass das zuviel verlangt ist?

Liebe Grüße und weiterhin viel Erfolg!!!

Micha
derletztekick
Hallo,

meine erste Version von Tetris ist online.

Nun kann der eifrige Informatiker ja mal einen Screenshot bei 640x480 aus dem Netscape 4 machen um dann den Beweis der Unkompatibilität zu erbringen, ansonten bedanke ich mich für den Ansporn ;-)

Liebe Grüße und viel Spaß bei zocken

Micha
Five
cooles spiel, aber wer hat heute schon eine Auflösung unter 800x600?
Es gibt vielleicht ein paar, aber man kann es nie jedem recht machen!
Nicht jeder hat auch Flash installiert.
Five
So, mein Spiel läuft jetzt auch einigermaßen (jetzt aber nicht mehr in Frontpage^^)

http://rebelweb.biz/spiel.html

Aber es wird noch verbessert. Ist ja momentan noch etwas öde.
derletztekick
Zitat:
Original von Five
wer hat heute schon eine Auflösung unter 800x600?


Das frag nicht mich...

Zu Deinem Spiel. So ab Level 12 wird es schwer überhaupt das Browserfenster zu schließen, da eine Alert-Box nach der anderen kommt. Das solltest Du beheben. Auch wäre eine Begrenzung des Spielfelds durchaus angebracht.

Micha
Five
Zitat:
Original von derletztekick
Zitat:
Original von Five
wer hat heute schon eine Auflösung unter 800x600?


Das frag nicht mich...

Zu Deinem Spiel. So ab Level 12 wird es schwer überhaupt das Browserfenster zu schließen, da eine Alert-Box nach der anderen kommt. Das solltest Du beheben. Auch wäre eine Begrenzung des Spielfelds durchaus angebracht.

Micha


Jo, das kommt noch^^
Was meinst du mit Begrenzung? Das Spielfeld ist 9*9 oder10*10 Felder groß und die Tabelle ist unsichtbar, damit man sich nicht nach der tabelle orientiert.
derletztekick
Hi,

diue Tabelle geht aber über den gesamten Bilchschrim, bei einer Auflöung jenseits von 1024 dauert es schon etwas, bis man mit der Maus von links nach rechts gegangen ist...

Micha
Five
Zitat:
Original von derletztekick
Hi,

diue Tabelle geht aber über den gesamten Bilchschrim, bei einer Auflöung jenseits von 1024 dauert es schon etwas, bis man mit der Maus von links nach rechts gegangen ist...

Micha


Das ist ja der Sinn dabei großes Grinsen
Aim training^^
derletztekick
Hi,

Danke, ich habe schon gegessen!

Dann hat aber einer mit einer 800er Auflösung einen großen Vorteil...

Micha
Five
Zitat:
Original von derletztekick
Hi,

Danke, ich habe schon gegessen!

Dann hat aber einer mit einer 800er Auflösung einen großen Vorteil...

Micha


Das Stimmt. Aber noch spielt man ja nur gegen sich selber und nicht gegen andere, mit anderen Auflösungen.
(hier klicken, um zum Original Thread zu gelangen)



Tipp: Ranking-Konzept.de - Das SEO-Forum (Forum rund um die Suchmaschinenoptimierung) der artaxo AG.
Das große Versicherungs ABC von Versicherung.de - mit allen Aspekten der Computerversicherungen!
Fan-Foren.de, die große Community mit Musikforum ist ab sofort online.