Zahlen generieren

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

Thorsten

BeitragFr, Okt 19, 2007 15:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Und was ist das da .. ?

Zitat:

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


mfG,

Thorsten
 

Takashi Kenshin

BeitragFr, Okt 19, 2007 15:06
Antworten mit Zitat
Benutzer-Profile anzeigen
das ist doch schon garnicht mehr drin:
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)
Dim Zahlen(9,9)
Dim Zahlgen(364,357)


GENERIEREN()


Repeat


FELDER()
GITTERNETZ()
BUTTONS()
ZAHLENFELD()
ZAHLENEINGEBEN()
ZAHLENUPDATE()


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


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()
Color 0, 0, 0
SetFont Zahl
For i2 = 12 To 364 Step 44
   For i = 5 To 357 Step 44
      Zahlgen(i2,i) = Rand(1,9)
   Next
Next
End Function


oh, ich glaub ich hab oben mal den falschen code geschickt, sorry . Laughing
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.
 

Dreamora

BeitragFr, Okt 19, 2007 15:06
Antworten mit Zitat
Benutzer-Profile anzeigen
www.robsite.de

Tutorials für Blitz3D

Robs BlitzBasic Kurs 2 machen.

Und erst dann wieder posten und über deine Probleme diskutieren, bitte.
Aktuell hast du höchst grundlegende Probleme deine eigenen Probleme zu verstehen, die Hinweise anderer kritisch zu betrachten und vor allem die Hilfe zu lesen.

3 gute Gründe mit dem Programmieren zu hören solltest du nicht den Wunsch hegen sie in absehbarer Zeit unter Kontrolle zu bringen.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

BlackTermi

BeitragFr, Okt 19, 2007 15:13
Antworten mit Zitat
Benutzer-Profile anzeigen
1. hör auf Dreamora

2. Normalerweise mach ich das nicht, aber mach aus:


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

 



das hier:


Code: [AUSKLAPPEN]

For i2 = 12 To 364 Step 44
   For i = 5 To 357 Step 44
       Text i2, i,Zahlgen((i2-12)/44,(i-5)/44)
    Next
Next




damit sollte zumindest das aktuelle problem noch gelöst sein.
 

Takashi Kenshin

BeitragFr, Okt 19, 2007 15:20
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn das so ist dann hab ich den befehl text irgendwie nicht verstanden
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

BeitragFr, Okt 19, 2007 15:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich zitiere eine durchaus intelligente Aussage:



BlackTermi hat Folgendes geschrieben:
...allerdings werden da nicht die von dir erwarteten Zahlen auftauchen da du die Function Text nicht richtig geschrieben hast:


Text






PS: Man beachte den Link!

BladeRunner

Moderator

BeitragFr, Okt 19, 2007 15:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
wenn das so ist dann hab ich den befehl text irgendwie nicht verstanden

dann ist es an der Zeit ihn solange am Beispiel zu studieren bis Du es wirklich hast.
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

BeitragFr, Okt 19, 2007 15:44
Antworten mit Zitat
Benutzer-Profile anzeigen
fogender maßen:
Das in der hauptschleife sieht jetzt so aus:
Code: [AUSKLAPPEN]

For i2 = 22 To 382 Step 44
   For i = 5 To 357 Step 44
      Text i2, i,Zahlgen((i2)/44,(i)/44), Rand(1,9)
    Next
Next


und die function so:
Code: [AUSKLAPPEN]

Function GENERIEREN()
Color 0, 0, 0
SetFont Zahl
For i2 = 22 To 382 Step 44
   For i = 5 To 357 Step 44
      Zahlgen(i2/44,i/44) = Rand(1,9)
   Next
Next
End Function


und jetzt funktionierts. das zweite problem war ich hab das array Zahlgen(364, 357) gemacht. erstens frist das speicher und zweitens will ich diese zahlen garnicht deswegen hab ich noch das Array Zahlgen(9,9) gemacht dann eben noch in der funktion die schritte (i2/44,i/44) gerechnet. Ich glaube ich habe es verstanden. Aber ich probier lieber nochmal an den grundlagen rum.
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

BeitragFr, Okt 19, 2007 15:48
Antworten mit Zitat
Benutzer-Profile anzeigen
du musst natürlich das wo du startest (22 und 5) abziehen, sonst kommst du auf falsche Zahlen, siehe mein oben gepostetet Beispiel


/edit

und müsste 382 nicht 374 heissen?


/edit2

und entferne aus dem oberen code das Rand(1,9) wozu soll das gut sein? - sieh dir den Link an den ich gepostet habe da steht alles was in eine Text Funktion rein muss.

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group