Moin,
ich code derzeit ein kleines Memory-Spiel in VB.NET, das durch Nutzer erweitert werden kann. Der Nutzer kann seine eigenen Kartenstapel laden;
Es werden u.a. die Karten Karte_01.jpg bis Karte_17.jpg aus einem Ordner geladen. Zunächst sind die insgesamt 34 Karten (Paare) natürlich "verdeckt", das heißt, die auf dem Bildschirm verteilten PictureBoxes (ja, wahrscheinlich als Control eine richtig schlechte Variante, kenne mich mit diesem GDI+ aber nicht aus, passt also vorläufig) haben als Image eine verdeckte Karte.
Das Interface (GUI) und Grafiken sind schon vorhanden, natürlich nicht fertig.
Erste Hürde (Stapel bilden):
Die 17 Karten.jpgs sollen per Random den insgesamt 34 Karten (PictureBox) zugewiesen werden, dabei muss natürlich beachtet werden, dass jedes einzelne Karten.jpg zweimal zugewiesen werden muss (= 34 Karten) und nicht doppelt und die fertigen Paare vom Programm schließlich ermittelt werden. Tja ...
Zweite Hürde (Spielzüge ermitteln):
Der Spieler kann maximal zwei Karten aufdecken, bei jedem Klick auf eine PictureBox wird z.B. der Public Integer Spielzuege um 1 erhöht. Erreicht dieser den Wert 2, wird ein weiterer Public Integer Versuche (für die Statistik) um 1 erhöht, die Karten wieder zugedeckt und Spielzuege zurückgesetzt. Ließe sich dies mit einem Timer realisieren oder bräuchte man dafür 'ne eigene Function, von welchen ich auch keinen Plan habe? If-Abfrage bei jedem einzelnen Klick (MouseClick) aufs Spielfeld (Form1)?
Dritte Hürde (Ermitteln, ob Paar richtig ist und Spielende):
Wurden zwei Karten aufgedeckt, muss ermittelt werden, ob ein passendes Paar, aus Schritt 1. ermittelt, gefunden wurde. Wenn ja, werden die Karten vom Spielfeld genommen und dem Integer Punktestand 1 hinzugefügt. Hat dieser den Wert 17 erreicht, ist das Spiel zu Ende und es kann aus den Versuchen ermittelt werden ob "gut" gespielt wurde. Der Spieler könnte sich aber auch einen eigenen Schwierigkeitsgrad setzen, z.B., dass er maximal 20 Versuche hat. Das dürfte nicht allzu schwierig sein, Voraussetzung ist jedoch die Realisierung von Schritt 1 und 2.
Vierte Hürde (K.I):
Das lass' ich erstmal bleiben, es soll aber auch gegen den Computer gespielt werden können. Der deckt, eigentlich genau wie der menschliche Spieler, Karten zufällig auf und merkt sich, je nach Schwierigkeitsgrad, eine gewisse Anzahl an Karten die schon einmal aufgedeckt wurden. Bei zwei gleichen, die schon einmal aufgedeckt wurden, steigt die Wahrscheinlichkeit mit zunehmenden Schwierigkeitsgrad, dass der Computer diese nimmt.
Also, ich bräuchte vor allen Dingen bei Schritt 1 (und Schritt 2) ein paar Tipps, bin völliger Anfänger, was das anbelangt.
Das derzeitige "Spiel" *LINK ENTFERNT*. Wollt ihr auch den Quellcode haben?
Gruß
Edit by der_Kurt:
Keine EXE-Files außerhalb des Showrooms
ich code derzeit ein kleines Memory-Spiel in VB.NET, das durch Nutzer erweitert werden kann. Der Nutzer kann seine eigenen Kartenstapel laden;
Es werden u.a. die Karten Karte_01.jpg bis Karte_17.jpg aus einem Ordner geladen. Zunächst sind die insgesamt 34 Karten (Paare) natürlich "verdeckt", das heißt, die auf dem Bildschirm verteilten PictureBoxes (ja, wahrscheinlich als Control eine richtig schlechte Variante, kenne mich mit diesem GDI+ aber nicht aus, passt also vorläufig) haben als Image eine verdeckte Karte.
Das Interface (GUI) und Grafiken sind schon vorhanden, natürlich nicht fertig.
Erste Hürde (Stapel bilden):
Die 17 Karten.jpgs sollen per Random den insgesamt 34 Karten (PictureBox) zugewiesen werden, dabei muss natürlich beachtet werden, dass jedes einzelne Karten.jpg zweimal zugewiesen werden muss (= 34 Karten) und nicht doppelt und die fertigen Paare vom Programm schließlich ermittelt werden. Tja ...
Zweite Hürde (Spielzüge ermitteln):
Der Spieler kann maximal zwei Karten aufdecken, bei jedem Klick auf eine PictureBox wird z.B. der Public Integer Spielzuege um 1 erhöht. Erreicht dieser den Wert 2, wird ein weiterer Public Integer Versuche (für die Statistik) um 1 erhöht, die Karten wieder zugedeckt und Spielzuege zurückgesetzt. Ließe sich dies mit einem Timer realisieren oder bräuchte man dafür 'ne eigene Function, von welchen ich auch keinen Plan habe? If-Abfrage bei jedem einzelnen Klick (MouseClick) aufs Spielfeld (Form1)?
Dritte Hürde (Ermitteln, ob Paar richtig ist und Spielende):
Wurden zwei Karten aufgedeckt, muss ermittelt werden, ob ein passendes Paar, aus Schritt 1. ermittelt, gefunden wurde. Wenn ja, werden die Karten vom Spielfeld genommen und dem Integer Punktestand 1 hinzugefügt. Hat dieser den Wert 17 erreicht, ist das Spiel zu Ende und es kann aus den Versuchen ermittelt werden ob "gut" gespielt wurde. Der Spieler könnte sich aber auch einen eigenen Schwierigkeitsgrad setzen, z.B., dass er maximal 20 Versuche hat. Das dürfte nicht allzu schwierig sein, Voraussetzung ist jedoch die Realisierung von Schritt 1 und 2.
Vierte Hürde (K.I):
Das lass' ich erstmal bleiben, es soll aber auch gegen den Computer gespielt werden können. Der deckt, eigentlich genau wie der menschliche Spieler, Karten zufällig auf und merkt sich, je nach Schwierigkeitsgrad, eine gewisse Anzahl an Karten die schon einmal aufgedeckt wurden. Bei zwei gleichen, die schon einmal aufgedeckt wurden, steigt die Wahrscheinlichkeit mit zunehmenden Schwierigkeitsgrad, dass der Computer diese nimmt.
Also, ich bräuchte vor allen Dingen bei Schritt 1 (und Schritt 2) ein paar Tipps, bin völliger Anfänger, was das anbelangt.
Das derzeitige "Spiel" *LINK ENTFERNT*. Wollt ihr auch den Quellcode haben?
Gruß
Edit by der_Kurt:
Keine EXE-Files außerhalb des Showrooms
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „der_Kurt“ ()