Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

[Spiel: Patience] Patfinder
Gehe zu Seite Zurück  1, 2, 3
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4688
Wohnort: ~/

BeitragVerfasst am: 21.08.2024, 21:58    Titel: Antworten mit Zitat

Mit sieben Reihen (21 verdeckte Karten) wird das wohl ziemlich heftig. happy Aber du kannst da auch mit anderen Dingen experimentieren - die Legefolge der Spinne (Legen unabhängig von der Farbe, aber Verschieben nur von gleichfarbigen Reihen) könnte ebenfalls interessant sein.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
hhr



Anmeldungsdatum: 15.07.2020
Beiträge: 111

BeitragVerfasst am: 04.10.2024, 19:49    Titel: Antworten mit Zitat

Ich habe überlegt, ob ich einen Bug per Email oder im Forum melden sollte.
Weil man im Forum besser diskutieren kann, habe ich mich für diesen Weg entschieden.

Im Fenster 'Einstellungen' kann man Soundeffekte und Animation nicht umschalten.

Vorschläge fürs Bugfixing:

patfinder.bi, Zeilen 581, 583:
hauptsetting.SpielerSound = cast(boolean, tempstring)
hauptsetting.SpielerAnimation = cast(boolean, tempstring)

patwork.bi, Zeilen 91, 94:
Setting.sound = clng(cast(boolean, temp))
Setting.animation = clng(cast(boolean, temp))

Hiernach funktioniert das Umschalten des Sounds immer noch nicht, deshalb habe ich (als Notlösung?) das hier probiert:
patwork.bi, Zeile 91:
sound = cuint(cast(boolean, temp))
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4688
Wohnort: ~/

BeitragVerfasst am: 05.10.2024, 11:28    Titel: Antworten mit Zitat

Vielen Dank für die Rückmeldung!
Ich habe das Problem jetzt auf eine andere Weise gefixt:
patfinder.bi Zeilen 864-865:
Code:
    print #1, iif(hauptsetting.SpielerSound, -1, 0)
    print #1, iif(hauptsetting.SpielerAnimation, -1, 0)

Ich denke, langfristig ist es besser, die Werte als Zahlen zu speichern statt als Bool-Strings. Die Umwandlung von Integer nach Boolean funktioniert ja automatisch.

Das zweite Problem liegt, glaube ich, an einer anderen Sache:
patwork.bi, Zeile 3448
Code:
    if (Setting.sound and SOUND_EFFEKT_OK) = 0 then exit sub

(Setting.sound statt sound - die globale Variable sound müsste ich eigentlich rauswerfen können, die ist noch ein Relikt von früher. Allerdings muss ich noch den Konsolenaufruf mit Optionsschaltern testen.)
Scheint soweit zu funktionieren. Ansonsten gib gern Bescheid! lächeln

Leider habe ich im Moment die Zugangsdaten zum FTP-Server nicht zur Hand, kann daher etwas dauern, bis ich das Update hochladen kann.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4688
Wohnort: ~/

BeitragVerfasst am: 13.10.2024, 17:58    Titel: Antworten mit Zitat

Ich habe die aktualisierte Version hochgeladen - neben dem gefixten Bug gibt es auch etwas erweiterte Legemöglichkeiten bei automatisierten Spielzügen sowie zwei neue Patiencen.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
hhr



Anmeldungsdatum: 15.07.2020
Beiträge: 111

BeitragVerfasst am: 14.10.2024, 19:13    Titel: Antworten mit Zitat

Hallo nemored,
vielen Dank für die neue Version.
Patfinder muss noch kompiliert werden, die zip-Datei enthält die alte patfinder.exe.
Für mich selbst habe ich das mit
fbc32.exe patfinder.bas -s gui include\patfinder.rc
gemacht.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4688
Wohnort: ~/

BeitragVerfasst am: 14.10.2024, 19:37    Titel: Antworten mit Zitat

hhr hat Folgendes geschrieben:
Patfinder muss noch kompiliert werden, die zip-Datei enthält die alte patfinder.exe.

Oh, Mist - werde ich bei Gelegenheit aktualisieren. Die beigelegten "Anleitungen" enthalten auch noch ein paar Tippfehler, die ich bei der Gelegenheit ausbessern kann.

edit: Ich habe die Datei nochmal neu hochgeladen. Jetzt stimmt hoffentlich alles. lächeln
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
hhr



Anmeldungsdatum: 15.07.2020
Beiträge: 111

BeitragVerfasst am: 21.04.2025, 20:12    Titel: Antworten mit Zitat

@nemored

Die Taste 'Wiederholen' hat anscheinend dieselbe Funktion wie die Taste 'Neues Spiel',
sodass man ein Spiel nach einem Spielabbruch nicht wiederholen kann.

Um ein Spiel wiederholen zu können, habe ich in patfinder.bi, sub spielStarten zwei Zeilen geändert und zwei Zeilen eingefügt:

Zeile 1397, randominit hinzufügen: spielergebnis = patwork(.url, .regelaktiv, .level(.regelaktiv), hauptsetting.benutzer, randominit)

Zeile 1382, randominit = rnd * (2^32) hinzufügen: if spielantwort = 1 then t = timer : randominit = rnd * (2^32)

Zeile 1378, nach dim as integer x_, y_ hinzufügen: dim as double randominit und randomize
dim as integer x_, y_
dim as double randominit
randomize
do

Das sieht dann so aus und ist für meine Zwecke brauchbar:
Code:
sub spielStarten(pat as TypPatience)
  dim as long spielantwort = 1, t, zeit, f = freefile, tempint, spielergebnis, punkte
  dim as integer x_, y_
  dim as double randominit
  randomize
  do
    with pat
      ' wenn Speicherstand vorhanden, dann bisher gespielte Zeit auslesen
      if spielantwort = 1 then
         t = timer
         randominit = rnd * (2^32)
      end if
      if dir(hauptsetting.datapfad & "benutzer" & slash & hauptsetting.benutzer & slash & .url & ".sav") <> "" then
        open hauptsetting.datapfad & "benutzer" & slash & hauptsetting.benutzer & slash & .url & ".sav" for binary as #f
        seek f, 1
        get #f,, zeit
        get #f,, tempint
        get #f,, .regelaktiv
        close #f
        if zeit and &h80000000 then spielantwort = 2
        t = timer - (zeit and &h7fffffff)
      end if
      ' starte gefundenes Programm
      dim as FB.Image ptr bildsicherung = imagecreate(PF_SCREEN_X, PF_SCREEN_Y)
      get (0, 0)-(PF_SCREEN_X-1, PF_SCREEN_Y-1), bildsicherung
      screencontrol FB.GET_WINDOW_POS, x_, y_
      spielergebnis = patwork(.url, .regelaktiv, .level(.regelaktiv), hauptsetting.benutzer, randominit)

Nach speichern/Ende kann das Spiel nicht wiederholt werden, das ist für mich nicht so wichtig.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4688
Wohnort: ~/

BeitragVerfasst am: 22.04.2025, 18:19    Titel: Antworten mit Zitat

Vielen Dank für die Rückmeldung - noch so eine Sache, die beim Umbau von v2 zu v3 kaputt gegangen ist. durchgeknallt

Um das Spiel nach dem Speichern korrekt wiederholen zu können, sind etwas größere Anpassungen nötig. Ich habe das jetzt für die kommende Version korrigiert. Allerdings will ich noch ein wenig QoL einbauen - insbesondere im Manager das Filtern der Patiencen nach Spieltyp und im Spiel die Möglichkeit, Infos zu einem ausgewählten Stapel anzeigen zu lassen.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite Zurück  1, 2, 3
Seite 3 von 3

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz