Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kartenspiel



MK-Kintaro
10.01.2007, 14:34
Hi, das ist mein erster Beitrag hier in dem Forum und möchte mich erstmal vorstellen:

MK-Kintaro

Hallo :hehe:

Aber ich schreibe hier, weil ich ein Problem habe und zwar:
In der Schule spielen wir immer "Mau Mau" mit englishen Poker-Karten. Und da haben wir eigene Regeln aufgestellt. Und die möchte ich nun als RPG-Spiel machen, dass wir immer auch daheim "Mau Mau" zocken können. Nur werde ich da wahrscheinlich einige Probleme bekommen. Aber hier mal unsere Regeln:

Mau Mau Regeln aus unserer School...:

Anfangskarten bekommt jeder 7 Stück! Sollten nicht gezeigt werden! Danach wird erst Karte für den Ablegestapel aufgedeckt!

2er: Wenn eine zwei gespielt wird, muss der nächste 2 Karten ziehen. Dies kann man aber mit einem weiteren zweier blockieren.

J (Junge...): Den Jungen darf man umgedreht spielen. Wenn einer aus der Runde sagt, es ist kein Junge, dann darf er die Karte umdrehen und nachsehen. Falls es einer war, zieht derjenige 2 Strafkarten. Falls es wirklich keiner war, nimmt derjenige, der den Jungen gespielt hat wieder zurück, beendet seine Runde und zieht ebenfalls 2 Karten. Außerdem ist der Junge eine Farbauswahlkarte (In unserem Fall Zeichen: Blatt, Herz, Karo, Kreuz), die dennoch aktiv bleibt, auch wenn man sie umgedreht gespielt hat. Sie wird nicht umgedreht, wenn eine weitere Karte gespielt wird! (Dann weiß man nie, wie viele Jungen wirklich gespielt worden sind...). Man kann theoretisch ein bisschen mogeln.

Q (Dame): Die Dame ist schlicht und ergreifend eine Richtungswechselkarte bei uns!

K: (König): Mit dem König kann man einmal einen "2er" streichen, das heißt, dass man 2 Karten weniger zieht. Falls der König jedoch in der gleichen Farbe bzw. Zeichen ist wie der zuvor gelegte "2er", dann muss der Vorgänger die beiden (vier, sechs oder acht) Karten ziehen. Danach wird der Dameneffekt aktiviert, da man den "2er" ja wieder zurückgelenkt hat. Den Rückgang kann man jedoch wieder mit einem "2er" jedoch NICHT mit einem weiteren "König" blockieren, zumindest nicht auf den, auf den der "2er" zurückgeschlagen hat. Der dritte, falls es soweit kommen sollte, darf wieder einen "König" spielen.

Sonderheit 4 Karten der gleichen Höhe: Wenn man bei uns vier Karten der gleichen Höhe hat (z.B.: 4 7er [7Kreuz, 7Herz, 7Blatt, 7Karo]) hat, darf man sie alle auf einmal hineinlegen. Jedoch muss die Karte mit dem Zeichen, das auf die vorher abgelegte Karte passt, übereinstimmen. Beispiel: 5Karo liegt auf dem Stapel, ich besitze alle 7er. Ich darf alle spielen, jedoch muss der 7Karo ganz unten hin, damit die Reihenfolge stimmt.

Sonderheit bei 4 "2er"n: Wenn jemand vier zweier hat, dann darf er die selbstverständlich wieder alle legen, muss sich aber an die bereits oben genannte "4 Karten der gleichen Höhe"-Regel halten. Der nächste Spieler muss 10 Karten ziehen, nicht nur 8. (Irgendwas muss ja vorteilig sein, wenn man so viele "2er" hat...)

Sonderheit bei 4 "J (Jungen)": Bei 4 Jungen darf man keinen mehr verdeckt spielen, falls man alle auf einmal legt. Wenn man 4 Jungen hat, darf man sich nicht nur die Farbe bzw. Zeichen wünschen, sondern auch noch die passende Zahl dazu! Das heißt, dass die Runde sowieso komplett aussetzt und jeder eine Karte ziehen muss, da er in den meisten Fällen die gewünschte Karte eh nicht besitzt. In deinem eigenen Zug kannst du dann die Karte wieder spielen!

Sonderheit bei 4 "D (Damen)": Bei vier Damen gilt wieder die "4 Karten gleicher Höhe"-Regel! Dafür darf man sich dann eine Richtung auswählen...

Sonderheit bei 4 "K (Königen)": Mit 4 Königen kann man die 4 "2er" Partie überbrücken. Dann muss eben der Vorgänger wieder 10 ziehen. Aber nur, falls wirklich alle "2er" gespielt wurden und alle "Könige" darauf zur Verteidigung gespielt wurden!

Sonderheit 4 "2er" zu 4 "K (Königen)": Bei allen 4 "2ern" ist ja bekannt, dass man eine Reihenfolge braucht. Per Zufall kommt dann meistens eine Farbe bzw. Zeichen nach oben. Falls der nächste den passenden König, also mit der gleichen Farbe bzw. Zeichen oben drauf legt, muss der Vorgänger nur 8 Karten ziehen, da die 10 Karten ziehen nur aktiv werden, wenn die 4 "2er" gespielt werden. Danach ist das Königssache...

Sonderheit Einwerfen: Wie man weiß, gibt es zwei rote und zwei schwarze Kartenzeichen. Wenn ein Spieler jetzt spielt, und eine "Farbe" mit einer bestimmten Zahl spielt, und jemand anders die gleiche Farbe mit der gleichen Zahl auch noch hat, dann darf er sie einwerfen! Beispiel:
Gespielt: Blatt 9 (schwarze Karte...), Vorgänger hat Kreuz 9 (auch schwarze Karte...), Einwurf.
Die Karte bleibt auf dem Stapel. Nach dem Einwurf geht es bei dem weiter, der die Karte eingeworfen hat, sprich der nächste Spieler vom Einwerfer!

Zur Erinnerung: Wenn der Dameneffekt (Richtungswechsel in unserem Fall) aktiv ist, zählt natürlich alles andersrum in der Spielrunde, also mit dem Einwerfen, dass nicht der nächste kommt, sondern der vorherige...etc. Aber das dürfte ja klar sein!

Falls beim Aufdecken der Startkarte eine besondere Karte gelegt ist, ist sie natürlich aktiv. Beispiel: Alle erhielten ihre Karten, Ablegestapel kommt ein "2er", Anfangsspieler muss 2 ziehen, ausser er blockt mit dem König oder einem anderen "2er". Aber bitte beachten: Falls am Anfang z.B.: ein 2Karo kommen sollte und man dies mit KönigKaro blockt, muss der Vorgänger NICHT ziehen. Dann geht das Spiel normal weiter, da der Vorgänger den "2er" ja nicht gespielt hatte...

So, ich hoffe nun,dass mir jemand bei meinem Computerspiel helfen kann... Das wird verdammt schwer, ich hab mir nämlich auch schon einen Plan aufgestellt! Ohh, Bitte! http://www.multimediaxis.de/images/smilies/old/sm_12.gif http://www.multimediaxis.de/images/smilies/old/sm_12.gif http://www.multimediaxis.de/images/smilies/old/sm_12.gif

Cloud der Ex-Soldat
10.01.2007, 18:37
An deiner Stelle würde ich mich noch nicht an sowas rantrauen,
warte lieber noch eine Zeit ab...ist wirklich besser.
Mach erstmal normale Spiele damit du mit dem RPGMaker Ehrfahrung
sammelst. Ist ohnehin schwierig umzusetzen, und für einen Newbie
äußerst schwierig...

Metro
10.01.2007, 18:45
Willkommen im Forum, mach lieber was kleineres :rolleyes: und taste dich dann an den Maker ran...

Byder
11.01.2007, 05:21
Nur weil er neu im forum ist,heist das nicht,dass er ein Noob ist:rolleyes:

Phantom of Kami
11.01.2007, 08:45
Na dann schildere doch mal wo das Problem liegt das zu lösen wir dir helfen sollen: Was hast du schon gemacht und wo hapert die Umsetzung?

1. Karten verteilen?
2. Darstellung?
3. Gameplay?
4. KI?

Wenn du ne präzise Frage stellst fällt es uns leichter zu antworten (denn das gesamte Kartenspiel schreibt dir hier vermutlich keiner für lau) und außerdem hilft dir eine strukturierte Herangehensweise bereits enorm bei der Umsetzung....

Bauzi
11.01.2007, 09:09
Ja also da kann man noch nicht wirklich helfen. Am besten geht man bei Problemen so vor:

Was brauch ich eigentlich?
-Jeder Spieler hat 7 Karten, d.h. ich brauche min.7 Variablen pro Spieler damit ich denen die Kartenwerte (König, Bube, 7...) zuweisen kann.
-Etwas, dass abfragt welche Wert meine Karte besitzt und diese dann korrekt am Bildschirm anzeigt. Nebenbei muss sie auch bemerken, dass eine Karte weg ist (ich denke mal da ist es am besten so: Die Variable nimmt dann die 0 an wenn sie aus der Hand ist).
-Grenzen festlegen: Wieviele Spieler? Wieviele maximale Karten auf der Hand?
-KI festlegen. Wie und wann will der Computer ausspielen und vor allem "Mau Mau" sagen. Wann versucht er den umgedrehten Jungen zu Spielen? Welche andere KI will diese Karte dann umdrehen? usw.

Im Prinzip sind Techniksachen immer genaues planen und dannruntertippen und stellenweise abtesten um Fehler zu finden.


Nur weil er neu im forum ist,heist das nicht,dass er ein Noob ist
Dito

Phantom of Kami
11.01.2007, 10:06
Du könntest auch 52 Variablen machen (für jede Karte eine).
Der Wert einer dieser Variablen gibt dann den Spieler (1 bis Spieleranzahl) an, der die jeweilige Karte besitzt.
0 würde sich für eine bereits gelegte (oder -vor dem Spiel- noch nicht verteilte) Karte anbieten
und dann könnte man noch einen Wert dafür einführen den eine Karte erhält wenn sie gerade oben liegt (Spieler-Anzahl+1) was aber vielleicht simpler durch eine separate Variable geklärt wird.

Alternativ könntest du auch kennzeichnen an welcher Stelle die Karte gelegt wurde (indem du einfach nach jeder gelegten Karte von [Spieleranzahl+1] bis [Spieleranzahl+52] immer 1 nach oben zählst und das jeweilige Ergebnis der gelegten Karte zuordnest.... eine sehr saubere Methode die auch eine "Rückgängig-machen"-Funktion erlauben würde)

Aber fangen wir mal vorne an: Bei der Verteilung der Karten.
Mir fallen grade zwei Möglichkeiten ein wie man das umsetzen könnte (wobei Methode1 unsauber ist und vermutlich sehr lange braucht bis sie die Karten an den Mann gebracht hat aber das ändert nichts daran dass sie das erste war was mir eingefallen ist ^^):


Kartenverteilungs-Methode 1:

Die Kartenverteilung könntest du bewerkstelligen indem du eine Variable von 1 bis Spieleranzahl hochzählen lässt (die dann immer wieder auf 1 gesetzt wird) und diesen Wert jeweils einer zufällig ermittelten Karte (var1-52) zuteilst SOFERN der ermittelte Wert nicht bereits einen Wert hat. Falls dies der Fall ist (var>0) wird eine andere Karte ausgewählt...
Das Spielchen wird solange betrieben bis alle Karten verteilt sind.

Könnte allerdings sein dass der Maker gegen Ende ziemlich lange rumrechnet bis er die letzten Karten verteilt hat (weil mit großer wahrscheinlichkeit ja karten ermittelt werden die schon verteilt wurden...).



Kartenverteilungs-Methode 2:

Besser wäre vermutlich folgendes:

Mach eine Variable die der noch unverteilten Kartenanzahl entspricht.
Dann ermittelst du einen Zufallswert zwischen 1 und dieser Variable und nun folgt ein Abzählmechanismus der die einzelnen Variablen durchgeht und der den Zufallswert immer -1 macht wenn er an einer noch unverteilten Karte (var=0) ist. Wenn der den Zufallswert 0 erreicht hat, wird diese Karte dem Spieler zugeteilt der gerade an der Reihe ist eine Karte zu erhalten (wie du ermittelst welcher Spieler eine Karte kriegt hab ich in Methode1 angesprochen).
Die Anzahl noch unverteilter Karten muss natürlich um 1 reduziert werden und dann kann das ganze für den nächsten Spieler durchgeführt werden bis die Anzahl noch zu verteilender Karten 0 ist.


Methode 2 sollte ohne große zufallsbedingte Verzögerungen auskommen weil sie immer die gesamte Reihe der Karten durchgeht und nicht darauf wartet dass der Zufall mal eine Karte erwischt die noch zu verteilen ist ;)

MK-Kintaro
11.01.2007, 11:08
Also ein Noob bin ich nicht mehr, ich kann schon ziemlich viel, aber eben noch nicht alles!

Meine Probleme liegen da eher bei den Computergegnern (Computer-Ki), wie ich diese selber denken lassen kann...
Und dann hab ich ein Problem mit den Handkarten, mit dem Ablegestapel und dem Ziehstapel. Da muss ich jede Karte nur einmal vorkommen lassen, aber jede devinieren, welche darauf spielbar möglich ist und welche nicht. Dazu muss ich ja noch sagen, welche Karten auf welcher Hand sind und welche im Kartenstapel bzw. Ablegestapel. Wie kann ich das dem Maker sagen, dass man z.B.: keine Karte doppelt zieht... Den Rest würde ich so ziemlich hinbekommen, ausser das mit den Runden, dass wenn ich fertig bin, dass dann der nächste oder gegebenenfalls der vorherige dran kommt!

Aber ich hoffe, dass mir jemand helfen kann!

Danke jetzt schonmal, dass man mir immerhin geantwortet hat! http://www.multimediaxis.de/images/smilies/old/sm_12.gif

PS: Ich möchte in diesem Spiel keine http://www.multimediaxis.de/images/smilies/old/s_009.gif (Regeln) auslassen! Und am besten wäre es, dass ich ihn mit dem Maker-XP mache! (Bessere Grafik, die wichtigsten Sachen sind ja beinhaltet: Schalter und Variablen)

Phantom of Kami
11.01.2007, 16:19
Ich glaube du musst die Karten lediglich etwas abstrakter sehen dann lösen sich deine Probleme wie von selbst: Es ist möglich 52 Variablen zu nehmen und jede dieser Variablen steht für eine ganz spezifische Karte....

Darstellen musst du sie natürlich anschaulich aber die Regeln an sich sind reine Mathematik...


PS: Ich möchte in diesem Spiel keine (Regeln) auslassen! Und am besten wäre es, dass ich ihn mit dem Maker-XP mache! (Bessere Grafik, die wichtigsten Sachen sind ja beinhaltet: Schalter und Variablen)
Die Spielregeln sind eigentlich kein größeres Problem die würde ich aber eher nach hinten auf der Planungsliste verschieben und einfügen wenn das Grundgerüst steht (Lediglich das Einwerfen würde ich von anfang an mit einplanen weil das nachträglich einzufügen zu tiefgreifende Änderungen im Gameplay mit sich bringen würde).


Meine Probleme liegen da eher bei den Computergegnern (Computer-Ki), wie ich diese selber denken lassen kann...

Das mit dem "Denken" ist auch halb so wild.
Setzt sich zusammen aus zwei Komponenten: Verhaltensregeln (weitestgehend bestimmt durch Wahrscheinlichkeitstheorie und deine Willkür) und Zufall.

Da es nur eine sehr begrenzte Anzahl an Karten gibt die man regelkonform legen kann könnte deine erste KI so aussehen: Lege zufällig eine der Karten die möglich sind.

(Technisch könntest du für jede Karte auf der hand abfragen ob man sie legen kann, falls ja Counter+=1. Wenn du jede karte gecheckt hast, setze Counter auf rand(1,Counter) und lege die resultierende Karte...).

Nach dieser Zufallsauswahl -und bevor die Karte wirklich gelegt wird- sollte die KI natürlich noch checken ob eine zwei, ein Bube oder sonstwas in der Mitte liegt, das gewisse Handlungen zwingend macht (z.B. ist es sehr sinnvoll eine zwei zu legen wenn schon eine liegt).
Hier kommen dann alls Regeln ins Spiel.

Sofern du irgendetwas in Wahrscheinlichkeiten mathematisch ausdrücken kannst solltest du dem Comutergegner dieses Wissen an die Hand geben (wenn jemand einen buben legt sinkt die wahrscheinlichkeit dass es auch wirklich ein Bube ist mit jedem Buben der schon gefallen ist... ganz extrem natürlich wenn schon 4 Buben da waren ^^)

Aber das fällt dann schon wieder in die regeln die umzusetzen du einfach bestimmen musst welche Karte unter welchen gegebenheiten gelegt werden dürfen/müssen.


Und dann hab ich ein Problem mit den Handkarten, mit dem Ablegestapel und dem Ziehstapel. Da muss ich jede Karte nur einmal vorkommen lassen, aber jede devinieren, welche darauf spielbar möglich ist und welche nicht. Dazu muss ich ja noch sagen, welche Karten auf welcher Hand sind und welche im Kartenstapel bzw. Ablegestapel.
Alle Karten sind in jeweils einer Variable komplett beschrieben. Je nachdem welchen Wert diese Variable hat bedeutet das dass die Karte auf dem Ziehstapel (=0) in der Hand eines Spielers (=1 bis Spieleranzahl) oder auf dem Ablegestapel (>Spieleranzahl) liegt.

Damit wäre doch alles in die Variablen gepackt was es über die Karten zu wissen gäbe.


Wie kann ich das dem Maker sagen, dass man z.B.: keine Karte doppelt zieht...
Wie man Karten verteilt habe ich doch schon erklärt.
Genauso funktioniert das im Prinzip wenn man eine Karte ziehen soll: Der Maker muss ermitteln wie viele Karten noch zu verteilen sind (indem er sie alle 52 durchgeht und checkt ob ihr Wert 0 ist) und dann eine von den verfügbaren zufällig auswählen die dann natürlich dem spieler gegeben wird (d.h. einen anderen Wert erhält) und damit nicht mehr verfügbar ist...



Den Rest würde ich so ziemlich hinbekommen, ausser das mit den Runden, dass wenn ich fertig bin, dass dann der nächste oder gegebenenfalls der vorherige dran kommt!
Welcher Spieler an der Reihe ist kannst du mit einer Variable bestimmen. Je nachdem in welche Richtung das Spiel momentan geht (was du über einen Switch klarstellen könntest) muss diese Variable halt nach jedem Zug +1 oder -1 gesetzt werden (wenn sie 1 unterschritten hat muss sie natürlich auf die maximale Spieleranzahl gesetzt werden und umgekehrt beim überschreiten der Spielerzahl auf 1)

MK-Kintaro
12.01.2007, 16:25
Ja, schon, das hab ich mir ja auch alles so gedacht, aber wie kann ich dem Kartenstapel sagen, dass diese Karte bereits weg ist? Ich meine, man zieht ja auch eine Karte vom Stapel, die ja dann weg ist und auf der Hand ist!

Zudem brauche ich ja auch noch, dass man nach dem ziehen noch legen kann, falls man kann! Ohh, das ist mir gerade eingefallen... :D

Und wenn der Ziehstapel einmal leer ist, dann ist es auch schwer, die Karten vom Ablegestapel wieder in den Ziehstapel zu hauen, bis auf eben die letzte. Und das sollten wirklich die sein, die... Nein! HALT! ICH HABS! ICH GLAUBE, ICH KANN ALLES!!!

Naja, fast... Das mit den Handkarten wird noch ein bisschen schwer... Obwohl, muss ich ja eigentlich auch nur so machen, wie den Ablegestapel und den Kartenziehstapel!

@Phantom of Kami:
Du scheinst dich ja mal besonders gut mit dem Maker auszukennen. Ich werde wahrscheinlich das Spiel bald mal beginnen. Und wenn ich dann mal nicht weiter komme, könnte ich es evtl. zu dir schicken, damit du mir weiterhilfst? Das wäre cool... Danke jetzt schonmal!


Ja also da kann man noch nicht wirklich helfen. Am besten geht man bei Problemen so vor:

Was brauch ich eigentlich?
-Jeder Spieler hat 7 Karten, d.h. ich brauche min.7 Variablen pro Spieler damit ich denen die Kartenwerte (König, Bube, 7...) zuweisen kann.
-Etwas, dass abfragt welche Wert meine Karte besitzt und diese dann korrekt am Bildschirm anzeigt. Nebenbei muss sie auch bemerken, dass eine Karte weg ist (ich denke mal da ist es am besten so: Die Variable nimmt dann die 0 an wenn sie aus der Hand ist).
-Grenzen festlegen: Wieviele Spieler? Wieviele maximale Karten auf der Hand?
-KI festlegen. Wie und wann will der Computer ausspielen und vor allem "Mau Mau" sagen. Wann versucht er den umgedrehten Jungen zu Spielen? Welche andere KI will diese Karte dann umdrehen? usw.

Im Prinzip sind Techniksachen immer genaues planen und dannruntertippen und stellenweise abtesten um Fehler zu finden.


Dito

Mit den 7 Variablen für jeden Spieler ist ein bisschen doof, da ein Spieler bei uns sogar manchmal bis zu mehr als 20 Karten auf der Hand hat...
Aber das mit dem Jungen umgedreht, dass ihn der Gegner so spielt...???
Und was sollte sich der Gegner dann eigentlich wünschen?

PainlessSorrow
12.01.2007, 17:45
Das mit dem Winken dürfte ziemlich leicht sein: Du schreibst eine Message "Ich wünsche mir..." message aus. Als nächstes stellst du eine Variable ein, die mit einem Random per Computer bestimmt, welche Art von Karte gegeben wird. Danach fragt eine Fork Condition die größe der neuen Variable ab, aber ein Else Case lassen!! (sehr wichtig! Ausser wenn es den Wert 4 abfragt!). Und pro größe der Variable nutzt du entweder Kreuz, Herz, Pik oder Karo! Fertig.

Im Maker

<>Message: Ich wünsche mir...
<>Change Variable:Var[xxxx: Karte - Art]=Random (1 to 4)
<>If Var(xxxx: Karte - Art) 1:
<>Message:...Pik!
<>
:Else Case
<>If Var(xxxx: Karte - Art) 2
<>Message:...Karo!
<>
:Else Case
<>If Var(xxxx: Karte - Art) 3:
<>Message:...Herz!
<>
:Else Case
<>If Var(xxxx: Karte - Art) 4:
<>Message: ...Kreuz!

Phantom of Kami
12.01.2007, 18:10
Ja, schon, das hab ich mir ja auch alles so gedacht, aber wie kann ich dem Kartenstapel sagen, dass diese Karte bereits weg ist? Ich meine, man zieht ja auch eine Karte vom Stapel, die ja dann weg ist und auf der Hand ist!

Eine Karte ist weg, d.h. in der Hand eines Spielers oder auf dem Ablagestapel, wenn der Wert ihrer Variable >0 ist.



Und wenn der Ziehstapel einmal leer ist, dann ist es auch schwer, die Karten vom Ablegestapel wieder in den Ziehstapel zu hauen, bis auf eben die letzte. Und das sollten wirklich die sein, die... Nein! HALT! ICH HABS! ICH GLAUBE, ICH KANN ALLES!!!

Einfach alle Variablen die größer als [Spieleranzahl+1] sind auf 0 setzen bis auf die größte (die ja die oberste ist und deshalb liegen bleiben muss...)


Naja, fast... Das mit den Handkarten wird noch ein bisschen schwer... Obwohl, muss ich ja eigentlich auch nur so machen, wie den Ablegestapel und den Kartenziehstapel!

Handkarten sind die Variablen die den Wert 1 bis Spielerzahl haben. Der Wert gibt den Spieler an dem sie gehören... wenn wir mal annehmen dass der menschliche Spieler der Spieler1 ist, dann müsstest du alle Variablen die den Wert 1 haben auf dem Bildschirm zeigen.
(das können bis zu [52-Spieleranzahl] sein also ordne sie Platzsparend an ;) )


Und was sollte sich der Gegner dann eigentlich wünschen?
Ich würde da keineswegs den reinen Zufall entscheiden lassen sondern die Farbe wünschen die man am häufigsten auf der Hand hat. (die übliche Methode, also: alle karten durchgehen und für jede Farbe einen entsprechenen score+=1... wenn du dann die vier werte vergleichst weißt du welche farbe am meisten auf der Hand ist und zwischen welchen -falls man mehrere Farben gleich oft hat- eine Zufallsvariable entscheiden muss)

Wann ein Gegner einen umgedrehten Buben sehen will würde ich abhängig vom Zufall machen wobei ich die Wahrscheinlichkeit ziemlich klein halten würde.
Außerdem sollte sie abhängig von der Spieleranzahl sein (denn je mehr spieler desto wahrscheinlicher dreht ein anderer die Karte um...)


Du scheinst dich ja mal besonders gut mit dem Maker auszukennen. Ich werde wahrscheinlich das Spiel bald mal beginnen. Und wenn ich dann mal nicht weiter komme, könnte ich es evtl. zu dir schicken, damit du mir weiterhilfst? Das wäre cool... Danke jetzt schonmal!
Hab auch noch nie ein Kartenspiel gemacht aber ich helfe wo ich kann ^^
(Bei Bedarf kannst du mcih via icq kontaktieren: 241740406

MK-Kintaro
17.01.2007, 14:19
Ohh, mann, das wird zu schwer. Alleine, bis ich die Karten mal gefunden hab! (Alleine will ich die nicht zeichnen, da sie sonst besch***** aussehen!) Ich glaube, das Projekt geb ich jetzt schon auf.

PS: Die anderen Karten muss man ja auch umgedreht legen können.

Da kommen jetzt einfach zu viele Faktoren auf einmal zusammen. Und da ich mir kaum bei etwas Zeit lasse (genauso mit dem Buch, muss immer nach ca. 20 Min. aufhören zu schreiben, bevor ich Müll schreibe), wird das Spiel sowieso nichts!
Oder mag mir nicht jemand helfen... :(

Phantom of Kami
18.01.2007, 11:22
Das Zauberwort heißt Platzhalter: Nimm einfach schlecht gezeichnete Karten die lediglich die jeweilige Zahl oder den Buchstaben enthalten.... um die Optik der Karten kann man sich hinterher immer noch kümmern.

Da würde ich dir dann auch helfen... (womit ich allerdings verständlicherweise erst warten will ob du überhaupt mit dem Spiel fertig wirst)

MK-Kintaro
18.01.2007, 13:06
Ich glaube, das mit dem Spiel wird nichts mehr, da ich ja bei jeder Karte eintippen muss, dass man sie verdeckt Spielen kann. Das mit dem Einwerfen... Die ganzen Sachen! Alles! Das ist mir zu viel! Kann ich noch nicht, vorallem nicht mit dem MakerXP, den ich eigentlich auch benutzen wollte, da er bessere Grafik hat!

Phantom of Kami
18.01.2007, 17:54
Das hat dir Cloud der Ex-Soldat schon im zweiten Post dieses Threats geraten:

An deiner Stelle würde ich mich noch nicht an sowas rantrauen,
warte lieber noch eine Zeit ab...ist wirklich besser.
Mach erstmal normale Spiele damit du mit dem RPGMaker Ehrfahrung
sammelst. Ist ohnehin schwierig umzusetzen, und für einen Newbie
äußerst schwierig...

Naja, falls du dich mal wieder an so ein Projekt ranwagen solltest wär ich froh davon zu hören ^^

Dhan
18.01.2007, 18:55
Zur Grafik: http://dhan.de/rpg/misc/karten.zip


Soa zur KI: Ich rate dir, dich mit deinen Kumpels zusammenzuhocken und zu spielen und dabei aufzuschreiben, wie eure Taktik aussieht. Wann blufft ihr, wann wünscht ihr euch Farben, die ihr so überhaupt nicht auf der Hand habt etc

Mit der Kartenverteilung, die elegente Lösung wären Zeiger, über die der Maker ja zum Glück verfügt.
Du brauchst für meine Vorgehensweise 52 Variablen. Jede Variable steht für eine Karte und ihr Inhalt ist ein Zeiger auf die nächste Karte des Stapels oder der jweiligen Hand, weiterhin brauchst du nochmal soviel Variablen, wie es Spieler gibt + 1 die dann auf die erste Karte der jeweiligen Hand bzw des Stapels zeigt.

So, was ist denn ein Zeiger? Ein Zeiger speichert die Nummer einer anderen Variable. So simpel ist das. Da du direkt nach Variable No. fragen kannst, d.h. nach der Variable mit der Nummer, die in der angegebenen Variable gespeichert ist, ist das auch kein Problem.

Für das Mischen des Stapels, joa, erste Methode, nimm 52 Variablen dazu, die du wie Switche behandelst, die besagen, ob die jeweilige Karte schon vergeben wurde, mach dann für jeden Spieler nen Durchlauf, der ihm 7 Karten zuweist:

(Anmerkung: Ich gehe davon aus, dass die Merkvariablen jene von 101 bis 152 sind, die Variablen für die einzelnen Karten die von 1 bis 52)


Variable Tail = 0
Variable Durchlauf = 1
Cycle
{
Variable R = Random(1,52)
Variable RR = R
Variable RR + 100
fork(Variable No RR = 0)
{
Variable No RR = 1
Variable No R = Tail
Tail = R
Durchlauf + 1
fork(Durchlauf = 8)
{
Break
}
}
}

(du musst anschließend in die Variable, die auf die erste Karte der Hand des jeweiligen Spielers zeigen soll, den Wert, der Tail jetzt hat, schreiben)

Wenn du nicht genau verstehst, was ich mit Zeiger meine, kann ichs dir nochmal ausführlich erklären. Auf jeden Fall isses so ne Methode, die man auch als Programmierer benutzen würde evtl

MK-Kintaro
22.01.2007, 12:32
Erstmal danke für die Karten... Ich weiß nicht, ob ich das Spiel schaffe... Dazu bin ich noch ein bisschen zu... Naja, zu schlecht! Da kommt so viel vor, oder ich habe einfach keine Lust, sooooo lange da dran zu hocken. Vorallem haben wir in der Schule gerade so viele Proben, mein letztes Schuljahr und außerdem noch bald Prüfung!

Mal sehen, ob ich das mal hinbekomme...