villeicht ne schleife? :D
Übersicht

fatzzkeBetreff: villeicht ne schleife? :D |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Die Zahl x geht immer um 30 runter
und die Zahl px geht jeweils immer eins rauf Das kann man doch bestimmt besser lösen als jede Zahl einzelnd reinzuschreiben? ^^ if x = 270 px = 1 if x = 240 px = 2 if x = 210 px = 3 ...... if x = -30 px = 11 |
||
- Zuletzt bearbeitet von fatzzke am Sa, Jul 21, 2012 16:46, insgesamt einmal bearbeitet
BBPro2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ja, die lösung hast du auch schon selbst genannt: ne schleife
wenn ne zahl immer um 1 rauf geht ist ne naive schleife, sprich: Code: [AUSKLAPPEN] for px = 1 to 11 print px next jetzt wird px immer um 1 raufgezählt. willst du gleichzeitig dass x um 30 vermindert wird fängst du einfach mit dem startwert an und verminderst es dann in jedem schritt um 30, also Code: [AUSKLAPPEN] x = 270 for px = 1 to 11 print x print px ; nächste schleife vorbereiten, sprich x um 30 vermindern x = x - 30 next da die frage darauf hinweist, dass du noch ziemlich am anfang deiner karriere stehst hier noch ein nützlicher fakt der dir bisher vielleicht nicht bekannt war: jede schleife kann mit "step" so manipuliert werden, dass nicht um 1 sondern um mehr (oder negative werte) hochgezählt wird. z.b. Code: [AUSKLAPPEN] for x = 270 to -30 step -30 px = px + 1 print x print px next wäre ein alternativer ansatz bei dem x für die schleife verwendet wird und nicht px |
||
![]() |
aMulSieger des Minimalist Compo 01/13 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich bin mir nicht sicher ob BBPro2 die Frage richtig verstanden hat, wobei er sicherlich For-Schleifen Anfänger-gerecht erklärt.
Wenn ich die Frage richtig verstehe möchtest du eine Art mathematische Funktion schreiben, die px einen gewissen Wert zuweist, abhängig von x. Liege ich richtig ist "mathematische Funktion" hier das Stichwort. Was du zu suchen scheinst ist eine lineare Funktion die 270 den Wert 1 zuweist, und 240 den Wert 2. Die entsprechende Funktionsgleichung lässt sich finden indem wir einfach diese beiden Punkte ( (270, 1), (240, 2) ) in die allgemeine lineare Funktionsgleichung px = a*x + b einsetzten. Als Lösung kriegen wir a = -1/30 und b = 10, mit der resultierenden Gleichung px = x/(-30) + 10. Alternativ lässt sich das ganze natürlich auch mit If Abfragen lösen, wobei du dort dann die Parameter mit beschriebenen For-Schleifen durchlaufen kannst. Hast du dann den richtigen x Wert gefunden kannst du einfach mit Exit ![]() |
||
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans! Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aber auch das führt zur Lösung:
BlitzBasic: [AUSKLAPPEN] px = Int( (300-x) / 30 ) |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
BBPro2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ups es war spät als ich geantwortet hab ![]() |
||
fatzzke |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke ![]() Die mathematische funktion ist genau das was ich gesucht habe ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group