Français
Jeux

Schiebe-Puzzle - OpenSource

 
- page 1 -



Julian
Schmidt
Kleines aus ennui entstandenes Game.

Télécharger
externer Télécharger

698 kB
Kurzbeschreibung: mirror1
Hochgeladen:20.05.2012
Downloadcounter287
Download
 
XProfan X2
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
04.04.2012  
 



 
- page 4 -



Jörg
Sellmeyer
cela Erstellen et Effacer eines Bitmap-Handles usé sûrement plus Ressourcen et kostet plus Zeit comme qui einmalige Erstellung eines Staics, cela Du ensuite bewegen peux.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
06.04.2012  
 




Julian
Schmidt
Jörg Sellmeyer (06.04.12)

cela Erstellen et Effacer eines Bitmap-Handles usé sûrement plus Ressourcen et kostet plus Zeit comme qui einmalige Erstellung eines Staics, cela Du ensuite bewegen peux.


hmmm...gilt cela Montrer eines Bitmap-Handles (per DrawPic) chez dir zum "Löschen et Erstellen eines Bitmap-Handles". Erstellen et Effacer tue je mon Bitmap-Handels einmalig entweder am Anfang ou bien am Ende des Programms. Ansonsten tue je vous seulement Ausgeben, quoi aucunement avec Erstellen juste venez.
Einmalig Erstellen et Effacer devrait je mon Bitmap-Handles ebenfallls, si je un Bitmap-Contrôle nutzen serait.
pourquoi sollte qui Weg sur Bitmap-Controls alors moins Ressourcen et Zeit coûter.
cela einmalige Erstellen erfordert dans chaque le cas plus Zeit, alors plus Rechenpower.
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
06.04.2012  
 




Jörg
Sellmeyer
je sais oui pas, comment Du que voici nennst:
KompilierenMarqueSéparation
whileloop 1,part_x&,If((part_x& Mod 2)=0,2,1)

    space&=Create("hNewPic", &loop, part_y&, Back_Color())
    DrawPic space&, ((spalte_&-1)*part_x&), (zeile_&-1)*part_y&; 0
    DrawPic pic_part&[i_&], ((spalte_&-1)*part_x&)+&loop, (zeile_&-1)*part_y&; 0
    DeleteObject space&

EndW
a>

je nenne cela mehrfaches Erstellen eines Bildhandles. et c'est sûrement aufwendiger comme cela Déplacer eines Controls. mais mir ist's aussi égal. je dois oui keinen faute dans Deinem Code trouver
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
06.04.2012  
 




Julian
Schmidt
je serait mich eh bien volontiers à une neuen Algorithmus zum Mischen qui Puzzle-Teile faire. Sinn soll es son, dass seulement lösbar Puzzles entstehen.
il y a juste plusieurs Opportunités, qui alle Vorteile bzw. Nachteile besitzen.
1. Mischen per zufälligem Déplacer qui Puzzleteile dans cela Leerefeld um une bestimmte numéro de Zügen.
2. Mischen per Zufall jusqu'à qui parité justement ist (siehe [...] )
3. Gezieltes zufälliges Mischen sodass qui parité toujours justement ist.

qui 1. Possibilité hätte den Vorteil cela cet toujours ungefähr juste dauerte. Allerdings devrait on numéro qui Züge sur qui jeweiligen Feldgrößen optimaliser, avec cela cela Bild aussi ausreichend gemischt wäre.

qui 2. wäre pour mich relativ simple umzusetzen. Allerdings serait qui Mischvorgang toujours unterschiedlich long dauern. Theoretisch pourrait sich cela Programme dans einer Art "Endlosschleife" aufhängen.

qui 3. Possibilité wäre im comparaison zur 1. & 2. Possibilité wesentlich plus rapide. Allerdings wüsste je pas comment je mon Vorstellung umsetzen pourrait.

Gibt es encore besser Opportunités. quelle Possibilité haltet son pour am Besten.
mon persönlicher Favorit ist qui 1. Possibilité.
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
06.04.2012  
 




Julian
Schmidt
Jörg Sellmeyer (06.04.12)

je nenne cela mehrfaches Erstellen eines Bildhandles. et c'est sûrement aufwendiger comme cela Déplacer eines Controls. mais mir ist's aussi égal. je dois oui keinen faute dans Deinem Code trouver


Ist déjà longtemps aus meinen Code dehors. Hättest du fois le Source aktualisiert hättest du es gesehen.
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
06.04.2012  
 




Jörg
Sellmeyer
tu peux Dir une Tabelle de, dire wir, 100 machbaren Ausgangspositionen anlegen. Aus denen cherches Du ensuite per Zufall quelle aus.
là allez cela Mischen ensuite ruckzuck.


Ist déjà longtemps aus meinen Code dehors. Hättest du fois le Source aktualisiert hättest du es gesehen.


cela hättest Du oui dessus aussi simple erwähnen peut.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
06.04.2012  
 




Julian
Schmidt
Jörg Sellmeyer (06.04.12)

tu peux Dir une Tabelle de, dire wir, 100 machbaren Ausgangspositionen anlegen. Aus denen cherches Du ensuite per Zufall quelle aus.
là allez cela Mischen ensuite ruckzuck.


Du meinst je soll mir une banque de données avec einigen möglichen Opportunités anlegen et aus cette ensuite une zufällig auswählen?
cela wäre ensuite naturellement cela Schnellste. Allerdings devrait pour jeden Schwieigkeitsgrad ca. 100 ou bien besser plus Kombinationen eintragen.
là je encore nie avec Datenbanken gearbeitet habe, stellt sich mir qui Frage, comment je am Besten qui Opportunités eintrage et comment grand qui banque de données avec ca. 1000 Einträge son wird.

Jörg Sellmeyer (06.04.12)

cela hättest Du oui dessus aussi simple erwähnen peut.


Hätte je geahnt, dass du toi pas sur meinen aktuellen Code beziehst, oui.
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
06.04.2012  
 




Jörg
Sellmeyer
Pour cette brauchst Du aucun banque de données. une Inidatei ou bien so reicht:

Inidatei pour Rätsel

[achter]
Start= 0,1,2,3,4,5,6,7,8;1,2,3,4,0,6,5,8,7;2,1,3,4,8,5,0,7,6...

[fuenfzehner]
Start= 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15;1,2,3,14,6,5,8,7,0,9,11,10,12,13,15,4;...

...


Pour dem gleichen Prinzip peux Du Dir mais aussi im Programme Listen generieren.
je hab maintenant qui Bedingungen pas im tête, qui erfüllt son doit.
Aus den payons (ce sont qui Blöcke im Puzzle) peux Du ensuite qui Koordinaten errechnen.

une Inidatei hat Beschränkungen dans qui Longueur qui Cordes. prends lieber une Textdatei dans qui Du simple Zeilenweise qui Start-Cordes écris

StartDatei
Start08=0,1,2,3,4,5,6,7,8;1,2,3,4,0,6,5,8,7;2,1,3,4,8,5,0,7,6...
Start15= 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15;1,2,3,14,6,5,8,7,0,9,11,10,12,13,15,4;...
Start24=...
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
06.04.2012  
 




Julian
Schmidt
Jup, ensuite bräuchte je am Besten une Quellcode qui mir mögliche Lösungen dans qui Ini-Dossier écrit.
je werde cela dans prochaine Zeit versuchen (avec qui 1. Possibilité (siehe dessus)) umzusetzen. Es sei car, es taucht un besserer Vorschlag sur.
Salut
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
06.04.2012  
 




Julian
Schmidt
j'ai eh bien une Voir le texte source geschrieben qui mir mögliche Lösungen auflistet.
je scheitere momentan malheureusement encore beim écrivons cette dans un Text-Dossier.
Könnte la fois quelqu'un un Beispiel avec Blockwrite faire?
KompilierenMarqueSéparation
Def Wurzel2(1) Sqrt(@&(1))
Def Spalte_from_ID(1) (INT(@&(1)/Wurzel2(anzahl_teile&))+IF((@&(1) mod Wurzel2(anzahl_teile&))=0,0,1))
Def Zeile_from_ID(1) INT(@&(1)-((Spalte_from_ID(@&(1))-1)*Wurzel2(anzahl_teile&)))
Def DateiName(1) SubStr$(@$(1),-1,"\\")
Def DateiPfad(1) Translate$(@$(1),("\\" + DateiName(@$(1))),"")
Var Programm$=Par$(If((Upper$(SubStr$(Par$(0), -1, "\\"))="PROFAN.EXE") or (Upper$(SubStr$(Par$(0), -1, "\\"))="XPROFAN.EXE"),1,0))
Var txt$=DateiPfad(Programm$)+"\Options.txt"
Declare anzahl_teile&, start_kombination$, kombination$, empty&, pos&[], err&, random&, liste&
cls

whileloop 5

    anzahl_teile&=(&loop+2)^2
    Clear pos&[]

    whileloop anzahl_teile&

        pos&[&loop]=&loop'pos&[Wahre-Positions-ID]=Aktuelle-Positions-ID

    EndWhile

    start_kombination$=Kombination()
    Destroywindow(liste&)
    liste&=Create("Listbox",%hwnd, 0, 0,0,width(%hwnd),height(%hwnd))'Create("List",0)
    empty&=1
    Randomize

    While GetCount(liste&)<1000

        random&=Rnd(2)+1'-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-Verschieben per Zufall

        If random&=1'Horizontal

            If Spalte_from_ID(empty&)=1'Rechts

                Tausche(empty&+Wurzel2(anzahl_teile&))

            ElseIf Spalte_from_ID(empty&)=Wurzel2(anzahl_teile&)'Links

                Tausche(empty&-Wurzel2(anzahl_teile&))

            Else'Links oder Rechts

                random&=Rnd(2)+1

                If random&=1'Links

                    Tausche(empty&-Wurzel2(anzahl_teile&))

                ElseIf random&=2'rechts

                    Tausche(empty&+Wurzel2(anzahl_teile&))

                EndIf

            EndIf

        ElseIf random&=2'Vertikal

            If Zeile_from_ID(empty&)=1'Unten

                Tausche(empty&+1)

            ElseIf Zeile_from_ID(empty&)=Wurzel2(anzahl_teile&)'Oben

                Tausche(empty&-1)

            Else'Oben oder Unten

                random&=Rnd(2)+1

                If random&=1'Oben

                    Tausche(empty&-1)

                ElseIf random&=2'Unten

                    Tausche(empty&+1)

                EndIf

            Endif

        EndIf

        kombination$=Kombination()'-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-Eintragen in Text-Datei

        If start_kombination$<>kombination$

            Clear err&

            whileloop GetCount(liste&)

                If GetString$(liste&,&loop-1)=kombination$

                    err&=1
                    break

                Endif

            Endwhile

            If err&<>1

                Addstring(liste&,kombination$)'noch nicht eingetragene Kombinationen
                'in Text-Datei eintragen
                Settext %hwnd,"Stufe: "+Str$(INT(Wurzel2(anzahl_teile&)-2))+"  Einträge: "+Str$(GetCount(liste&))+" von 1000"

            EndIf

        EndIf

        Case iskey(27) : end

    EndWhile

EndWhile

Proc Tausche

    Parameters id&'empty& und id& tauschen
    Declare x&

    whileloop anzahl_teile&'Wahre-Position von id&

        If pos&[&loop]=id&

            x&=&loop
            break

        EndIf

    EndWhile

    pos&[x&]=empty&
    empty&=id&
    pos&[1]=empty&'Tauschen

EndProc

Proc Kombination

    Declare text$

    whileloop anzahl_teile&

        text$=text$+Str$(pos&[&loop])+"|"

    Endwhile

    Return Left$(text$,Len(text$)span class=s2>-1)

ENDPROC

 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
07.04.2012  
 




Jörg
Sellmeyer
Pour cette brauchst Du gar pas BlockWrite bemühen. simple alles dans une String et ab avec cela:
KompilierenMarqueSéparation
Var Text$ = "Dies\nist\nein\nTest"
Var Datei$ = "C:\Profan\Projekte\Notengenerator\Einstellungen.dat"
Assign #1,Datei$
Print %ioresult
ReWrite #1
Print #1,Text$
Close #1
print %ioresult
WaitInput
Shell "NotePad.exe " + Datei$
Wai
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
07.04.2012  
 




Julian
Schmidt
Ok ,merci
et comment tue je am Besten seulement einzelne Zeilen auslesen?
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
07.04.2012  
 




Zum Spiel


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

111.549 Views

Untitledvor 0 min.
H.Brill02.05.2023
Sven Bader14.07.2021
Michael Klumb18.04.2016
Julian Schmidt07.01.2016
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie