
Und wieso schreibst du vor deinen Kommentar "Docstring:" ? ^^
Man sollte nicht unbedingt mischen; also wenn Englisch, dann alles. Allerdings kommt es dabei ja schon auch auf den Adressaten an. Wenn das ganze nur ein interner Projekt sein soll, geht imho auch komplett deutsch.MC_MO hat geschrieben: Soll ich auch Objekte auf Englisch bezeichnen? Und besser alles groß/alles klein/Große Anfangsbuchstaben etc... was findet ihr am besten?
Ich meinte auch eher die eigenen Objektelunar hat geschrieben:@Hyperion: Wenn man „nicht mischen“ sollte, bleibt einem gar nichts anderes, als nur Englisch zu verwenden. Die Standardbibliothek gibts nicht in Deutsch![]()
Schleife oder Funktion fallen mir jetzt spontan bei dem Begriff "Wiederholung" aufMC_MO hat geschrieben:So mein Code ist jetzt schon auf über 1000 Zeilen angestiegen, sieht aber schon viel ordentlicher aus. Wisst ihr eine Abhilfe für den Bewegungsablauf? Der is halt echt extrem lang und wiederholt sich bis auf ein paar Zeichen dauernd, kann man da nichts mahcen?
Dann lagere doch die sich ändernden, aber zusammengehörigen Werte in einer Datenstruktur, die Du dann eben in einer Funktion verarbeitest.MC_MO hat geschrieben:Naja Funktionen hab ich ja so weit wie möglich verwendet, das Problem ist halt dass sich die Geschwindigkeit des Rotors sehr oft ändert, um einen realistischen Bewegungsablauf zu zeigen...
Code: Alles auswählen
for i in range (50):
rate(25)
hauptarm.rotate(angle=radians(-0.6),
axis=(-1,0,0),
origin=(0,2.5,0))
Fahrtbewegung()
Und was spricht gegen eine Funktion, die diese 2 Parameter entgegennimmt?!MC_MO hat geschrieben:Es verändert sich nur die Dauer "range" und die Drehgeschwindigkeit "angle=radians".
Code: Alles auswählen
# inner tuple: (count, angle)
move_data = (
(50, -0.6),
(45, 0.3),
...
)
# irgend wann dann eben so was:
for move in move_data:
do_move(*move)
Code: Alles auswählen
def move(x,y)
for i in range (x):
rate(25)
hauptarm.rotate(angle=radians(y),
axis=(-1,0,0),
origin=(0,2.5,0))
Fahrtbewegung()
#beimFahren dann:
move(50,-0.6)
move(70,-0.8)
#und so weiter
Code: Alles auswählen
class Stair:
def __init__ (self):
Stair=list()
Code: Alles auswählen
bench_1.rotate(angle=0*pi/3,axis=(0,1,0))
bench_2.rotate(angle=1*pi/3,axis=(0,1,0))
bench_3.rotate(angle=2*pi/3,axis=(0,1,0))
bench_4.rotate(angle=3*pi/3,axis=(0,1,0))
bench_5.rotate(angle=4*pi/3,axis=(0,1,0))
bench_6.rotate(angle=5*pi/3,axis=(0,1,0))
Code: Alles auswählen
"""Motion"""
while True:
time.sleep(5)
move_spider(1,0.1)
move_spider(2,0.2)
move_spider(3,0.3)
move_spider(4,0.4)
# usw.
Code: Alles auswählen
PILLAR_1=box(pos=(310,-660,-230),
length=30,
width=30,
height=1500,
color=(0.8,0.8,0.8),
material=materials.emissive)
Code: Alles auswählen
{
"box_mitte": {
"type": "box"
"pos": [310,-660,-230],
"length": 30,
"width": 30,
"height": 1500,
"color": [0.8, 0.8, 0.8],
"material": "emissive"
},
...
}
Code: Alles auswählen
import json
def load_data(filename):
with open(filename, "r") as infile:
scene = json.load(infile)
return scene
def create_scene():
create_funcs = {
"box": create_box,
"sphere": create_sphere,
# usw.
}
# hier ein Dictionary für die fertigen Objekte
objects = {}
scene_data = load_data("scene.json")
for name, values in scene_data.iteritems():
objects[name] = create_funcs[values["type"]](**values)
return objects
Code: Alles auswählen
{
"sphere_aussen": {
"type": "sphere",
"pos"= [0, -1615, 0],
"radius": 15000,
"color": [0, 0, 0.5]
"rotations": [
{
"angle": ...
},
usw.
]
}
}
Code: Alles auswählen
{
"scenery": {
hier dann alle Daten für die Scene
},
"schriftzug": {
hier alles für diesen High enegery Text
},
usw.!
}