Posts by wizball6502

    wizball6502's Solitär. Ich müsste halt mal 'ne Anleitung lesen, wie es überhaupt geht. :)

    Falls Solitaire begreifen noch zu deiner "Bucket List" gehört :D, dann gäbe es hier eine kurze Anleitung (in deutsch):

    [External Media: https://youtu.be/RQIxEsuY7o8]


    Die grundsätzliche Spielmechanik ist, Karten an andere unterste Karten anzulegen, um so an die noch verdeckten Karten zu kommen. Dazu muss die umzulegende Karte um einen Wert tiefer sein und eine andere Farbe haben (z.B. rote 7 auf schwarze acht). Ausnahme: Bei einer leeren Spalte darf diese von einem König belegt werden. Um das Spiel zu gewinnen, müssen die Karten nebenbei (oder am Schluss) aufsteigend auf den 4 Farbenstapeln (Herz, Karo, Kreuz, Pik) abgelegt werden, wobei das Ass den Wert eins hat und somit die erste Karte ist, die auf den Ablagestapel gelegt werden kann. Viel mehr ist da nicht.

    Liebe Forums-Freunde


    Mich würde interessieren, wer dieses Jahr so (digital) auflegt auf der Gamescom Retro-Area. Habt ihr da schon etwas Insiderwissen, was, wo, um welche Uhrzeit abgeht? Und gibt es da neben dem Hauptprogramm auch noch Nebenschauplätze, die man nicht verpassen sollte? Paaaaaartyyyyy!!! :lol23:


    https://www.gamescom.de/

    https://media.koelnmesse.io/ga…timetable_programm_gb.pdf

    https://www.gamescom.de/fuer-besucher/areas/retro-area/

    Also so sähe es mit ECM zumindest noch anschaulich aus (wenn es nur um Buttons geht):

    Da hast du aber jetzt die Linien außerhalb gemalt, oder? Sonst hättest du ja z.B. oben rechts weiß, hell- und dunkelgrau zusammen in einer Kachel, was nicht geht.


    Das geht natürlich - und so habe ich es auch in Minesweep gemacht - aber damit kannst du nicht zwei Buttons direkt nebeneinander malen. Dazwischen sind immer 14 Pixel Platz.

    Ja, sorry. Das ist ja genau so, wie du das bereits realisiert hattest. Ich habe somit auch keine bessere Idee.

    WebFritzi In der Crackerszene geht es profan nur darum, Punkte zu sammeln. Wer am Ende des Jahres am meisten Punkte hat, ist dann halt "besser" als die anderen. Einem Gratisspiel ein Intro aufzudrücken gibt dann halt nur einen Punkt (Kleinvieh macht auch Mist). Als erster ein Intro vor ein neues State-of-the-Art-Game, sagen wir mal "Eye of the Beholder" (weil ich das schon mal genannt hatte) zu pflastern und als erster auf CSDB zu bringen, gibt dann etwas mehr Punkte. Ein kommerzieller Release als erster zu "cracken" gibt dann noch mehr Punkte. Das ist ein klar festgelegter Cracker-Szene-Wettbewerb mit Jagd nach Punkten, leider auf Kosten der Urheber. Mich stört daran vor allem, dass auf CSDB oftmals die Quellenangabe fehlt, so dass normale Leute sich dort alte Versionen runterladen, obwohl es inzwischen schon bessere Versionen gäbe. Als Urheber möchte man dafür Sorge tragen können, dass sein Werk so erlebt wird, wie man es gerne möchte.

    Mit dem Deselektieren meine ich, dass wenn ich eine Karte angewählt habe, mich dann aber umentscheide und eine andere Karte selektieren möchte, die bestehende Selektion zuerst deselektieren muss, bevor ich die andere Karte anwählen kann. Aber es kann gut sein, dass nur mich das stört. Vermutlich hilft es mir in meinem Denkprozess, dass ich eine Karte zuerst anklicke, und dann erst schaue, wo sie hin könnte. Dann gehe ich zur nächsten Karte über. In diesem Fall wäre es halt cool, wenn die neue Karte gleich wieder selektiert wird, wenn das Programm feststellt, dass die vorgängig selektierte Karte dort nicht passt. Beim Solitaire habe ich das jedenfalls so gelöst und finde das Handling so sehr angenehm.


    Auf echter Hardware habe ich FreeCell noch nicht ausprobiert, werde das aber nachholen. Kann gut sein, dass dann die Mausbewegung im Solitaire dort zu langsam wirkt.

    Und es scheint mir, als ob dein Maustreiber die Mausbewegungen - zumindest für meinen Geschmack - ein bisschen zu schnell übersetzt. Der Mauspfeil zischt mir fast etwas zu schnell von einer Seite zur anderen, was es etwas schwierig macht, direkt auf die gewünschte Karte hin zu navigieren. Kann das sein?

    WebFritzi Ich habe heute mal dein FreeCell etwas gespielt. Die laufende Uhr ist ziemlich cool. Ich hätte da aber auch noch zwei Verbesserungsvorschläge und eine Frage...

    • Wenn man eine oder mehrere Karte(n) selektiert hat (blaue Umrandung), dann gehen die Menupunkte "Game" bzw. "Help" oben nicht mehr. Man kann sie zwar anklicken, aber es passiert nichts. Erst, wenn man die Selektion wieder deselektiert hat, geht das wieder. Ich wollte im Selektionsmodus ein neues Game starten und war kurz verwirrt, warum das nicht geht. Aber nicht schlimm, wenn man das weiss.
    • Ich finde es ein bisschen umständlich, dass man im Selektionsmodus erst wieder de-selektieren muss, bevor man eine andere Karte anwählen kann. So muss man immer zwei Klicks machen. Ist das schwierig, den Selektionsmodus zu Verlassen, sobald woanders hin geklickt wird? Dass würde dann vielleicht den ersten Punkt auch gleich lösen.
    • Dass der Maschinenspracheteil und der Font tricktechnisch im BASIC-Programm eingebettet ist, ist zwar eine schöne technische Spielerei, finde ich persönlich aber ein bisschen schade, weil es das BASIC-Programm damit schlecht erweiterbar macht. Was hast du dir überlegt, als du diese etwas ungewöhnliche Einbettungsmethode gewählt hast? Schutz, dass andere deinen Code nicht so einfach wiederverwenden können? Oder ging es dir vor allem, dass das Programm ein One-Filer bleiben soll und nach dem Laden schnell spielbereit ist?

    Ich hatte übrigens die folgende Idee: Was hältst du davon, wenn wir dein Solitaire, Freecell und Minesweeper in einer Gamesuite auf einer Diskette verpacken? Ich stelle mir das so vor, dass es ein Hauptprogramm (Loader) gibt, in der nur die Taskleiste aus Minesweeper zu sehen ist. Wenn man auf START klickt, hat man dann die Auswahl aus den drei Spielen (und "Beenden" natürlich). Wählt man eines aus und hat zu Ende gespielt, lädt das jeweilige Spiel wieder den Loader, und man ist wieder in der Auswahl.


    Ich könnte mir schon denken, dass du nein sagst, weil dein Spiel nur zum Abtippen gedacht ist, aber du kannst es dir ja mal überlegen. ;-)

    Danke für das Angebot, das ich aber ausschlagen muss. Meine "Green Felt Classics" ist bereits eine Serie, die ich mit den gegebenen Merkmalen weiter ausbauen möchte. Also Listings zum Abtippen auf max. 3 A4 Seiten, die halt eben im weitesten Sinne mit dem "Grünen Filz" etwas zu tun haben. Darunter sind bisher entstanden: Blackjack, Yahtzee und Solitaire. Ich behalte mir vor, meine Programme (nicht nur die Listings) irgendwann als Download oder zusammen auf einer Disk anzubieten, das wird aber vorerst nicht passieren, da ich eben Leute dazu motivieren möchte, das Programm selbst abzutippen und etwas Aufwand zum Erhalt des fertigen Programmes aufzubringen. Unter anderem auch deshalb, da ich mir vorstelle, dass damit eher eine Art Verbindung zwischen dem Abtipper und dem Entwickler entsteht und somit das Programm damit auch nicht so ohne weiteres auf CSDB raufgeladen oder weitergegeben wird, sei es aus Respekt oder weil man denkt, wenn ich schon Aufwand treiben musste, sollen das andere auch tun. Was mir für den Lerneffekt aber noch fehlt, ist eine Erklärung, was in den jeweiligen Zeilen meiner Listings passiert. Das möchte ich irgendwann noch nachliefern. FreeCell gehört auch zu den Kartenspielen, die ich noch umsetzen möchte - auch wieder als Listing auf 3 A4 Seiten und im selben Look & Feel wie Solitaire. Da ich mir aber gesagt habe, dass ich pro Jahr nur ein Listing veröffentliche, werde ich dieses Projekt wohl erst im nächsten Jahr in Angriff nehmen. Bis dahin habe ich noch etwas Zeit, mir weiter zu überlegen, wie ich mit effizienter und eleganter Programmierung aus dem BASIC V2 noch etwas mehr Leistung rausholen kann, ohne dass ich auf Maschinenspracheroutinen zurückgreifen muss. Ich möchte vor allem das olle BASIC V2 feiern und zeigen, dass tolle Listings/Programme auch ohne viel DATA-Zeilen möglich sind bzw. gewesen wären. Aber früher ging es auch mehr um das Resultat, als der Weg, auf welchem das Spiel entstand.

    Am Ende ist es sehr mühselig, alle verbleibenden Karten nacheinander auf die Asse zu legen. Es wäre super, wenn das Programm nach jedem Zug checken würde, ob der Stapel leer ist und links alle Karten aufgedeckt sind. Das sollte doch gut möglich sein.

    Das kann ich verstehen. Ich bin deshalb gerade daran ein optionales "plug-in" zu machen (d.h. ein paar zusätzliche BASIC-Zeilen zum nachträglich einbauen ;)), damit am Schluss ein automatisches Ablegen der verbleibenden Karten mit der rechten Maustaste ausgelöst werden kann. Es funktioniert soweit schon, muss das aber noch etwas mehr testen. :thumbsup:

    wizball6502 Und noch was: Beim Spielmodus "Aufdecken von 3 Karten" behält dein Programm immer die gleiche Reihenfolge bei. Will sagen: Wenn am Ende vom großen Stapel nur noch z.B. eine Karte da ist, wird auch nur die aufgedeckt. Dann geht's wieder weiter mit den ersten drei Karten vom ersten Durchlauf. Ich glaube, beim Windows-Solitaire werden immer drei Karten aufgedeckt, so dass beim nächten Durchlauf der erste 3er-Stapel anders aussieht. So hat man wenigtens ne Chance an die anderen Karten zu kommen. Fände ich besser.

    Das mit dem Aufdecken bei 3 Karten ist so implementiert, dass wenn der Stapel zu Ende ist, der Stapel umgedreht wird und wieder die 3 obersten gezogen werden, unabhängig davon, ob im letzten Ziehen vom Stapel nur zwei oder nur eine Karte vorrätig war. Das scheint mir auch so im Windows Solitaire zu sein (tontechnisch klingt es vom Soundeffekt aber einfach nach Ziehen von 3 Karten). Ausser, es gibt da einen Spielmodus, wo das so wäre. Der ist mir aber nicht bekannt und ich habe mich auf den klassischen Spielmodus begrenzt.

    Das mit dem Doppelklick ist bereits implementiert

    Komisch. Ging bei mir nicht. Hab's mit Mouse-Support im Emulator (VICE) gespielt. Der Code ist der, auf den der erste Link in diesem Thread verlinkt. (Hab ihn nicht abgetippt, sorry :rolleyes:)

    Möchte etwas spät noch auf die Doppelklick-Funktion antworten, weil ich bei meiner Erstantwort leider vergessen hatte, wie ich das damals eigentlich implementiert hatte. Lynx hat das ja netterweise richtig erkannt und erklärt, dass im Fall von meinem Solitaire die rechte Maustaste den "Doppelklick" auslöst bzw. die Karte dann automatisch auf den Stapel verschiebt. Zuerst wollte ich das mit Doppelklick machen, habe mich aber dann für die zwei-Tasten-Lösung entschieden, weil es viele, vor allem ältere Menschen gibt, die einen Doppelklick nicht mehr so einfach schaffen. Die Dauer an Millisekunden, die zwischen dem ersten und zweiten Klick erfolgen muss, kann je nach Individuum und Alter unterschiedlich ausfallen. In Windows kann man das im Bedarfsfall anpassen. Den Aufwand, dass man dies auch in meinem Solitaire einstellen kann, wäre mir zu viel gewesen. Auf der anderen Seite hat die Maus ja zwei Tasten, also wieso das nicht nutzen. Das steckt also hinter diesem Designentscheid. :)

    Dürfen wir als nächstes "Green Felt Classic" auf Shanghai hoffen? :D

    Haha. Du wirst lachen, aber ein Mahjong bzw. Shanghai hatte ich vor Solitaire auf meiner "Mal schauen, ob das mit ECM-Mode was hergibt"-Liste und hatte auch bereits einiges recherchiert, was es schon so gibt auf dem C64. Ich hatte auch bereits einige Design-Entwürfe gemacht (die ich nun aber nicht mehr finde). Das war aber dann eine Nummer zu gross bzw. meine Ergebnisse haben mich nicht überzeugt, dass ich das packe. Dann kam ich auf Solitaire.

    Du könntest z.B. noch alle Nullen durch einen Punkt ersetzen. Das bringt auch etwas Speed.

    Ja, das wende ich bei meinen BASIC-10-Linern in der Regel an, um ein kleines bisschen mehr Performance herauszuholen. Viel ist es aber nicht. Bei meinen BASIC-Listings zum Abtippen habe ich darauf verzichtet, weil sich da vielleicht Leute wundern bzw. sogar das als Tippfehler ansehen könnten und dann verunsichert sind. Den Hintergrund mit dem Dezimalpunkt statt Null (der Wert muss damit vom Interpreter nicht mehr in eine Fliesskommazahl-Null konvertiert werden) kennen vermutlich nur BASIC-Insider bzw. aufmerksame Forum64 Leser :).