Rnd - Wie funktioniert es richtig ?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Hannes1995

Betreff: Rnd - Wie funktioniert es richtig ?

BeitragSa, Sep 22, 2007 12:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, @ all !
Ich möchte gerne Sudoku proggen und hab auch schon angefangen.
Ich weiß bloß nicht so ganz genau wie ich alles zufällig bekommen kann... Embarassed
Wisst ihr vielleicht wie das geht ???

Code: [AUSKLAPPEN]
Graphics 1024,768,32,1


SetBuffer BackBuffer()


hgrund = LoadImage("C:/Dokumente und Einstellungen/All Users/Dokumente/Eigene Bilder/Beispielbilder/Blaue Berge.jpg")
zahl_1 = LoadImage("C:/Dokumente und Einstellungen/Hannes Philip Voß/Desktop/Bilder/Sudoku/zahl_1.png")
zahl_2 = LoadImage("C:/Dokumente und Einstellungen/Hannes Philip Voß/Desktop/Bilder/Sudoku/zahl_2.png")
zahl_3 = LoadImage("C:/Dokumente und Einstellungen/Hannes Philip Voß/Desktop/Bilder/Sudoku/zahl_3.png")
zahl_4 = LoadImage("C:/Dokumente und Einstellungen/Hannes Philip Voß/Desktop/Bilder/Sudoku/zahl_4.png")
zahl_5 = LoadImage("C:/Dokumente und Einstellungen/Hannes Philip Voß/Desktop/Bilder/Sudoku/zahl_5.png")
zahl_6 = LoadImage("C:/Dokumente und Einstellungen/Hannes Philip Voß/Desktop/Bilder/Sudoku/zahl_6.png")
zahl_7 = LoadImage("C:/Dokumente und Einstellungen/Hannes Philip Voß/Desktop/Bilder/Sudoku/zahl_7.png")
zahl_8 = LoadImage("C:/Dokumente und Einstellungen/Hannes Philip Voß/Desktop/Bilder/Sudoku/zahl_8.png")
zahl_9 = LoadImage("C:/Dokumente und Einstellungen/Hannes Philip Voß/Desktop/Bilder/Sudoku/zahl_9.png")



DrawImage hgrund,0,0
DrawImage zahl_1,150,100
DrawImage zahl_2,150,132
DrawImage zahl_3,150,164
DrawImage zahl_4,182,164
DrawImage zahl_8,182,100
DrawImage zahl_9,182,132
DrawImage zahl_5,214,164
DrawImage zahl_6,214,100
DrawImage zahl_7,214,132



Flip


Color 0,0,0
Print "Erste Versuche: "


WaitKey
End


Mfg,
Hannes

BladeRunner

Moderator

BeitragSa, Sep 22, 2007 12:17
Antworten mit Zitat
Benutzer-Profile anzeigen
ql:seedrnd
ql:rnd
ql:rand
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Hannes1995

BeitragSa, Sep 22, 2007 12:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke,

aber ich möchte die Zahlen (bei mir grafiken) auf vorgegebene Koordinaten zufällig anzeigen !
Das heißt also: ich habe koords und möchte grafiken auf den koords immer wieder vertauschen können !

Weis einer wie das geht =?
 

Schnuff

BeitragSa, Sep 22, 2007 12:34
Antworten mit Zitat
Benutzer-Profile anzeigen
öhm, guck dir doch bitte die links an, die bladerunner gepostet hat, damit kriegst du zufällige zahlen hin,
die du z.B. in variablen speichern kannst, und wie du grafiken zeichnest, solltest du ja wissen Wink
Programmers dont die. They gosub without return...

BladeRunner

Moderator

BeitragSa, Sep 22, 2007 12:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Hannes, Du postest einen Code in dem nicht einmal versucht wird einen Zufall einzubauen, und erwartest dass wir das für Dich erledigen. So läuft das aber nicht. Du hast die Beschreibung, lies sie, versteh sie, benutz sie.
Schreib Dir am Anfang ein paar kleine Testprograme bis Du weisst wie das mit dem Zufall läuft.
Wenn Dir das vorgehen klar ist wie Du die festen Positionen mit zufälligen Inhalten verknüpfen sollst noch ein Tipp:
Die zufälligen Werte in ein 2D-Array speichern (ql:dim), und zum einzeichnen Arrayposition *Grafikgrösse für beide Achsen.

Alles weitere ist dein Job.

PS: Du solltest dringend davon absehen absolute Dateipfade zu benutzen, denn so wird das Spiel nur bei Dir lauffähig sein.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Hagbard

BeitragSa, Sep 22, 2007 12:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
Sudoku-Clone gibt es hier einige, vielleicht hilft dir mal eine Suche.

Du musst dir auch noch Gedanken über eine Möglichkeit, die Werte zu speichern, machen...

edit: Blade schrieb schon sowas ähnliches...
 

Stefen

BeitragSa, Sep 22, 2007 17:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier mal als kleiner Denkanstoss für Dich, Du kannst es natürlich auch anders herum machen zb. die Koordinaten als Zufall generieren.
Ich habe hier einfach mal die Bilder genommen, jede ermittelte Zufallszahl(Verzeichnis) kommt
dabei pro Aufruf nur einmal vor.

Den Rest wirst Du bestimmt auch alleine schaffen.



Code: [AUSKLAPPEN]

Graphics 800,600,16,2
Dim Zahl$(10)
SeedRnd MilliSecs()

Zahl$(0) ="C:/Dokumente und Einstellungen/Hannes Philip Voß/Desktop/Bilder/Sudoku/zahl_1.png"
Zahl$(1) ="C:/Dokumente und Einstellungen/Hannes Philip Voß/Desktop/Bilder/Sudoku/zahl_2.png"
Zahl$(2) ="C:/Dokumente und Einstellungen/Hannes Philip Voß/Desktop/Bilder/Sudoku/zahl_3.png"
Zahl$(3) ="C:/Dokumente und Einstellungen/Hannes Philip Voß/Desktop/Bilder/Sudoku/zahl_4.png"
Zahl$(4) ="C:/Dokumente und Einstellungen/Hannes Philip Voß/Desktop/Bilder/Sudoku/zahl_5.png"
Zahl$(5) ="C:/Dokumente und Einstellungen/Hannes Philip Voß/Desktop/Bilder/Sudoku/zahl_6.png"
Zahl$(6) ="C:/Dokumente und Einstellungen/Hannes Philip Voß/Desktop/Bilder/Sudoku/zahl_7.png"
Zahl$(7) ="C:/Dokumente und Einstellungen/Hannes Philip Voß/Desktop/Bilder/Sudoku/zahl_8.png"
Zahl$(8) ="C:/Dokumente und Einstellungen/Hannes Philip Voß/Desktop/Bilder/Sudoku/zahl_9.png"
Zahl$(9) ="C:/Dokumente und Einstellungen/Hannes Philip Voß/Desktop/Bilder/Sudoku/zahl_10.png"

Dim ZV(10)
For i = 1 To 10
ZV(i) = i
Next
For i = 1 To 10
a1 = Rand(0, 10)
a2 = Rand(0, 10)
store = ZV(a1)
ZV(a1) = ZV(a2)
ZV(a2) = store
Next
For i = 1 To 10
Print zahl$(ZV(i))
Next
WaitKey
End


BigMaexle

BeitragSa, Sep 22, 2007 19:35
Antworten mit Zitat
Benutzer-Profile anzeigen
nur mal so kurz... Ein Sudoku braucht doch gar kein Zufall. Die Level sind vorgespeichert. Da ham sich kluge Köpfe hingesetzt und Rätsel entwickelt die Lösbar sind und auch nicht zu schwer/leicht sind. Wenn du da es auf Zufall stellt bezweifel ich stark dass die Rätsel am Ende lösbar sind. Also es ist natürlich zu wissen wie der Zufall funktioniert, aber in einem Sudoku sehe ich da keinen Verwendungszweck
--------------------------------------
Ich bin unfreiwillig ein Mitglied dieser kapitalistischen Gesellschaft, wo jeder Geldgeile Unternehmer an mein Geld will und ich selbst bei meinen Entscheidungen so gut wie willenlos bin...... und ich bin glücklich drüber

Noobody

BeitragSa, Sep 22, 2007 20:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Sudokus sind garantiert nicht vorgespeichert, es gibt Computerprogramme, die dies von selber berechnen.
Das hat ein australischer Informatiker mal an die Times verkauft, die hat das dann gross rausgebracht...
Aber da du nicht weisst, wie Zufall funktioniert, bezweifle ich, dass du so ein Programm hinkriegen würdest (könnte ich auch nicht^^), also würd ich einfach ein paar Sudokus aus dem Inet nehmen und diese später in deinem Programm auslesen lassen.
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

Xeres

Moderator

BeitragSa, Sep 22, 2007 21:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Für ein Sudoku erstellt man ein zufälliges zahlenmuster, das so lange variiert wird, bis es den regeln entspricht und dann löscht man einige Felder wieder - so ist es 100%ig lösbar.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group