Zahlen generieren
Übersicht

Takashi KenshinBetreff: Zahlen generieren |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hi ich hab jetzt mal zum ausprobieren wie das mit den zahlen generieren funktioniert eine kleinen function dazu geschreiben. wenn ich die function generieren in die Repeat until schlefe packe generiert er (logischerweise) die ganze zeit neue zahlen. deswegen hab ich die function GENERIEREN() vor das repeat gesetzt damit einmal die zahlen generiert werden und dann dort bleiben. aber warum passiert jetzt hier nichts wenn ich es starte?
Code: [AUSKLAPPEN] AppTitle "Takashi Sudoku" Graphics 600, 400, 32, 2 ClsColor 150, 0, 0 Cls SetBuffer BackBuffer() SeedRnd MilliSecs() Global Button = LoadFont ("X-Files", 19, 1, 0, 0) Global Zahl = LoadFont ("Arial", 38, 1, 0, 0) Global Button1 = LoadImage ("Button1.bmp") Global Button2 = LoadImage ("Button2.bmp") Global Spielfeld = LoadAnimImage ("Sudoku.bmp", 44, 44, 0, 81) Global Zahlenfeld = LoadAnimImage ("Zahlenfeld.bmp", 44, 44, 0, 9) Global Count = 0 Global Modus = 1 Dim Zahlen(9,9) GENERIEREN() Repeat FELDER() GITTERNETZ() BUTTONS() ZAHLENFELD() ZAHLENEINGEBEN() ZAHLENUPDATE() Flip Until KeyHit(1) Function FELDER() j = 0 For i = 0 To 352 Step 44 For i2 = 0 To 352 Step 44 DrawImage Spielfeld, i2, i, j j = j + 1 Next Next g = 0 For h = 264 To 354 Step 44 For h2 = 440 To 528 Step 44 DrawImage Zahlenfeld, h2, h, g g = g + 1 Next Next End Function Function ZAHLENFELD() Color 0, 0, 0 SetFont Zahl a = 1 For c = 266 To 356 Step 44 For b = 453 To 541 Step 44 Text b, c, a a = a + 1 Next Next End Function Function BUTTONS() Color 0, 0, 0 SetFont Button DrawImage Button1, 440, 0 DrawImage Button2, 440, 45 DrawImage Button1, 440, 90 DrawImage Button2, 440, 135 Text 443, 11, "Neues Spiel" Text 470, 57, "Prüfen" Text 479, 106, "Hilfe" Text 463, 151, "Beenden" End Function Function GITTERNETZ() MX = MouseX() MY = MouseY() XVGitter = (MX/44) * 44 YVGitter = (MY/44) * 44 Color 150, 0, 0 Rect XVGitter, YVGitter, 44, 44, 1 End Function Function ZAHLENEINGEBEN() SetFont Zahl If MouseHit(1) Then a = MouseX() / 44 b = MouseY() / 44 If a < 9 And b < 9 Then Zahlen (a, b) = Int (Chr (WaitKey())) EndIf End Function Function ZAHLENUPDATE() For i = 0 To 8 For i2 = 0 To 8 If Zahlen(i, i2) <> 0 Then Text i * 44 + 13, i2 * 44 + 5, Zahlen(i, i2) FlushMouse : FlushKeys Next Next End Function Function GENERIEREN() If KeyHit(60) Then Modus = Modus + 1 If Modus = 1 Then For i2 = 12 To 364 Step 44 For i = 5 To 357 Step 44 Text i2, i, Rand(1,9) Next Next EndIf If Modus = 3 Then Modus = 1 End Function |
||
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln. |
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: warum passiert jetzt hier nichts
Weil du die Zahlen einmal vor der Hauptschleife zeichnest und dann wird wieder drübergemalt, sodass du sie nicht sehen kannst. Also: Speichere die Zahlen in einem Array und gebe sie dann bei jedem Schleifendurchlauf auf dem Bildschirm aus. |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
Takashi Kenshin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hmm klappt doch nicht ganz.
also: die zahlen in einem array speichern also Dim Zahlen(9,9), weil es 81 zahlen sind und jetzt weiß ich nicht wie das dann abläuft, das ich sie generieren lasse ist klar das hab ich schon gemacht. nur möchte ich eben das sie nur einmal generiert werden deswegen sollte ich sie in dem array abspeichern. aber wie werden sie abgespeichert und wie werden sie dann wiedergegeben? |
||
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln. |
BlackTermi |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Eine Minute der Suche würde dir bereits helfen:
Blitzbase Auch das perfekte Beispiel - es werden Zufallszahlen gespeichert und in einer Schleife wieder ausgegeben - genau wie du es brauchst. |
||
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich bin nicht gerade der Erfahrenste aber ich denke das könnte dir helfen ![]() Code: [AUSKLAPPEN] Dim Zahl(364,357)
... Repeat For i2 = 12 To 364 Step 44 For i = 5 To 357 Step 44 Text Zahl(i2,i)= Rand(1,9) Next Next Until ... ...Function For i2 = 12 To 364 Step 44 For i = 5 To 357 Step 44 Zahl(i2,i)= Rand(1,9) Next Next ... also das eine Kommt in die Mainschleife mit klar dem Flip etc. und das andere in die Function ![]() man kann den Dim auch verkleinern wenn man den Step 44 nicht machen würde, da wäre er viel kleiner Viele Grüße Intel Core 2 Duo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
Takashi Kenshin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
nö wenn mans so macht sagt er "not enough parameters" bei der stelle Text Zahl(i2,i), Rand(1,9) | ||
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln. |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hirn einschalten. Was braucht die Funktion Text? | ||
Takashi Kenshin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
geht trozdem net, das programm startet zwar aber es passiert nichts. ich seh das was ich gezeichnet habe also das feld usw. aber er generiert nicht. | ||
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln. |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was geht nicht? | ||
Takashi Kenshin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ja dieses array und die function waren dazu gedacht 81 zahlen auf meinem sudoku feld wiederzugeben. zahlen die nicht niedriger als 1 sein dürfen und nicht höher als 9. wenn ich jetzt aber das spiel starte funktioniert die steuerung usw. aber es wird nichts generiert d. h. keine 81 zahlen werden angezeigt.
Code: [AUSKLAPPEN] AppTitle "Takashi Sudoku" Graphics 600, 400, 32, 2 ClsColor 150, 0, 0 Cls SetBuffer BackBuffer() SeedRnd MilliSecs() Global Button = LoadFont ("X-Files", 19, 1, 0, 0) Global Zahl = LoadFont ("Arial", 38, 1, 0, 0) Global Button1 = LoadImage ("Button1.bmp") Global Button2 = LoadImage ("Button2.bmp") Global Spielfeld = LoadAnimImage ("Sudoku.bmp", 44, 44, 0, 81) Global Zahlenfeld = LoadAnimImage ("Zahlenfeld.bmp", 44, 44, 0, 9) Global Modus = 1 Dim Zahlen(9,9) Dim Zahlgen(364,357) GENERIEREN() Repeat For i2 = 12 To 364 Step 44 For i = 5 To 357 Step 44 Text Zahlgen (i2,i), 0, 0 = Rand(1,9) Next Next FELDER() GITTERNETZ() GENERIEREN() BUTTONS() ZAHLENFELD() ZAHLENEINGEBEN() ZAHLENUPDATE() Flip Until KeyHit(1) Function FELDER() j = 0 For i = 0 To 352 Step 44 For i2 = 0 To 352 Step 44 DrawImage Spielfeld, i2, i, j j = j + 1 Next Next g = 0 For h = 264 To 354 Step 44 For h2 = 440 To 528 Step 44 DrawImage Zahlenfeld, h2, h, g g = g + 1 Next Next End Function Function ZAHLENFELD() Color 0, 0, 0 SetFont Zahl a = 1 For c = 266 To 356 Step 44 For b = 453 To 541 Step 44 Text b, c, a a = a + 1 Next Next End Function Function BUTTONS() Color 0, 0, 0 SetFont Button DrawImage Button1, 440, 0 DrawImage Button2, 440, 45 DrawImage Button1, 440, 90 DrawImage Button2, 440, 135 Text 443, 11, "Neues Spiel" Text 470, 57, "Prüfen" Text 479, 106, "Hilfe" Text 463, 151, "Beenden" End Function Function GITTERNETZ() MX = MouseX() MY = MouseY() XVGitter = (MX/44) * 44 YVGitter = (MY/44) * 44 Color 150, 0, 0 Rect XVGitter, YVGitter, 44, 44, 1 End Function Function ZAHLENEINGEBEN() SetFont Zahl If MouseHit(1) Then a = MouseX() / 44 b = MouseY() / 44 If a < 9 And b < 9 Then Zahlen (a, b) = Int (Chr (WaitKey())) EndIf End Function Function ZAHLENUPDATE() For i = 0 To 8 For i2 = 0 To 8 If Zahlen(i, i2) <> 0 Then Text i * 44 + 13, i2 * 44 + 5, Zahlen(i, i2) FlushMouse : FlushKeys Next Next End Function Function GENERIEREN() For i2 = 12 To 364 Step 44 For i = 5 To 357 Step 44 Zahlgen (i2,i) = Rand(1,9) Next Next End Function |
||
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln. |
BlackTermi |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ist ja auch logisch, du hast jetzt zwar alles in der Hauptschleife, aber die anderen Sachen werden immer noch über die Zahlen gemalt. Mach deine Zahlen hinter die Buttons und was du sonst nach zeichnest und dann sind sie zu sehen, allerdings werden da nicht die von dir erwarteten Zahlen auftauchen da du die Function Text nicht richtig geschrieben hast:
Text |
||
Takashi Kenshin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ja stimmt es erscheint nur im ersten kästchen ein dicker fetter punkt und sonst nichts. | ||
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln. |
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
also bei zahl steht ned wo also x, y un isch hab zahlgen geschrieben ^^
sorry |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
Takashi Kenshin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also ist jetzt so das wenn ich in die hauptschleife das hier schreibe:
Code: [AUSKLAPPEN] For i2 = 12 To 364 Step 44 For i = 5 To 357 Step 44 Text Zahlgen(i2,i), i2, i, Rand(1,9) Next Next und jetzt kommt von feld 1 bis 9 runterwärts ein dicker schwarzer balken. tu ich jetzt das Zahlgen(i2,i), raus aus der zeile Text dann generiert er wieder kontinuilrich das heißt in jedem feld rasen dann immer die zahlen von 1 - 9 kann ja mal screenshot schicken. [img:e8b08a139b]http://[URL=http://www.bilder-hosting.de/show/599PX.html][IMG]http://s3.bilder-hosting.de/tbnl/599PX.jpg[/img:e8b08a139b] |
||
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln. |
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
mh mach ne IF bedingugng, die reelt das die schleife nur einmal durchgenudelt wird | ||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
Takashi Kenshin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
sie wird ja nur einmal gemacht nur nicht richtig. die zahlen werden nur auf der y-achse wiedergegeben nicht auf der x-achse. dafür werden die werte der x-achse mit auf die y-achse gepackt. | ||
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln. |
BlackTermi |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du hast ja auch, zumindest bei deinem letzten besisiel code den text auf der x achse auf 0 positioniert - wenn du das nicht geändert hast ist es kein wunder wenn nichts nach rechts hin (auf der x-achse) geschrieben wird.
? Bzw. ich denke dass das jetzt dein Problem ist, k.A. was du sonst noch wieder gemacht/geändert hast? @ Intel Core 2 Duo Wenn du das Problem nichts richtig verstanden hast hilft es niemandem wenn du deine Meinung dazu postet, das verwirrt vorlallem denjenigen der Hilfe braucht. |
||
Takashi Kenshin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ne ich hab für x,y nicht 0,0 eingesetzt sondern i2,i warte mal ich post noch mal den ganzen code weil ich nicht weiß wie so das so ist:
Code: [AUSKLAPPEN] AppTitle "Takashi Sudoku" Graphics 600, 400, 32, 2 ClsColor 150, 0, 0 Cls SetBuffer BackBuffer() SeedRnd MilliSecs() Global Button = LoadFont ("X-Files", 19, 1, 0, 0) Global Zahl = LoadFont ("Arial", 38, 1, 0, 0) Global Button1 = LoadImage ("Button1.bmp") Global Button2 = LoadImage ("Button2.bmp") Global Spielfeld = LoadAnimImage ("Sudoku.bmp", 44, 44, 0, 81) Global Zahlenfeld = LoadAnimImage ("Zahlenfeld.bmp", 44, 44, 0, 9) Global Count = 0 Global Modus = 1 Dim Zahlen(9,9) Dim Zufall(9,9) Repeat FELDER() GITTERNETZ() GENERIEREN() BUTTONS() ZAHLENFELD() ZAHLENEINGEBEN() ZAHLENUPDATE() Flip Until KeyHit(1) Function FELDER() j = 0 For i = 0 To 352 Step 44 For i2 = 0 To 352 Step 44 DrawImage Spielfeld, i2, i, j j = j + 1 Next Next g = 0 For h = 264 To 354 Step 44 For h2 = 440 To 528 Step 44 DrawImage Zahlenfeld, h2, h, g g = g + 1 Next Next End Function Function ZAHLENFELD() Color 0, 0, 0 SetFont Zahl a = 1 For c = 266 To 356 Step 44 For b = 453 To 541 Step 44 Text b, c, a a = a + 1 Next Next End Function Function BUTTONS() Color 0, 0, 0 SetFont Button DrawImage Button1, 440, 0 DrawImage Button2, 440, 45 DrawImage Button1, 440, 90 DrawImage Button2, 440, 135 Text 443, 11, "Neues Spiel" Text 470, 57, "Prüfen" Text 479, 106, "Hilfe" Text 463, 151, "Beenden" End Function Function GITTERNETZ() MX = MouseX() MY = MouseY() XVGitter = (MX/44) * 44 YVGitter = (MY/44) * 44 Color 150, 0, 0 Rect XVGitter, YVGitter, 44, 44, 1 End Function Function ZAHLENEINGEBEN() SetFont Zahl If MouseHit(1) Then a = MouseX() / 44 b = MouseY() / 44 If a < 9 And b < 9 Then Zahlen (a, b) = Int (Chr (WaitKey())) EndIf End Function Function ZAHLENUPDATE() For i = 0 To 8 For i2 = 0 To 8 If Zahlen(i, i2) <> 0 Then Text i * 44 + 13, i2 * 44 + 5, Zahlen(i, i2) FlushMouse : FlushKeys Next Next End Function Function GENERIEREN() If KeyHit(60) Then Modus = Modus + 1 If Modus = 1 Then For i2 = 0 To 8 For i = 0 To 8 Text Zahlen(i2, i), i2, i, Rand(1,9) Next Next EndIf If Modus = 3 Then Modus = 1 End Function |
||
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln. |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Erklär mir bitte mal in eigenen Worten die Parameter des Befehles Text. | ||
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 |
Takashi Kenshin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
naja erst den befehl text dann die y und x koordinate wo eben der text hinsoll und dann noch den textinhalt. | ||
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group