kleine frage
Übersicht

Gehe zu Seite Zurück 1, 2, 3 Weiter
Takashi Kenshin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also seit dem letzten beitrag bis jetzt habe ich gegrübelt, gelesen, ausprobiert ich bin nicht drauf gekommen. kann mir jemand ein beispiel geben wie ich das dann wiedergeben kann? | ||
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 ![]() |
---|---|---|
Einfacher gefragt: wenn ich die allererste Zelle (Sterne(0,0)) auslesen will, wie geht das ? | ||
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 ![]() |
|
---|---|---|
ich schreibe
Code: [AUSKLAPPEN] print sterne(i,0)
ich hab das so ausprobiert aber da kam fehler "array is out of bounds" dann hab ich das array verändert per ausprobieren weil ich nicht weiß wonach ich das richten muss und habs dann auf (1000,1000) gesetzt und dann wurden nur 2 nullen auf dem bildschirm angezeigt sonst nichts. auch keine fehlermeldung |
||
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 ![]() |
---|---|---|
Welchen Wert hat denn i bei deinem Beispiel ?
Und warum fragst Du auf i,0 ab ? |
||
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 ![]() |
|
---|---|---|
Der Wert ist
Code: [AUSKLAPPEN] for i = 0 to 999
|
||
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 ![]() |
---|---|---|
Damit gist du aber nicht eine Aus, sondern die ersten Tausend. ![]() Eine Bitte: wenn Du ein Problem mit Code hast und er nicht läuft wie er soll wäre es sinnig wenn Du die jeweils aktuelle Version mitpostest, denn so kann ich nur raten. |
||
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 ![]() |
|
---|---|---|
ok das wäre der code mit den Dimensionen hab ich ein wenig geräzelt da nur (1000,1000) ging, bei allen anderen kam die fehlermeldung array out of bounds.
Code: [AUSKLAPPEN] Graphics 640, 480
SetBuffer BackBuffer() Dim sterne (1000,1000) For i = 0 To 999 sterne(i,0) = Rand(640) sterne(i,1) = Rand(480) Next Print sterne(i,0) Print sterne(i,1) |
||
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 ![]() |
---|---|---|
Dann zerlegen wir mal deinen Code, Zeile für Zeile:
Graphics 640, 480 - ok SetBuffer BackBuffer() -ok Dim sterne (1000,1000) -hier wäre ein umdimensionieren nicht nötig gewesen, (999,1) gibt wie schon gesagt platz für tausend sternenkoordinatenpaare. Da der Fehler später auftrat muss das geänderte den Fehler enthalten, hier etwas zu ändern kaschiert den Fehler nur. For i = 0 To 999 -ok, zählt die sterne von 0 - 999 durch. sterne(i,0) = Rand(640) -ok, setzt die x-koord. sterne(i,1) = Rand(480) -ok, setzt die y koord. Next - ok, wiederhole. Print sterne(i,0) - FEHLER: mach mal ein print i ein, und stelle erstaunt fest dass i = 1000 und somit größer als die erlaubten 999 sind. Wieso? Next erhöht i jedesmal wenn es aufgerufen wird. bei 999 wird also auf 1000 erhöht, dann stellt bb fest dass die schleife nichtmehr bearbeitet werden muss. i wird von BB vergessen, sprich: bleibt auf dem letzten Wert. Wenn Du also manuell auslesen willst darfst du i nicht verwenden, sondern musst den manuellen wert eintragen. oder aber du lässt i mit einer weiteren for-next neu durchzählen, falls du mehrere Werte ausgeben willst. Print sterne(i,1) FEHLER, siehe oben. |
||
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 ![]() |
|
---|---|---|
ok, wenn ich aber diesen manuellen wert aber eintrage kommen trozdem nur zahlen auf dem bildschirm und zwar genau 2 links oben in der 1. und 2. zeile ich wollte mit dem code aber einen sternen himmel erstellen | ||
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 ![]() |
---|---|---|
Die Zahlen die Du mit print ausgibst sind die Koordinaten eines Sternenpaares. Der Trick liegt nun darin all diese Koordinaten abzurufen (for-next) und sie als Zahlen für plot zu verwenden. Da die koordinaten sich nicht mehr ändern - sie sind ja im Array gespeichert - kann man das beliebig oft wiederholen, was ja das ist was Du wolltest.
Der weg zu deinem Sternenhimmel läuft eben über eine Sammlung gespeicherter Positionsdaten. |
||
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 ![]() |
|
---|---|---|
hmm.. ich kriegs nicht hin, kennst du vllt. ein tutorial wo man das lernen kann? | ||
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. |
Takashi Kenshin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok ich habs geschafft. ganz einfaches problem ich habe die falsche variable genommen also so das sie doppelt war. nun hab ich es so hinbekommen wie ich es wollte.
Code: [AUSKLAPPEN] Graphics 1280, 1024
SetBuffer BackBuffer() Dim sterne (999,1) For i = 0 To 999 sterne(i,0) = Rand(1280) sterne(i,1) = Rand(1024) Next ;sternenhimmel in ein array gelegt. For g = 0 To 999 Plot sterne(g,0), sterne(g,1) Next ;array ausgelesen um sternen himmel zu erstellen. xspeed=2 While Not KeyHit(1) x=x+xspeed Oval 800+x, 400, 150, 50, 1 If x>330 Then xspeed=-2 If x<0 Then xspeed=+2 Flip Cls ;sehr wichtig sonst zieht sich das oval lang For g = 0 To 999 Plot sterne(g,0), sterne(g,1) Next ;nochmal auslesen sonst weg wegen cls. Wend |
||
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 ![]() |
---|---|---|
Herzlichen Glückwunsch ![]() Schön dass Du hartnäckig geblieben bist. Übrigens kannst Du bei deinen Schleifen weiter i statt g verwenden, sobald man eine neue For-next macht wird der Wert automatisch auf den Startwert gesetzt. Und das erste plotten ist nicht nötig, Du machst es ja in der Schleife. Dann würde ich Dir noch raten Flip und CLS immer ANS ENDE der Schleife zu machen, damit vorher alles gezeichnet wird. So wie Du es bislang hast geht es zwar, ist aber verwirrend, da Du in einem Schleifendurchlauf 2 Bildschirmaufbauten bearbeitest. Solltest Du flip und Cls an das Ende schieben, würde ich das Plotten noch vor Oval und co setzen, denn Blitz zeichnet in der Reihenfolge in der es auf die Befehle tritt, und dann wären, lässt Du es unverändert, die Sterne vor dem Vordergrund ![]() |
||
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 ![]() |
|
---|---|---|
hi mal wieder. so ich hab jetzt mal ein mit den pfeiltasten steuerbares objekt erschaffen nur möcht ich jetzt nicht das sich das objekt bis auserhalb der grenzen des bildschirms bewegt. wie lautet denn der befehl den ich da einbauen muss ich habs versucht mit:
Code: [AUSKLAPPEN] if x = 0 then stop
aber dann hat halt natürlich auch das ganze programm gestoppt. ![]() zum veranschaulichen was ich meine: Code: [AUSKLAPPEN] Graphics 1280, 1024, 32, 1
SetBuffer BackBuffer() Dim sterne (999,1) ;array anlegen For i = 0 To 999 sterne(i,0) = Rand(1280) ;x-achse sterne(i,1) = Rand(1024) ;y-achse Next Global Oval_x = 565 ;startposition ufo auf x-achse Global Oval_y = 487 ;startposition ufo auf y-achse Global Oval2_x = 615 ;startposition ufohaube auf x-achse Global Oval2_y = 462 ;startposition ufohaube auf y-achse Repeat ;schleife wird eröffnet Cls If KeyDown(203) Then Oval2_x = Oval2_x -2 ; If KeyDown(205) Then Oval2_x = Oval2_x +2 ; If KeyDown(200) Then Oval2_y = Oval2_y -2 ; If KeyDown(208) Then Oval2_y = Oval2_y +2 ; ; steuerung des ufos mit haube per pfeiltasten If KeyDown(203) Then Oval_x = Oval_x - 2 ; If KeyDown(205) Then Oval_x = Oval_x + 2 ; If KeyDown(200) Then Oval_y = Oval_y - 2 ; If KeyDown(208) Then Oval_y = Oval_y + 2 ; Color 255, 255, 255 For i = 0 To 999 Plot sterne(i,0), sterne(i,1) ;array auslesen sodass sternenhimmel angezeigt wird Next Color 255, 255, 0 Oval Oval2_x, Oval2_y, 50, 50, 1 ;ufohaube ausgeben Color 100, 100, 255 Oval Oval_x, Oval_y, 150, 50, 1 ;ufo ausgeben Flip Until KeyHit(1) |
||
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. |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zwei kleine Hinweise von meiner Seite:
Du kannst mehrere Befehle in einer Zeile ausführen, wenn du sie mit einem Doppelpunkt trennst, z.B. Code: [AUSKLAPPEN] If KeyDown(203) Then Oval2_x = Oval2_x -2 : Oval_x = Oval_x - 2
Was das eigentliche Problem angeht; du musst natürlich die Bedingung mit dem Zeichnen bzw. den Koordinaten fürs Zeichnen verknüpfen, woher soll der Computer denn wissen, was er zu lassen hat? WENN die x variable gleich oder kleiner null ist, DANN soll die x variable gleich ... (irgendwas, z.B. null) sein. Natürlich musst du das für alle Richtungen festlegen, aber das solltest du schaffen. |
||
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 THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Takashi Kenshin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ja hat funktioniert, war eigentlich ziemlich einfach.
Code: [AUSKLAPPEN] Graphics 1280, 1024, 32, 1
SetBuffer BackBuffer() Dim sterne (999,1) ;array anlegen For i = 0 To 999 sterne(i,0) = Rand(1280) ;x-achse sterne(i,1) = Rand(1024) ;y-achse Next Global Oval_x = 565 ;startposition ufo auf x-achse Global Oval_y = 487 ;startposition ufo auf y-achse Global Oval2_x = 615 ;startposition ufohaube auf x-achse Global Oval2_y = 462 ;startposition ufohaube auf y-achse Repeat ;schleife wird eröffnet Cls If KeyDown(203) Then Oval2_x = Oval2_x - 4 ; If KeyDown(205) Then Oval2_x = Oval2_x + 4 ; If KeyDown(200) Then Oval2_y = Oval2_y - 4 ; If KeyDown(208) Then Oval2_y = Oval2_y + 4 ; ; steuerung des ufos mit haube per pfeiltasten If KeyDown(203) Then Oval_x = Oval_x - 4 ; If KeyDown(205) Then Oval_x = Oval_x + 4 ; If KeyDown(200) Then Oval_y = Oval_y - 4 ; If KeyDown(208) Then Oval_y = Oval_y + 4 ; Color 255, 255, 255 For i = 0 To 999 Plot sterne(i,0), sterne(i,1) ;array auslesen sodass sternenhimmel angezeigt wird Next Color 255, 255, 0 Oval Oval2_x, Oval2_y, 50, 50, 1 ;ufohaube ausgeben If Oval2_x < 50 Then Oval2_x = 50 If Oval2_x > 1180 Then Oval2_x = 1180 If Oval2_y < 0 Then Oval2_y = 0 If Oval2_y > 950 Then Oval2_y = 950 Color 100, 100, 255 Oval Oval_x, Oval_y, 150, 50, 1 ;ufo ausgeben If Oval_x < 0 Then Oval_x = 0 If Oval_x > 1130 Then Oval_x = 1130 If Oval_y < 25 Then Oval_y = 25 If Oval_y > 974 Then Oval_y = 974 Flip Until KeyHit(1) |
||
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. |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Noch ein weiterer Hinweis:
Du kannst die Hälfte der Variablen sparen, wenn du nicht vor hast, ihre Relative Position zueinander zu verändern. Du beginnst ja wie folgt: Code: [AUSKLAPPEN] Global Oval_x = 565 ;startposition ufo auf x-achse
Global Oval_y = 487 ;startposition ufo auf y-achse Global Oval2_x = 615 ;startposition ufohaube auf x-achse Global Oval2_y = 462 ;startposition ufohaube auf y-achse Nun bleiben die Abstände ja konstant: Oval_x - Oval2_x = -50 Oval_y - Oval2_y = +25 Also stellst du alle Berechnungen nur mit einem von beiden Variablenpaaren an, und zeichnest beide Kreise mit den obigen relativen Abständen: Code: [AUSKLAPPEN] Color 255, 255, 0
Oval Oval2_x, Oval2_y, 50, 50, 1 ;ufohaube ausgeben Color 100, 100, 255 Oval (Oval2_x-50), (Oval2_y+25), 150, 50, 1 ;ufo ausgeben und: Die abfrage, ob das Ufo gezeichnet werden soll, sollte der Ordnung halber vor dem zeichnen geschehen... dahinter ist es ja eigentlich schon zu spät... Immer schön weitermachen ![]() |
||
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 THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Takashi Kenshin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
jep ist übersichtlicher so
als nächstes, was braucht man den alles um das ufo schießén lassen zu können? |
||
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. |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nun, am Sinnvollsten wäre es, wenn du ein wenig mit Types umgehen könntest. Schau dir erst mal ein Paar Tutorials dazu an. Wenn du damit grundsätzlich klar kommst, kannst du das in deinen Code integrieren. | ||
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 THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Takashi Kenshin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
gut wo find ich dazu tutorials? kenn bis jetzt nur den robs bb kurs 2 | ||
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. |
Gehe zu Seite Zurück 1, 2, 3 Weiter
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group