Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 20 von 28

Thema: Schachspiel

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Schachspiel

    Also wollt mal wissen ob ihr ne Idee hättet wie man ein Schachspiel konstruieren könnte. Ich glaub es könnte so funtzen,
    Schachbrett ist ein panorama, so könnte man den Spieler, per change panorama, verschiede Bretter auswählen lassen, die Schachfiguren sind Heros, jeder hat eine bestimmte Zeit zum Warten, soinetwa 2min. Am gegner ist es per Enter Password.
    Nun das Problem, das ganze Skript, wie soll ichs Aufbauen, mit Forks ist es fast unmöglich, man müsste über 1000 integrieren?

  2. #2
    1,Die Figuren sollten Pics sein

    2,Möglich ist das nur eine sache ist fast unmöglich bzw. Super Super Schwer
    und zwar die Schach regeln einzuhalten

    Man müsste das Für jede Figur einzeln Lösen etz. aber Möglich ist es das Ganze kann man Per Keypatch mit Maus Lösen.

  3. #3
    Die Diskussion hatten wir schon mal.
    Es ist zwar möglich aber: vergiss es!
    Die Gegner KI bekommst du nie gescriptet!
    Wenn du ein 2-Player Game draus machen willst, dann ists zwar immernoch viel Arbeit aber... viel Spaß

  4. #4
    Also ich habe Mal Versucht nur ein Schach Brett zu malen
    und da ist schon das Erste Problem ein Schachbrett ist 8 x 8 felder

    Das heisst damit das einigermassen Gut aussiht muss die Map 20 x 16 Gross sein und dadurch ist immer das achte Feld nur Halb sichtbar naja zum glück gibt es den XP mal sehn was sich da Zaubern Läst

    EDIT: habe doch eine Möglichkeit gefunden für den RPGMk 2k

    EDIT2 :

    Ich glaube man kann Sowas sogar mit NPC bauen Ohne Grosse Probleme das Geheimniss liegt im Tera ID die idee kamm mir gerade man kann 16 terra IDs machen jeder steht für ein Feld etz. dann berechne ich per Logo [ne Pillig Programmier Sprache] (entlich aht das mal ein sinn ) welche Figur welche Felder überhaupt durchlaufen kann etz. der rest ist nur sehr viel Fork arbeit

    Geändert von dadie (06.01.2005 um 18:43 Uhr)

  5. #5
    Aaalso... für ein 2 Player Schachspiel:

    erstmal, wenn eine Figur ausgewählt wird, muss man prüfen, welche Felder begehbar sind.
    Dazu würde ich folgendes machen:
    Ein Script fragt, abhängig vom Figurentypen ab, ab wann die Felder blockiert werden (für Figuren ohne längere Reichweite, also Bauer, König und Springer ist das nicht nötig) und erstellt so Funktionen (es müssen 4 verfügbare Funktionen sein mit je 4 Variablen, also 16 Variablen, wie Funktionen funzen schreib ich später) und anschließend werden diese Funktionen eben ermittelt und zwar auf folgende Weise:
    Erstmal wird Switch A aktiviert und Variable Runde auf 1 gesetzt und die Position des zu prüfenden Feldes gespeichert

    die Erste Figur (mti Figur mein ich alle 32 Stück) hat nun folgendes Script auf einer ziemlich weit hinteren Seite:
    Parallel Process
    Switch A als Bedingung
    Wenn Variable Runde auf 1, dann wird geprüft, ob die Koordinaten der Figur mit den gespeicherten übereinstimmt, wenn ja, wird ausgegeben, welche Farbe die Figur hat (Switch, OFF = schwarz, ON = weiß), wenn nein, dann wird die Variable Runde um 1 erhöht
    anschließend natürlich das Anti-Ruckel Wait von 0,0s

    die nächste Figur hat dann als abgefragte Variable 2 und so weiter bis 32

    so kann man schonmal ausrechnen, wie eine Figur ziehen kann, natürlich braucht man einige Spezialscripte für Aktionen wie Charade, 2 Felder mit dem Bauern ziehen, mit dem Bauern schlagen und einen Bauern schlagen, der grade eben 2 Felder gezogen ist (weiß net genau, wie das heißt, ich bin kein guter Schachspieler)

    Soa, jetzt zu den Funktionen. Jede Funktion hat 4 Variablen welche 2 Paare von Koordinaten darstellen.
    Erstmal eine Situation (imaginär, jetzt mal nur für die Sache ohne Bezug auf das echte Spiel):

    Die eingefärbten Felder sind die Möglichkeiten der Königin. Jede Farbe symbolisiert eine der 4 Funktionen.
    Nun, um zu zeigen, was die Variablen speichern, die betreffenden Koordinaten:
    Funktion blau: x1=1 y1=4 x2=7 y2=4
    Funktion rot: x1=4 y1=4 x2=5 y2=5
    Funktion grün: x1=4 y1=3 x2=4 y2=7
    Funktion violett: x1=6 y1=2 x2=1 y2=7
    (man könnte grün und blau auch mit 3 Varis machen, aber öhm... was solls ^^)

    so, als nächstes das schlagen, hier wird wieder sowas gemacht wie bei der Feldüberprüfung, das Event, das auf dem Feld steht, das angegriffen wird, wird hierbei auf diesselbe Methode herausgefunden und darf nun selber den Switch ändern, der es verschwinden lässt.

    So, Im Prinzip wars das schon (ist aber viel Arbeit), nur eins fehlt noch: der König.
    Der König verlangt ganz eigene Routinen weil... er darf auf kein Feld, auf dem er geschlagen werden kann!
    Ich würde diese Regel fast abschaffen den ansonsten kommt etwas sehr ekliges:
    jedes Event muss nach der bekannten Routine durchlaufen nur diesmal mit einer Abfrage, ob es den König auf der neuen Position schlagen könnte!
    hat man das dann hinbekommen, kommt die schwerste aller Aufgaben, das Schach Matt.
    Hierbei reicht es nicht, zu prüfen, ob der König keinen Zug machen kann sondern ob es einen Zug gibt, der den König schützen kann und... das ist eine Sisyphosarbeit. Ich habs schon oben vorgeschlagen als es noch ging, hier schlage ich es endgültig vor: diese Regel abschaffen und einfach machen, dass man den König schlagen kann. Ich meine, klar, man kann schon aufhören, wenn es unausweichlich ist, bringt aber keinen um (ok den König), den einen Zug zu machen und den König zu stürzen (weiterhin bleibt die Möglichkeit offen, dass man den König am Leben lässt um dem anderen noch eine Chance zu geben für ein spannenderes Spiel)


    ok, das ist im Grunde das Wichtigste aber... es ist machbar aber extrem aufwendig, ich hätte dazu jedenfalls keinen Bock (sonst würde ich das hier auch net posten ^^), man braucht einen kühlen Kopf, dem klar ist, was er gerade macht damit man nicht die Übersicht in dem komplexen Gewirre verliert und stahlharte Nerven wenn man hinterher die Bugs jagt (bei sowas großem kommen die unausweichlich)
    hat man es aber geschafft... na, dann isses nemmer schwer die Schachmodifikationen wie Räuberschach zu machen ^^

    viel Glück, wer auch immer das versuchen will

  6. #6
    Schachbrett: Ich mach n Foto von meinem Brett tus als Panorama, also optimale größe, Map 20*15, was soll da net drufpassen? Mit dem Brett kann garnix falsch gehn.
    Aber wie jemand gesagt hat, die Regeln zu skripten ist schwer, z.b bei der Rochade, ist aber möglich, mit einer Terrain ID könnte man überprüfen ob die Figuren dazu alle auf dem richtigen platz sind, aber wie kappt es dass das skript checkt dass die Fig. sich noch nicht bewegt haben?
    Problem iss uch wie man einstellt dass das Pferd z.b. in einem L springt.
    Möglich so im com. event, Fork condition, und Pferd anklicken, was weis ich, wenn linke taste, Pferd Move event ,left, left, left, up, dann wieder Fork...

  7. #7
    Hi ,

    Also ich bin nun soweit habe ich Chip gebaut und jeden Feld ne ID gegeben wenn ihr den Selben gedanken gang mit den Feldern habt wie cich hier mein Rolling den diese etwa 40 Felder zu Beschrifft ist leicht Nervig ^^°

    http://gdoom.funpic.de/schach.zip

  8. #8
    Naja, ich kann mich meinen Vorpostern eigentlich nur anschließen.
    Ihr habt kaum eine Chance das fertigzubekommen.
    Zu der Rochade:
    Mach doch einfach beim König und Turm einen Switch, der aktiviert wird, sobald mit ihnen eine Bewegung durchgeführt wird. Versucht man eine Rochade und einer dieser Switches ist on, so kann man die Rochade nicht durchführen. (Das erspart dann auch die ganze Rechenarbeit, wohin man jetzt darf, da wenn sie sich noch nicht bewegt haben auch nichts anderes das Feld blokieren kann. Trotzdem sollte man beachten, das auch wenn ein Turm geschlagen wird der besagte Switch aktiviert wird, da es sonst leicht zu einem Bug kommen kann.)

    Theoretisch könnte man das ganze auch mit Switches aufbaun. Für jedes Feld einen Switch. Ist dieser an kann man das Feld nicht betreten, ist dieser off sehr wohl. Dazu dann noch für jedes Feld eine Varable die speichert welche Figur darauf steht (also mit Werten von 1-12 (für beide Seiten jeweils einzeln)) damit man auch angreifen kann.
    Ist nun eine Person drann, kann sie sich eine Figur auswählen. Bei dieser wird dann abgefragt, wo sie sich befindet und die "mögliche-Bewegung" Events werden positioniert. (Davon bräuchte man dann so viele dass sich die Königin überallhin bewegen könnte. (Sprich höhe+breite+diagonale+diagonale des Feldes -1 (-1 da die Königin ja selbst ein Feld besetzt))).
    Ist zwar ziemlich aufwendig aber theoretisch (aber wirklich THEORETISCH!!!) möglich.
    (Ich bin mir zwar irgendwie ziemlich sicher das ich da einen Fehler drin habe aber egal... )
    Hmm, irgendwie bin ich jetzt verwirrt.

    Aber wie gesagt. Macht euch keine zu große Hoffnung, das ihr das wirklich schafft. Wenn ich mich irren sollte und euer Schachspiel wirklich gelingt (und es auch halbwegs spielbar ist ^^° ) dann Respekt.

  9. #9
    @Clim: Ah das hab ich vergessen zu schreiben, ich würde es in folgende Phasen unterteilen:

    Figur selektieren
    Ziel der Figur auswählen
    Schlagen
    Rücken
    Königsüberprüfung falls vorhanden

    dabei wäre das, über das du dich fragst, das Ziel der Figur auswählen. Ich würde einfach machen, dass der Figurtyp gespeichert ist und eben die oben beschriebenen Funktionen. Bei allen Figurentypen außer Bauer, König und Springer werden die Funktionen benutzt, bei den dreien eine eigene Routine
    wenn man nun auf ein Feld klickt, schaut eine Routine nach ob das Feld in den Funktionen liegt bzw bei Bauer/König/Springer mit Spezialroutine

    fertig, dann zieht das oben beschriebene wieder

    @Phönix: vergiss nicht, dass die Felder nicht bedroht sein dürfen

  10. #10
    Jo also so wie es aussiht Krieg ich den Ersten Läufer heute gescriptet

    Was mir derzeitig fehlt ist Folgendes wie Speicher ich die X und Y Koordinaten von Events ???

  11. #11
    Jaja, so ist das.
    Ich kann euch / dir wirklich nur rate lass(t) es!
    Am Anfang denkt man das geht gut und dann. Aber ich denke das brauch ich dir nicht zu sagen

    Geh in "Change Variable" gib als Namen "soundso X" ein und stell unten unter "Event" das Event ein, von welchem du die Koords haben willst. Dahinter dann auf X Koordinate.
    Das gleiche dann noch für die Y Koordinate. Fertig.
    Zur Verdeutlichung nochmal:


    Hoffe das hat dir geholfen
    mfg
    Phönix Tear

  12. #12
    Der Läufer ist fast Feritg !!!

    Es ist fast unglaublich wie Komplex das ist für einen Läufer brauch ich 4 Tabs und etwa 6 Variablen und um die 10 Forks omfg

    Wenn der Läufer Klappt stell ich ihn on

  13. #13

    It´s Done

    It´s Done


    Der Läufer auf der Position 2A ist Fertig

    http://gdoom.funpic.de/schach0-0-1a.zip

    Neues Fesnter Öffnen Link Adresse einfügen !!!!!

    Ist ein Bischen Krüpelich in der Bewegung aber es war schwer genug es zu Script mein Kopf tuht weh

    Nun mit eine Gegen Figur

    Achtung die Können NOCH nicht Kloppen die Bezeichnung Liegt auf Noch

    hier die neueste Version mit dem Schwarzen

    http://gdoom.funpic.de/schach0-0-1b.zip

    Geändert von dadie (06.01.2005 um 21:15 Uhr)

  14. #14
    Hmm, mach ich da was falsch?
    Irgendwie weiß ich jetzt nicht so genau was das sein soll.
    Erstens bewegt sich ein Läufer immer diagonal und zweitesn funzt das nicht so ganz

  15. #15
    Zitat Zitat von Phönix Tear
    Hmm, mach ich da was falsch?
    Irgendwie weiß ich jetzt nicht so genau was das sein soll.
    Erstens bewegt sich ein Läufer immer diagonal und zweitesn funzt das nicht so ganz

    Also bei mir Funtz das 1a zumindest die Neueste Version 0.0.1b

    gleich wird das erste Blut fliessen

  16. #16
    schach ist machbar, jedenfalls das grundspiel und grundregeln.
    Wer das schafft kann sich zurück lehnen und ein breites Grinsen aufsetzen

    Wer es jedoch schafft Profi Züge (also vorrausdenkende KI) zu erstellen, ohne ein festes Script, der ist richtig gut...
    Nur dann frage ich mich was er am RPG-Maker verloren hat > Wieso nicht mit C++ programmieren?

    Aber, auch wenn das Projekt scheitert: Du hast trotzdem etwas davon: Du lernst

    Dennis

  17. #17
    Es Fliesst das erste blut }

    http://gdoom.funpic.de/schach0-0-1c.zip

    Wie gehappt neues Fenster öffnen rein Kopieren enter drücken

  18. #18
    toll es gibt auch andere schachspiele, wozu sich vor den maker setzen? zeitverschwenung...

    n tip so am rande, letztens hatte jemand auch so ne idee, mahlzeit. wenn ihr professionelle hilfe braucht fragt ihn doch (auch wenn er sein projekt aus ähm zeitgründen gecancelt hat) xDD

  19. #19
    Zitat Zitat von Laguna the Immortal
    toll es gibt auch andere schachspiele, wozu sich vor den maker setzen? zeitverschwenung...
    Was soll man sonst tuhn ?

    Naja das einzige was mir Angst macht ist das mir die Tabs/Variablen ausgehn können

  20. #20
    Zitat Zitat von Laguna the Immortal
    n tip so am rande, letztens hatte jemand auch so ne idee, mahlzeit. wenn ihr professionelle hilfe braucht fragt ihn doch (auch wenn er sein projekt aus ähm zeitgründen gecancelt hat) xDD
    Deinen Sarkassmus kannst du dir auch sparen... Er ist halt noch jung und kommt manchmal auf die ein oder andere dumme Idee

    Meine eigentliche Frage ist nun allerdings, ob du das mit dem "Schach" (also jetzt nicht das Spiel, sondern wenn der König bedroht wird) einbaun kannst. Meiner Meinung nach ist das nämlich sehr wichtig. Es macht zwar unglaublich viel Arbeit aber wenn man es einfach weglässt fallen viele Taktiken weg, wesshalb das Spiel dann warscheinlich nicht mehr ganz so viel Spaß machen würde.

    P.S.
    Eine Funktion die die Figuren des Spielers durchsichtig macht, der nicht drann ist wäre sicherlich sinvoll

    P.S.2
    Ist das nun ein Fehler oder soll man in dieser Version noch nicht angreifen können? (Weil du ja was von Blut schriebst )

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •