collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: (Tech) Zufall für Kartenspiel  (Gelesen 967 mal)

Offline Don Kamillo

  • Fürst Kürbis
  • RTP-Mapper
  • *
  • Beiträge: 32
  • Spam ist Kunst.
(Tech) Zufall für Kartenspiel
« am: November 21, 2009, 18:09:38 »
Hallo liebe Community,

Ich arbeite gerade an einer kleinen Kartenspiel Simulation (ohne KI). Und dort hänge ich gerade an einem Problem:

Der Spieler erhält am Anfang 3 Karten von Insgesamt 10 Karten. Erhält er jetzt die Karte A, so fällt diese auch aus dem Stapel, sprich sie kann in den darauf folgenden Zügen nicht mehr gezogen werden. Genau so ist das auch mit den anderen Karten.

Ich hab mir schon dazu ein paar Gedanken gemacht, jedoch funktioniert das nicht so richtig und es wurde schnell unübersichtlich (ein wirwar aus Switches un Variablen...)

Hat jemand eine Idee wie man sowas machen könnte, ohne gleich im Switch/Variablen-Wirwar zuenden?


mfg und thx
~DK
Smalltalk Front!

Re: Zufall für Kartenspiel

Offline Frost

  • Eventmeister
  • ***
  • Beiträge: 346
Re: Zufall für Kartenspiel
« Antwort #1 am: November 21, 2009, 18:18:02 »
Das kann nur in einem Switch und Variablen wirrwarr enden. :D
Oder du bentuzt ein Script, wobei dieser dann wohl auch für den Ersteller recht unübersichtlich werden würde. :)
Wobei ich meine Sachen (egal ob ich was programmiere (ich kann die script-sprache vom rpg-maker nich) oder etwas per Events mache) immer irgendwie recht umständlich mache... Irgendwie denk ich wohl zu kompliziert. ;D

Na ja, ich kann ja mal versuchen das Event zu erstellen. Aber ich benutz erstmal nur die Zahlen der Karten. Von Farben hab ich bei dir nichts mitbekommen. ;D
Dann kann ich dir ja mal sagen, wie du es machen kannst. Wenn ich es denn schaffe.
http://fernsehkritik.tv/ - Macht dem niveaulosen Fernsehen ein Ende!

Re: Zufall für Kartenspiel

Offline Rosa Canina

  • I can see... your death...
  • RPGVX-Forengott
  • *******
  • Beiträge: 2094
  • Mystic Eyes of Death Perception
Re: Zufall für Kartenspiel
« Antwort #2 am: November 21, 2009, 18:42:54 »
Frag mal Orange4, der hat genau so etwas gebaut.


Ohne WirrWarr von Variablen (so ein Schwachsinn ^^°) und erst recht ohne Script (so ein Blödsinn XD)
Abgesehen davon wären 10 Karten noch lange kein WirrWarr O.o


Im übrigen... was machst du denn hier, Don? O.o


« Letzte Änderung: November 21, 2009, 18:43:24 von Rosa Canina »

Re: Zufall für Kartenspiel

Offline Don Kamillo

  • Fürst Kürbis
  • RTP-Mapper
  • *
  • Beiträge: 32
  • Spam ist Kunst.
Re: Zufall für Kartenspiel
« Antwort #3 am: November 21, 2009, 18:47:11 »
Zitat
Abgesehen davon wären 10 Karten noch lange kein WirrWarr O.o

So wie ich es machen wollte schon xD

Zitat
Frag mal Orange4, der hat genau so etwas gebaut.

Hey stimmt, an Ornage hab ich garnich gedacht^^

Zitat
Im übrigen... was machst du denn hier, Don? O.o

Hmm...ich dachte ich schreib hier auch mal was^^
Smalltalk Front!

Re: Zufall für Kartenspiel

Offline Frost

  • Eventmeister
  • ***
  • Beiträge: 346
Re: Zufall für Kartenspiel
« Antwort #4 am: November 21, 2009, 19:06:39 »
@RC Na ja, kommt drauf an, was man unter Wirrwarr versteht. Ein Variablen-Wirrwarr wurde es nicht, wie ich zuerst vermutet hab. :)
Ein Bedingungs-Wirrwarr eigentlich auch nicht, aber es ist schon recht unübersichtlich. Ich hab aber mal alles kommentiert, hoffe das hilft ein bisschen. Und ich hoffe, es entspricht so in etwa deinen Vorstellungen.^^

Hier ist der Download: http://uploaded.to/file/owiwg3

Gruß
http://fernsehkritik.tv/ - Macht dem niveaulosen Fernsehen ein Ende!

Re: Zufall für Kartenspiel

Offline Rosa Canina

  • I can see... your death...
  • RPGVX-Forengott
  • *******
  • Beiträge: 2094
  • Mystic Eyes of Death Perception
Re: Zufall für Kartenspiel
« Antwort #5 am: November 21, 2009, 19:26:22 »
Du kannst Teile davon (z.B. die Bedingungen am Anfang) als Common Event auslagern, das schafft Übersicht.
Hmmm... Pointer kämen in dem Fall auch SEHR gelegen, nur müsstest du dann auf die Auflösung verzichten,
leider haben weder VX noch XP diese Funktion.
Damit könnte man die Abfragen in einem Loop und einer Fork durchgehen.


Im übrigen würde mich interessieren, ab wann es ein Wirrwarr ist XD
200 Variablen, die schön nacheinander kommen auch schon? O.o
Wirrwarr ist es eigentlich erst, wenn man seine Variablen und Switches schön kunterbunt nimmt, nicht richtig
beschriftet und sein Event aus Prinzip heraus nicht durch Comments aufteilt. ^^°

Re: Zufall für Kartenspiel

Offline Don Kamillo

  • Fürst Kürbis
  • RTP-Mapper
  • *
  • Beiträge: 32
  • Spam ist Kunst.
Re: Zufall für Kartenspiel
« Antwort #6 am: November 21, 2009, 19:38:19 »
@Frost

Hmm..Danke das ist so schon mal nicht schlecht, nur sind Karten keine Items, aber manches lässt sich vom Aufbau her übertragen.

Nja ich hab jetzt mal Orange4 gefragt, der kennt sich ja mit sowas aus, mal gucken wann er antwortet.


Smalltalk Front!

Re: Zufall für Kartenspiel

Offline Soraphis

  • RTP-Mapper
  • *
  • Beiträge: 37
Re: Zufall für Kartenspiel
« Antwort #7 am: November 22, 2009, 00:55:58 »
zuerstmal: ich hab mich da jetzt noch nicht drangesetzt es ist nur eine idee -> ich weis auch nicht inwieweit der rpg vx da mitmacht


der karten stapel erhält eine variable diese ersetzt dann 10 switchs denn sie sieht (zu beginn) so aus:
1111111111 -> der spieler erhält 3 zufällige karten (bsp: er erhält die karten 3, 7 ,5) dann sähe die stapelvariable so aus:
1111111111 - 10^2 - 10^4 - 10^6 = 1110101011
nachdem eine zufällige zahl (zum ziehen der karte) ausgewählt ist wird eben überprüft ob an der X-ten stelle eine 1 steht -> wenn ja wird diese karte gezogen wenn nein eben nicht-> nächste random number

am besten wäre dadurch eine string-variable ... keine integer

und genauso würde dann eben die variable aussehen die die karten zeigt, die man "auf der hand" hat...
diese würde natürlich mit 0000000000 starten

hoffentlich kann der gedankenzug weiterhelfen
» #Es gibt 10 Arten von Menschen. Diejenigen, die das Binärsystem verstehen und diejenigen, die es nicht tun# «

Re: Zufall für Kartenspiel

Offline Orange4

  • Mr. MACK-Tile
  • ***
  • Beiträge: 233
  • Card Captor
    • Rpg Maker Dreamland
Re: Zufall für Kartenspiel
« Antwort #8 am: November 22, 2009, 10:05:31 »
Damit hier auch der Zusammenhang klar ist, poste ich einfach meinen Beitrag vom Dreamland auch hier hinein xD

Also, ich kann dir erklären wie ich das gelöst habe...

-> Zunächst solltest du jeder möglichen Karte eine feste Nummer geben. z.B. Herz Dame = 1, Kreuz König = 2 u.s.w.
Diese Zuordnung solltest du dir irgendwo notieren, da du darauf immer wieder zurückgreifen könne musst (das ist ganz wichtig!!!). Außerdem sollte jede Karte 3 Variablen besitzen. Eine Variable die ihre Anzahl speichert und 2 Sicherungsvariablen. Beispiel:

"Herzdame" => Speichert den Wert, wie oft Herzdame sich noch im Deck befindet
"Herzdame Sicherung 1" => Speichert den Wert innerhalb des Kampfes. Ich verwende die Variable als eine Art Prüfziffer.
"Herzdame Sicherung 2" => Nur wichtig, wenn du die Karten im Kartendeck den Spieler selbst zusammenstellen lassen willst. Diese Variable wird im Spiel nicht geändert und setzt nach dem Kampf/Minigame or whatever die Varialbe "Herzdame" wieder auf ihren Wert zurück.

-> Lege die maximale Anzahl an Karten fest, die man auf der Hand haben kann. Bei dir sind es wenn ich das richtig kapiert habe 3. Du hättest also einen Platz A, Platz B und Platz C. Mache eine Variable für jeden dieser "Steckplätze" und einen Switch "Steckplatz A leer", "Steckplatz B leer" und "Steckplatz C leer".

-> Bei Beginn des Spiels setzt du die Switches "Steckplatz A leer", "Steckplatz B leer" und "Steckplatz C leer" auf ON und callst das Event "Karten ausgeben"

-> Karten ausgeben:
Wenn Steckplatz A leer = ON
Event Zufallkarte callen
Variable "Steckplatz A" = Variable "Zufallskarte"
Else Case
Wenn Steckplatz B leer = ON
Event Zufallkarte callen
Variable "Steckplatz B" = Variable "Zufallskarte"
Else Case
Wenn Steckplatz C leer = ON
Event Zufallkarte callen
Variable "Steckplatz C" = Variable "Zufallskarte"
Else Case

-> Zufallskarte
Variable Zufallskarte bekommt einen Zufallswert zwischen 1 und der Anzahl der unterschiedlichen Karten die es gibt.
Nachdem die Variable einen zufälligen Wert bekommen hast, machst du ForkConditions die Abfragen, ob du die Karte mit der ID überhaupt noch besitzt. Wenn ja: Die Variable mit der Karten ID (z.B. "Herzdame") -1.



Das wäre eigentlich der Teil deiner Frage. Du benutzt für sowas einfach ein doppeltes Variablensystem. Das bedeutet zusammengefasst: Eine Variable speichert im Kampf die Anzahl der Karten, die man von einer bestimmten Sorte im Deck hat. Diese Variable nimmt im Kampf ab und wenn sie 0 ist, wird keine Karte dieser Art mehr ausgeteilt.
Die zweite Variable nimmt nie im Kampf ab und setzt lediglich am Ende des Kampfes die erste Variable wieder auf ihren ursprünglichen Wert zurück, da ja sonst jede Karte beim Einsatz verloren gehen würde. Mit dieser zweiten Variable kannst du auch das frei zusammenstellbare Kartendeck machen. Aber das erklär ich dir später oder in icq ;)

Hoffe du kommst klar mit der Erklärung, wenn nicht helf ich gerne weiter ^^



Achja, ein Tipp weil du das in die VX/XP Technik gepostet hast: Ein komplexes Kartensystem (und bei deinem Zielprojekt wird es sehr komplex ^^) läuft unter Garantie nicht auf dem XP oder VX, ohne dass du auf Ruby Skripte zurückgreifst. Dafür laufen einfach viel zu viele parallele Prozesse ab, ich empfehle dir hierfür den 2k/2k3.
« Letzte Änderung: November 22, 2009, 10:08:26 von Orange4 »


~ Dividing sparrows from the nightingales ~

Re: Zufall für Kartenspiel

Offline Rosa Canina

  • I can see... your death...
  • RPGVX-Forengott
  • *******
  • Beiträge: 2094
  • Mystic Eyes of Death Perception
Re: Zufall für Kartenspiel
« Antwort #9 am: November 22, 2009, 11:10:51 »
Zitat
Achja, ein Tipp weil du das in die VX/XP Technik gepostet hast: Ein komplexes Kartensystem (und bei deinem Zielprojekt wird es sehr komplex ^^) läuft unter Garantie nicht auf dem XP oder VX, ohne dass du auf Ruby Skripte zurückgreifst. Dafür laufen einfach viel zu viele parallele Prozesse ab, ich empfehle dir hierfür den 2k/2k3.

Auch wenn ich der Meinung bin, dass der VX und XP für einige System leistungsmäßig einfach zu schwach sind... ich glaube, dass ein
Kartensystem mit überlegten Einsatz von CallEvents statt Paralell-Prozessen durchaus lauffähig sein könnte ^^


*RC verteidigt VX/XP... Kreuz in den Kalender macht :P*


Ansonsten eine gute Erklärung :D
« Letzte Änderung: November 22, 2009, 11:11:15 von Rosa Canina »

Re: Zufall für Kartenspiel

Offline Boogatie Roll

  • VX-Meister
  • ****
  • Beiträge: 676
  • Java[Spiele] Programmierer
    • BRolls Game Website
Re: Zufall für Kartenspiel
« Antwort #10 am: November 22, 2009, 18:49:08 »
Geht eigentlich ganz locker mit Variabeln und Switches.
Mit Zehn Karten ist das kein Problem.
In meinem Casino-Game (dass ich gerade mache) gibts ein Haufen
Kartenspiele mit mehr als 10 Karten. Also, ich spreche aus
Erfahrung: Man braucht sehr, sehr viele Bedingungen.
Ich zeige die Karten als Picture an.
Also von jeder Variable eine Bedingung mit der Nummer vom Picture,
weil man ja die Nummer eines Pictures, nicht mit einer Variable
festlegen kann. Im Schnitt hab ich so 1-5 Stunden pro Kartenspiel
gearbeitet. Mit den ganzen Automaten noch also schon viel Arbeit.
Da musste schon damit rechnen, das der Schiebebalken am Eventrand so klein
wie dieses "a" ist.
Wenn du also genauer was wissen willst kannst du mich ja per PM fragen.

 


 Bild des Monats

rooftop party

Views: 3585
By: papilion

 Umfrage

  • Wer soll das BdM gewinnen?
  • Dot Kandidat 1
  • 3 (25%)
  • Dot Kandidat 2
  • 1 (8%)
  • Dot Kandidat 3
  • 2 (16%)
  • Dot Kandidat 4
  • 0 (0%)
  • Dot Kandidat 5
  • 6 (50%)
  • Stimmen insgesamt: 12
  • View Topic

 Schnellsuche





SimplePortal 2.3.3 © 2008-2010, SimplePortal