Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 15.08.2009, 14:13 Titel: |
|
|
@Muh:
Mit einer Child-Struktur ála root->getNode("XY OR NUMERICAL ID")->text(), oder einer DOM/XPath-artigen Ansprechbarkeit wie bspw. root->getNode("/xyz/578/890")->getNode("/lala")->text()? |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4650 Wohnort: ~/
|
Verfasst am: 28.08.2009, 14:44 Titel: |
|
|
Nachdem ich jetzt drei Tage nichts neues mehr am Programm gemacht, sondern nur noch Fehler gesucht (und auch gefunden und ausgebessert) habe, mag ich nicht mehr. Hier Version 0.2.90827, die ich einfach mal zur ersten stable-Version erkläre.
Das Programm besteht aus zwei Teilen: patfinder verwaltet die Patiencen, startet sie und wertet sie aus, während patwork nur für den Ablauf der einzelnen Patience zuständig ist. Für gewöhnlich läuft der Start eines neuen Spieles über patfinder.
Wie es sich für eine anständige stable gehört, gibt es auch schon den ersten Bug in der kompilierten Windows-Version - die temporäre Datei wird nicht wieder gelöscht. Ist im Quellcode bereits korrigiert, komme jetzt aber nicht ohne Rechnerneustart an ein neues Windows-Compilat.
Download Source, Spieldaten und compilierte Dateien (exe und elf)
http://programmierung.eulengesang.de/patfinder/patfinder.zip (448 kB)
Geplant für die nächste stable:
* The_Muhs Spielstand-Speicherung
* Internet-Check der Programmversion
* evtl. Auswahl/Nachladen neuer Patiencen über Netz
* ob ich die Regelanleitungen über Internet lasse, weiß ich noch nicht
* selbstverständlich Weiterentwicklung der XML-Syntax _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4650 Wohnort: ~/
|
Verfasst am: 03.02.2010, 23:13 Titel: |
|
|
Obwohl ich mir die Spielspeicherung fest als Ziel für die nächste stable vorgenommen hatte, gab es nun doch eine ganze Menge anderer Dinge, die mir wichtiger waren. Die XML-Syntax wurde weiter verfeinert und um Aktionen erweitert, um einerseits den Spielen mehr Möglichkeiten zu eröffnen und andererseits die Syntax trotzdem übersichtlich und intuitiv zu halten. Auch die Bedienbarkeit wurde (hoffentlich) wesentlich verbessert, und die Anzahl der Spiele wurde weiter erhöht. Außerdem verwende ich teilweise Stuebers Listentyp, was den benötigten Speicherbedarf ein Stück reduziert hat.
http://programmierung.eulengesang.de/patfinder/patfinder.zip (ca. 328 kB)
Gegen meine eigene Politik liegen neben dem Quelltext nur die exe- und keine elf-Dateien bei, um weniger visierte Computernutzer, denen ich den Link schicken möchte, nicht zu verwirren. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4650 Wohnort: ~/
|
Verfasst am: 13.04.2010, 22:03 Titel: |
|
|
Windows regt mich auf. Ist es normal, dass der fbc 0.20.0 bei
Code: | put #f,, len(lp.id) |
meckert und ich das als
Code: | with lp
put #f,, len(.id)
end with |
umschreiben muss? Und das Konstanten nicht immer den richtigen Integerwert speichern?
Ich habe es seltsamerweise noch nie geschafft, eine unter Linux funktionierende Version auch unter Windows ohne Änderung zu compilieren.
Wie auch immer: Es gibt eine neue Version v0.5 mit ein paar Neuerungen:
* Online-Versions-Check und Online-Installation neuer/aktualisierter Patiencen
* Speicherung eines Spiels bei Beenden und Laden beim Neustart
* ein paar Erweiterungen der XML-Syntax
* ein paar Bugfixes
Die Windows-Version flackert leider etwas, wenn eine Karte über einem passenden Stapel bewegt wird.
[edit: Das Flackern sollte inzwischen behoben sein]
Download (exe, Spieldateien und Quellcode): zip oder 7z _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Zuletzt bearbeitet von nemored am 16.04.2010, 20:52, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
Muttonhead
Anmeldungsdatum: 26.08.2008 Beiträge: 564 Wohnort: Jüterbog
|
Verfasst am: 14.04.2010, 17:23 Titel: |
|
|
*kopfkratz*
Hab das hier bei dir gefunden...
Code: | for each(.vergleich)
'
'
next |
hab ich so noch nie gesehen, ich gehe mal davon aus das each (noch) kein Schlüsselwort ist! Wo ist das denn dokumentiert?
Mutton |
|
Nach oben |
|
|
MOD Fleißiger Referenzredakteur
Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 14.04.2010, 17:32 Titel: |
|
|
Das wird ein Macro sein, durchsuch die Dateien einfach mal na "#define each". |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4650 Wohnort: ~/
|
Verfasst am: 14.04.2010, 17:34 Titel: |
|
|
Das ist eine spezielle Definition in der List.bi (oder einer der anderen Dateien) von Stuebers Listentypen. Wird vom Compiler ersetzt durch etwas in der Art von (weiß ich gerade nicht auswendig)
Code: | FOR fb_i AS INTEGER = 1 TO .vergleich.count |
_________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
Stueber
Anmeldungsdatum: 07.07.2008 Beiträge: 202
|
Verfasst am: 14.04.2010, 18:52 Titel: |
|
|
Jop, genau so wirds gemacht. Schön das du meinen Type benutzt. |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4650 Wohnort: ~/
|
Verfasst am: 14.04.2010, 21:54 Titel: |
|
|
Schön, dass so ein Type zur Verfügung steht. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4650 Wohnort: ~/
|
Verfasst am: 06.08.2010, 20:04 Titel: |
|
|
Die letzten drei Tage habe ich mit dem Versuch verbracht, herauszufinden, warum die Windowsversion bei manchen Patiencen abstürzt (aber scheinbar nicht bei allen). Jetzt mag ich nicht mehr. Hier die aktuelle Version v0.6. Der Übersichtlichkeit halber habe ich die mitgelieferte Patiencenzahl reduziert; weitere Patiencen lassen sich im Verwaltungsprogramm (patfinder) bequem über die Update-Funktion nachinstallieren. Außerdem gibt es auf der Projektseite noch ein zweites Set an Kartenbildern. Steht noch keine Lizenz dabei, wird irgend etwas im Bereich CC+Namensnennung.
Windows (bei mir instabil; edit: vorerst behoben) http://programmierung.eulengesang.de/patfinder/patfinder.7z
Linux (bei mir stabil) http://programmierung.eulengesang.de/patfinder/patfinder_linux.7z
beides inklusive Quellcode und aller für das Spiel benötigten Dateien. Unter Linux braucht man die bass.so (BASS24) von un4seen.com (oder man compiliert selbst und kommentiert in patwork.bas die erste Zeile aus).
edit: Ich habe den Windows-Bug erst einmal umgangen, indem ich dort keine verkettete Liste, sondern ein festes Array verwende. Ist zwar nicht annähernd so flexibel, aber vorerst reicht es. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Zuletzt bearbeitet von nemored am 05.04.2011, 19:45, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4650 Wohnort: ~/
|
Verfasst am: 05.04.2011, 19:08 Titel: |
|
|
Irgendwie scheine ich vergessen zu haben, die Version 0.7 zu releasen?
Egal, jetzt ist Version 0.8 da, und damit gibt es die Möglichkeit gegen einen (sehr einfachen) Computerspieler anzutreten. Eine Umsetzung dazu findet der interessierte Spieler in der Zank-Patience.
Link bleibt derselbe. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4650 Wohnort: ~/
|
Verfasst am: 01.05.2011, 22:49 Titel: |
|
|
Nochmal eine neue Version:
Das automatisierte Legen wurde nochmal überarbeitet; jetzt können die zu legenden Karten und ihre Anzahl direkt angesteuert werden, Klick- / Mischgeräusche und Animation sind ebenfalls einstellbar.
Die Animation beim Legen wurde ebenfalls generalüberholt und grafische Fehler beseitigt.
Es gibt auch ein paar neue Patiencen, die aber noch nicht alle "fertig" sind; werden im Laufe der Zeit zum Download bereitgestellt.
Insgesamt ist das Programm jetzt auf einem Stand, der meiner Ansicht nach eine Hauptversionsnummer 1 verdient: Hier also patfinder 1.0.110421 und patwork 1.0.110425.
Links bleiben dieselben wie oben. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4650 Wohnort: ~/
|
Verfasst am: 15.04.2013, 23:09 Titel: |
|
|
Version 1.3 mit ein paar Neuerungen:
Es steht eine Joker-Karte zur Verfügung, die bei Bedarf eingebunden werden kann. Die Möglichkeiten des Jokers sind noch sehr begrenzt (er wird einfach wie eine normale Karte gelegt und nimmt dabei den Wert dieser Karte an); wer Lust hat, kann ihn sich in einer Regelvariante der 'kleinen Harfe' ansehen.
Des weiteren können Beziehungen zwischen verschiedenen Feldern aufgebaut werden, womit Spiele wie der 'Rangierbahnhof' möglich werden.
Insbesondere wurden aber einige kleinere Fehler behoben und die Anzeige der Hilfstexte für größere Auflösungen korrigiert. Außerdem steht der Standard-Kartenset jetzt für alle Größen von 40x60 bis 96x144 zur Verfügung. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4650 Wohnort: ~/
|
Verfasst am: 14.05.2014, 22:27 Titel: |
|
|
Update 14.05.2014 auf Version 2.0
Die Spieledateien können Vorlagen für die Felder enthalten, wodurch bei Feldern mit gleichen oder sehr ähnlichen Eigenschaften nicht dieselben Angaben immer wieder getätigt werden müssen. Die Dateien wurden dadurch im Schnitt etwa um die Hälfte kleiner. Vorlagen können auch auf anderen Vorlagen aufbauen - kurz und gut, die Spieledateien können jetzt Vererbung.
Für Felder kann jetzt auch eingestellt werden, dass nur eine bestimmte Zahl an Karten angezeigt werden sollen (z. B. die drei obersten Karten des Abwurfstapels). Außerdem sind Sperren und Textanzeigen über die Aktionen (de)aktivierbar.
Auch das Punktesystem wurde flexibler gestaltet, und es können mehrere verschiedene Punktezählungen für dasselbe Feld definiert werden.
Alle bestehenden Patiencen wurden komplett überarbeitet und an das Vorlagen-System angepasst; bei einigen Patiencen wurde wahlweise das 100-Punkte-System hinzugefügt (z. B. beim Aufbau von Ass bis König zählt jede Karte auf dem Grundkartenstapel einen Punkt; Buben, Damen und Könige zählen 5 Punkte; damit sind 100 Punkte erreichbar). Die spinnenartigen Patiencen haben eine neue Punktewertung erhalten und zählen nicht mehr nur für vollständige Folgen.
Es gibt unter anderem auch zwei neue Mehrspieler-Patiencen (gegen den Computer) Juse und Pisha Pasha, wobei letztere sehr einfach ist und man fast nichts falsch machen kann. Mit dem Download-Paket sind wieder nur 24 Patiencen mitgeliefert, alle anderen können im laufenden Spiel online nachinstalliert werden. Ich werde aber vermutlich auch noch ein Paket mit allen momentanen Patiencen zusammenstellen.
Download: http://programmierung.eulengesang.de/patfinder/patfinder.7z
nur Quelltext; die beiden Dateien patfinder.bas und patwork.bas müssen kompiliert werden, gestartet wird dann patfinder. Für Windows habe ich die bass.dll beigelegt, allerdings habe ich in letzter Zeit das Kompilieren unter Windows nicht mehr getestet ...
Sollte es mit bass Probleme geben, kann der Sound in der dritten Zeile in patwork.bas deaktiviert werden.
Spielanleitung zu allen Patiencen liegt im Download-Paket bei und ist auch online verfügbar:
http://programmierung.eulengesang.de/patfinder/regeln/regeln.php
Die Anleitung ist noch nicht auf dem allerletzten Stand und wird in nächster Zeit noch aktualisiert. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4650 Wohnort: ~/
|
Verfasst am: 28.08.2022, 17:29 Titel: |
|
|
Ich habe entsetzt feststellen müssen, dass sich patfinder nicht mehr unter den ersten zehn Einträgen unter den Projektvorstellungen befindet da musste ich dringend was tun. (kleiner Scherz)
Update 28.08.2022 auf Version 3.0
Ich habe die beiden Programme patfinder und patwork zu einem gemeinsamen Programm zusammengefasst, ein paar Fehler behoben, ein paar Erweiterungen in der Spieldatei-XML-Syntax vorgenommen, ein paar neue Patiencen hinzugefügt, ein paar alte aktualisiert, die Seite mit den Spielregeln überarbeitet und ergänzt ... also halt überall ein bisschen was.
Änderungen in der XML-Syntax
- Aktionen: Änderung von Quelle und Ziel einer Legeaktion während des Aktionslaufs
- Aktionen: Änderung des Menütextes (z. B. temporäres Überschreiben mit "AUTO" während eines längeren Aktionsdurchlaufs)
- Aktionen: Vergleich zweier beliebiger Karten im Spiel
- Aktionen: Legen an eine zufällige Position innerhalb eines Stapels möglich
- Aktionen: ID-Listen an einigen Stellen erlaubt, an denen früher nur einzelne IDs akzeptiert wurden
Download: http://programmierung.eulengesang.de/patfinder/patfinder_3.0.zip
(alle Dateien einschließlich aller meiner Kartenbilder) _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4650 Wohnort: ~/
|
Verfasst am: 31.03.2024, 16:12 Titel: |
|
|
Update 30.12.2023 auf Version 3.1
Eigentlich hatte ich eine Idee für ein nettes Osterspiel, zu dem ich dann aber programmiermäßig doch nicht wirklich gekommen bin - deswegen lasse ich stattdessen den Patfinder wieder aufleben. Die aktuelle Programmversion ist zwar auch schon wieder drei Monate alt, aber einige Zeit wurde auch in die Aktualisierung der Regelbeschreibungen und Erstellen von Spielstatistiken gesteckt.
Ich bin in letzter Zeit auf ein paar neue Spielkonzepte gestoßen, die ich ganz interessant fand und ins Programm integriert habe:
- Die "Blinde Patience" deckt frei werdende verdeckte Karten nicht automatisch auf, sondern diese können durch Anklicken aufgedeckt werden. Man kann sie aber auch verdeckt lassen und Kartenstapel auf sie ablegen.
- Die "Indische Patience" erlaubt das Legen auf Karten mit unterschiedlichem Symbol. Eine Herz-Karte kann also auf Pik, Kreuz oder Karo gelegt werden, nicht aber auf Herz. (Die "Indische Patience" finde ich wegen der gesperrten Einzelkarten sehr interessant.)
Außerdem lässt sich das automatische Legen per Rechtsklick jetzt noch etwas feiner einstellen - z. B. "erst auf eine passende Karte, und wenn das nicht geht, dann erst auf ein leeres Feld".
Download: https://programmierung.eulengesang.de/patfinder/patfinder_3.1.zip _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4650 Wohnort: ~/
|
Verfasst am: 01.04.2024, 08:52 Titel: |
|
|
Neben der kostenlosen Vollversion ist das Spiel übrigens auch in einer abgespeckten Bezahlversion verfügbar, mit vielen ansprechenden Features:
- Stark reduzierte Spielauswahl zur besseren Übersichtlichkeit
- Pay-To-Play-Mechanik im bequemen Abo-Modell
- Regelmäßige auflockernde Werbeeinblendungen
- Unzählige bisher unveröffentlichte Bugs
- Nie wieder nervige Updates oder Upgrades
- Innovatives Finanzierungssystem: Zahle jetzt, erhalte vielleicht irgendwann später
- Tracking-Software als Bonusmaterial kostenlos (!) enthalten
Für Hardcore-Patiencenleger gibt es jetzt auch einen neuen Herausforderungsmodus: Wie viele Züge schaffst du vor dem Programmabsturz?
Zugegebenermaßen sind viele Ideen nicht ganz neu, aber dennoch lohnenswert - bei Interesse einfach melden! _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
hhr
Anmeldungsdatum: 15.07.2020 Beiträge: 104
|
Verfasst am: 20.08.2024, 18:53 Titel: |
|
|
Ich möchte eine Harfe mit 32 Karten probieren.
In harfe.xml trage ich 32 in Zeile 12 ein und ab Zeile 60 kann ich zwei oder drei Felder löschen.
Jetzt würde ich gern die 7 auf ein Ass legen dürfen.
Ist das möglich?
Der Stapel rechts unten heißt Stock? Es wäre gut, wenn hier neben der Maus auch die Leertaste funktionieren würde. |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4650 Wohnort: ~/
|
Verfasst am: 20.08.2024, 20:16 Titel: |
|
|
Zitat: | Jetzt würde ich gern die 7 auf ein Ass legen dürfen.
Ist das möglich? |
Das ist möglich, braucht aber ein klein wenig Arbeit. Dazu muss über eine <aktion> das besondere Legen erlaubt werden:
Code: | <aktion typ="legen">
<bedingung feld="ziel" tag="id">g</bedingung>
<bedingung feld="ziel" tag="karte">A</bedingung>
<bedingung feld="quelle" tag="karte">7</bedingung>
<vergleich feld1="quelle" feld2="ziel" typ="farbe">gleich</vergleich>
<lege feld="quelle">ziel</lege>
</aktion> |
Dieser Block erlaubt, eine Karte mit dem Wert 7 auf eine gleichfarbige Karte mit dem Wert A zu legen, sofern der Zielstapel die ID "g" besitzt (der Name muss ggf. angepasst werden, müsste aber bei der Harfe dem Grundkartenstapel entsprechen). Der Block kann z. B. ganz am Ende vor dem schließenden </spiel> eingefügt werden.
(Disclaimer: Ich habe den Code nicht konkret an dieser Situation getestet - er sollte funktionieren.)
Zur Erläuterung: Immer, wenn eine Karte gelegt wird, werden die drei Bedingungen und der Vergleich der Reihe nach abgearbeitet, und wenn alle vier Zeilen erfolgreich abgearbeitet werden konnten, wird die <lege>-Zeile ausgeführt. Falls du dich intensiver damit beschäftigen willst, gibt es auch eine recht ausführliche Referenz (die ich hauptsächlich geschrieben habe, um sie selbst immer wieder zurate ziehen zu können ).
Zitat: | Der Stapel rechts unten heißt Stock? Es wäre gut, wenn hier neben der Maus auch die Leertaste funktionieren würde. |
Du meinst, dass mit der Leertaste eine Karte vom Stock auf den Ablagestapel gelegt wird? Technisch kein Problem, da müsste ich aber etwas darüber nachdenken, wie die Anweisung in der XML-Datei verankert werden kann. Der Stock kann ja in verschiedenen Spielen unterschiedlich funktionieren; eine feste Codierung auf die ID "stock" ist da meiner Meiner nach nicht sinnvoll. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
hhr
Anmeldungsdatum: 15.07.2020 Beiträge: 104
|
Verfasst am: 21.08.2024, 20:17 Titel: |
|
|
Das funktioniert, danke. In Windows 7 läuft es wunderbar, sehr schönes Programm.
Mit 32 Karten habe ich Harfen mit 2 bis 7 Reihen ausprobiert. Das war sehr interessant. |
|
Nach oben |
|
|
|