Javascript 4 Gewinnt Programmieren

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Die Überprüfung ist gar nicht so schwer.

Leider gehst du nicht darauf ein, was bis jetzt schon programmiert wurde, deshalb kann man nur hinweise geben. Es gibt hier auch mehrere Lösungsansätze. Ich erkläre einen relativ einfachen. Es geht aber definitiv auch anders und Performanter.

Bei diesem Ansatz überprüft man immer das komplette Spielfeld. Dazu verwendet man 4 verschiedene schleifen. Die machen folgendes:

1. horizontal prüfen ob 4 gleiche Steine hintereinander vorkommen. (Es hilft bei diesen Prüfungen zu wissen, welcher Spieler gerade dran ist. Man muss also nur auf dessen steine prüfen. Eine zählervariable wird erhöht wenn steine hintereinander gefunden wurden und auf 0 gesetzt wenn keine gefunden wurden. Ist sie 4, hat der Spieler gewonnen.)

2. vertikal prüfen

3. jetzt wird es komplizierter. Hier wird auf die Schrägen geprüft. Dabei muss man sich immer die Ausgangsposition am Rand in extra variablen merken. Dann geht man so durchs Raster, das man immer sowohl einen Schritt in X als auch in Y Richtung geht.

4. das selbe wie bei 3. nur hier geht man negativ in Richtung X.

Ein anderer Ansatz, der für Anfänger aber schwer zu verstehen sein dürfte ist: Immer wenn ein Spieler einen Stein platziert, kann die Vierer kette an dieser Position entstehen.

Auf was für einer Schule bist du denn bitte?!

JavaScript ist zwar keine Programmiersprache, um aber ein "Programm" in JavaScript zu schreiben, bedarf es an einiger Erfahrung in diesem Bereich. Ich glaube kaum, dass ihr soetwas in einem "normalen" Schulfach machen müsst. Bzw. nicht ohne eine Vorlage, bei der ihr etwas abändern müsst.

Wenn du nicht einmal weißt, wie du eine "Gewinnüberprüfung" umsetzen sollst, wie hast du dann bitte einen "denkenden" Gegenspieler entwickelt?!

Stelle doch bitte eine ernsthafe Frage...

sfxon  15.03.2015, 07:46

Javascript ist sehr wohl eine Programmiersprache. Es gibt davon sogar sowohl die bekanntere Client Sprache, als aber auch das weniger bekannte Server Side Javascript.

Außerdem handelt es sich hier um ein typisches Einsteigerprojekt. Deine Kritik halte ich für vollkommen unangebracht.

2
rmnstr  15.03.2015, 20:12

JavaScript ist eine Programmiersprache.

Keine Ahnung woher immer dieser Irrglaube kommt, es sei keine solche.

0
hummelxy  16.03.2015, 16:20
@rmnstr

Das ist deine subjektive Meinung. Wenn man JavaScript objektiv betrachtet, gibt es so gut wie keine Parallelen zu einer herkömmlichen Programmiersprache.

php ist angelehnt an C und unterscheidet sich in nicht vielen Dingen von einer anderen Programmiersprache wie Java. -> Programmiersprache

JavaScript hat einen seltsamen Syntax, die nicht wirklich an eine Programmiersprache erinnert, und außerdem gibt es keine Fehlermeldungen etc. -> Keine Programmiersprache

Keineswegs ist JavaScript eine Aufbausprache wie html, aber eine Programmiersprache ist es bestimmt nicht! Gibt doch sogar eine genaue Bezeichnung dafür: Scriptsprache.

Scriptsprache != Programmiersprache

0
rmnstr  16.03.2015, 16:33
@hummelxy

Deiner Logik zufolge sind also nur C-ähnliche Sprachen Programmiersprachen?

Python hat übrigens auch einen anderen Syntax und ist trotzdem eine Programmiersprache. Eine Programmiersprache von Syntax und Fehlermeldungen (die es übrigens sehr wohl in JavaScript gibt) abhängig zu machen ist ziemlich sinnlos.

Skriptsprachen sind eine Untergruppe der Programmiersprachen, danach kannst du gerne mal googeln. Und komm dann nicht mit den 2 Seiten im Internet, die das Gegenteil behaupten ;)

0
hummelxy  16.03.2015, 18:22

Jetzt hast du doch selbst gesagt, dass JavaScript (eine Scriptsprache) lediglich eine Untergruppe der Programmiersprachen ist, somit ist JavaScript auch keine vollwertige Programmiersprache ;-)

0
rmnstr  16.03.2015, 20:18
@hummelxy

Eine Untergruppe von etwas kommt einer IS-A-Beziehung gleich. Sollte ja als Programmierer bekannt sein. ;)

Zur Veranschaulichung:

Chinesisch ist eine asiatische Sprache, asiatische Sprachen sind eine Untergruppe von allen Sprachen.

Trotzdem ist Chinesisch eine Sprache. :)

0
hummelxy  16.03.2015, 21:34
@rmnstr

Ich glaube, diese Diskussion können wir ewig weiterführen ;-)

Zwei subjektive Meinungen, von denen keine bestätigt werden kann...

Dennoch, auch ein seltsames Beispiel einer IS-A-Beziehung! ;-)

0
rmnstr  17.03.2015, 12:16
@hummelxy

Natürlich ist jede Meinung subjektiv, auch "die Welt ist rund" war mal nur eine subjektive Meinung ;)

Allerdings hat JavaScript als turing-vollständige Sprache alle Voraussetzungen einer Programmiersprache.

Lies dir mal Meinungen von Experten durch: http://programmers.stackexchange.com/questions/46137/what-is-the-main-difference-between-scripting-languages-and-programming-language

TL;DR:

Der Unterschied zwischen "Scripten" und "Programmieren" ist eher die Verwendung der Sprache. Man kann in C++ oder Python genauso scripten wie man in JS programmieren kann. Früher wurde mit JS nur gescriptet, aber die Zeit ist lange vorbei.

Auch auf Wikipedia steht, dass JS eine Programmiersprache ist.

Sogar W3C stellt das fest und die empfehlen ja immerhin die Standards in der IT-Welt.

0