[GastForen Programmierung/Entwicklung JavaScript TicTacToe / hilfehilfehilfe

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

TicTacToe / hilfehilfehilfe

nika15
Beiträge gesamt: 69

6. Aug 2004, 09:49
Beitrag # 1 von 6
Bewertung:
(1192 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
schaut ans ende ;-))

nika

(Dieser Beitrag wurde von nika15 am 13. Sep 2004, 07:16 geändert)
X

TicTacToe / hilfehilfehilfe

oesi50
  
Beiträge gesamt: 2315

6. Aug 2004, 10:09
Beitrag # 2 von 6
Beitrag ID: #101420
Bewertung:
(1192 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hm,
google.. google .. google,
aha:
http://www.javarea.de/..._tictactoe/index.htm

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#101416]
(Dieser Beitrag wurde von oesi50 am 6. Aug 2004, 10:09 geändert)

TicTacToe / hilfehilfehilfe

nika15
Beiträge gesamt: 69

6. Aug 2004, 11:03
Beitrag # 3 von 6
Beitrag ID: #101437
Bewertung:
(1192 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
:-))


als Antwort auf: [#101416]
(Dieser Beitrag wurde von nika15 am 13. Sep 2004, 07:16 geändert)

TicTacToe / hilfehilfehilfe

oesi50
  
Beiträge gesamt: 2315

6. Aug 2004, 11:45
Beitrag # 4 von 6
Beitrag ID: #101448
Bewertung:
(1192 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hinweis: Geben Sie den Textfeldern für das Spielfeld Namen, die Sie im Programm aus der Zeilen- und Spaltenposition ermitteln können. Beispiel: Hat die Variable zeile den Wert 1 und die Variable spalte den Wert 2, dann können Sie nach der Anweisung var feld = eval("document.spielfeld.feld" + zeile + spalte); über die Variable feld auf das Formularfeld feld12 im Formular spielfeld zugreifen. Dann ist feld.value der in diesem Feld eingetragene Wert.

Dieser Hinweis sagt doch schon alles.


Beispiel:

zeile=2; spalte=3;

was ergibt jetzt:
eval("document.spielfeld.feld" + zeile + spalte);

--> document.spielfeld.feld23

Wie lesen wir das ganze Spielfeld aus?

for(var i = 1; i < 4; i++){
for(var j = 1; j < 4; j++){
var feld = eval("document.spielfeld.feld" + i + j);
// feld enthält jetzt den jeweiligen Wert
spielarray[j] = feld; // z.b. alle Felder in ein Array speichern
}
}

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#101416]
(Dieser Beitrag wurde von oesi50 am 6. Aug 2004, 11:45 geändert)

TicTacToe / hilfehilfehilfe

oesi50
  
Beiträge gesamt: 2315

6. Aug 2004, 11:58
Beitrag # 5 von 6
Beitrag ID: #101454
Bewertung:
(1192 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
zum Eintragen brauchst Du diese Funktion:

function spielzugEintragen(zeile,spalte) {
eval('document.spielfeld.feld' + zeile + spalte+'.value = kreuz');
}

Das Formular dazu sieht so aus:

<form name="textfelder">
ZEILE:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" size ="4" name="ZEILE" value><br><br>
SPALTE:&nbsp;&nbsp;<input type="text" size ="4" name="SPALTE" value>
<input type="button" name="eintrag" value="EINTRAGEN" onClick="spielzugEintragen(this.form.ZEILE.value,this.form.SPALTE.value);">
</form>

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#101416]
(Dieser Beitrag wurde von oesi50 am 6. Aug 2004, 11:59 geändert)

TicTacToe / hilfehilfehilfe

Anonym
Beiträge gesamt: 22827

13. Sep 2004, 07:13
Beitrag # 6 von 6
Beitrag ID: #108286
Bewertung:
(1192 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
also da ich hier so rumgenervt hab und andere auch was von haben sollen, hier die lösung wie ich's mir vorgestellt habe:

<html>
<head>

<title>lektion 5 * TicTacToe</title>

<style type="text/css">
<!--
a:link { color: #000000; text-decoration: none }
a:visited { color: #000000; text-decoration: none }
a:active { color: #000000; text-decoration: none }
a:hover { color: #ffffff; text-decoration: none }
//-->
</style>





<script language="JavaScript" type="text/javascript">

var spieler = "X";

//spielfeldarray
feld = new Array();
feld[1] = new Array();
feld[2] = new Array();
feld[3] = new Array();

// var spielfeld
var a = 3;
var b = 3;



function schreibtspielfeld() {
document.write("<table cellpadding='6'>");
for(i=0; i<=b; i++) {
document.write("<tr>");
if(i>0)
document.write("<td>Zeile&nbsp;"+ i +"</td>");
else
document.write("<td>&nbsp;</td>");
for(j=1; j<=a; j++) {
if(i==0)
document.write("<td align='center'>Sp."+ j +"</td>");
else
document.write("<td><input name='feld"+j+i+"' type='text' value='' size ='2'></td>");
}
document.write("</tr>");
}
document.write("</table>");
}




function eintragen() { //liest den spielzug aus und testet ob feld schon besetzt
spalte = document.spielzug.spalte.value;
zeile = document.spielzug.zeile.value;
if(spalte > 0 && spalte <= a && zeile > 0 && zeile <= b) {
if(feld[spalte][zeile] == "X" || feld[spalte][zeile] == "O")
alert("Tr\xE4um sch\xF6n weiter!");
else {
feld[spalte][zeile] = spieler;
}
if(spieler == "X") spieler = "O"; //spielerwechsel
else spieler = "X";
auslesen();
} else
alert("ung\xFCltige Eingabe!");
}






function auslesen() { //liest das array aus und schreibt ins spielfeld
for(zeile=1; zeile<=b; zeile++) {
for(spalte=1; spalte<=a; spalte++) {
auswahl = eval("document.spielfeld.feld" + spalte + zeile);
auswahl.value = feld[spalte][zeile];
}
}
}






function neuesspiel() {
document.spielzug.reset();
document.spielfeld.reset();
for(zeile=1; zeile<=b; zeile++) {
for(spalte=1; spalte<=a; spalte++) {
feld[spalte][zeile] = "";
}
}
spieler = "X";
}





</script>
</head>

<body onload="javascript: neuesspiel();" bgcolor="#3366FF">
<table align="center" border ="0">
<tr><td>
<br><br><br>




<form name="spielzug">
<table>
<tr>
<td align="right">Zeile:&nbsp;&nbsp;<input name="zeile" value="" type="Text" size ="2"></td></tr>
<tr>
<td align="right">Spalte:&nbsp;&nbsp;<input name="spalte" value="" type="Text" size ="2"></td></tr>
<tr>
<td><input name="eintrag" value="EINTRAGEN" type="Button" onclick="eintragen();"></td></tr>
</table>
</form>
<br><br><br>


<form name="spielfeld">
<script language="JavaScript" type="text/javascript">
schreibtspielfeld();
</script>
</form>

<br><br><br>
<a href="javascript:neuesspiel()">ZUR&Uuml;CKSETZEN</a>



</td></tr></table>
</body>
</html>


danke &
gruss nika


als Antwort auf: [#101416]
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
18.06.2024

Online
Dienstag, 18. Juni 2024, 10.00 - 10.30 Uhr

Webinar

In diesen beiden kostenlose Webinaren erfahren Sie, wie Sie mit Hilfe von Enfocus Griffin und dem Impressed Workflow Server Ihren LFP-Workflows optimieren können. 18.06.2024: So optimieren Sie Ihre Prozesse mit Enfocus Griffin 02.07.2024: So sparen Sie Zeit und Geld mit Impressed Workflow Server in der LFP-Edition Griffin: Griffin ist das leistungsstarke Kraftpaket für das automatische Nesting im Großformatdruck. Dank eines ausgeklügelten, KI-basierten Nesting-Algorithmus können Sie mit Griffin Vorlagen schnell und effizient vernutzen – und das klappt auch mit unregelmäßigen Formen perfekt. Das spart Ihnen unzählige Stunden, die Sie bisher mit dem manuellen Nesting und Ausschießen verbracht haben. Einige wichtige Funktionen ≡ Anlage von Beschnittzugaben ≡ Automatische Erzeugung der Schnittkontur ≡ Erstellung von Strichcodes, Textmarkierungen und Registrierungen IWS LFP Edition: Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Mit dem IWS LFP Edition automatisieren Sie Ihre Produktion von der Übernahme der Daten aus dem ERP-System bis zur Erzeugung der verschachtelten Druckform und der Übergabe an den RIP. Phoenix Core ist eine hochentwickelte KI-Technologie für die Planung und das Nesting von Druckerzeugnissen. Anders als herkömmliche Ausschießlösungen arbeitet Phoenix nicht auf Basis von Vorlagen, sondern erzeugt entsprechend der Maschinen- und Produktionsanforderungen druckfertige Layouts „on-the-fly“.

kostenlos

Ja

Organisator: Impressed GmbH

https://www.impressed.de/schulung.php?c=sDetail&sid=328

So optimieren Sie Ihren LFP-Workflow
Veranstaltungen
02.07.2024

Online
Dienstag, 02. Juli 2024, 10.00 - 10.30 Uhr

Webinar

In diesen beiden kostenlose Webinaren erfahren Sie, wie Sie mit Hilfe von Enfocus Griffin und dem Impressed Workflow Server Ihren LFP-Workflows optimieren können. 18.06.2024: So optimieren Sie Ihre Prozesse mit Enfocus Griffin 02.07.2024: So sparen Sie Zeit und Geld mit Impressed Workflow Server in der LFP-Edition Griffin: Griffin ist das leistungsstarke Kraftpaket für das automatische Nesting im Großformatdruck. Dank eines ausgeklügelten, KI-basierten Nesting-Algorithmus können Sie mit Griffin Vorlagen schnell und effizient vernutzen – und das klappt auch mit unregelmäßigen Formen perfekt. Das spart Ihnen unzählige Stunden, die Sie bisher mit dem manuellen Nesting und Ausschießen verbracht haben. Einige wichtige Funktionen ≡ Anlage von Beschnittzugaben ≡ Automatische Erzeugung der Schnittkontur ≡ Erstellung von Strichcodes, Textmarkierungen und Registrierungen IWS LFP Edition: Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Mit dem IWS LFP Edition automatisieren Sie Ihre Produktion von der Übernahme der Daten aus dem ERP-System bis zur Erzeugung der verschachtelten Druckform und der Übergabe an den RIP. Phoenix Core ist eine hochentwickelte KI-Technologie für die Planung und das Nesting von Druckerzeugnissen. Anders als herkömmliche Ausschießlösungen arbeitet Phoenix nicht auf Basis von Vorlagen, sondern erzeugt entsprechend der Maschinen- und Produktionsanforderungen druckfertige Layouts „on-the-fly“.

kostenlos

Ja

Organisator: Impressed GmbH

Kontaktinformation: E-Mailschulungen AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=328

So optimieren Sie Ihren LFP-Workflow