Objekte mit For-Schleife fortlaufend initialisieren

defender1980
Hallo,
möcjte mehrere Objekte mit einer For-Schleife fortlaufend initialisieren, leider scheint es nicht so recht zu funktionieren.
Mein Code sieht folgendermaßen aus:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
for(i=1; i<=44; i++)
	{
		tiltmodel[i] = getent ("kippteil[i]", "targetname");
	}



hab ich irgendwie einen Denkfehler gemacht?
steinacker
weiss zwar nich was du damit machen willst,
aber versuch das mal:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
for(i=1; i<=44; i++)
{
	tiltmodel = getent (kippteil[i], "targetname");
}



somit bekommt deine variable tiltmodel jedesmal eine anderes kippteil
defender1980
das schon, leider muss ich die Kippteile nach der jeweiligen Ausrichtung unterscheiden. Somit müsste ich die Zuweisung eben genau so halten.

Problem bei der Sache:
Im Nachfolgenden Programmteil werden die Variablen als nicht deklariert verworfen.

Viielleicht sollte ich den definierten Wert am Ende der For-Schleife wieder mit einem return zurückgeben.

Die Programmiersprache ist zwar an C/C++ angelegt, differenziert jedoch meiner Meinung nach schon an den Grundlagen.

Die Zugewiesenen Variablen sollten doch eigentlich auch ausserhalb der For-Schleife lebendig und nutzbar sein.

Der komplette Code sieht so aus:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
main()
{
	while (1)
	{ 
		thread ttt (30, -30, 30, -30, 10);
		wait(30); 

		thread ttt (0, 0, 0, 0, 10);
		thread mtt (10);
		wait(30);

		thread ttt (-30, 30, -30, 30, 10);
		thread mtt (10);
		wait(30);

		thread ttt (0, 0, 0, 0, 10);
		thread mtt (10);
		wait(30); 
	}
}

ttt (a1, a2, b1, b2, speed)		//tilt this thing
{
	/*for(i=1; i<=44; i++)
	{
		gantrymodel[i] = getent ("kippteil[i]", "targetname"); //dieser Abschnitt funktioniert nicht!!
	}
	*/ //so geht´s!
	gantrymodel1 = getent ("kippteil1", "targetname");
	gantrymodel2 = getent ("kippteil2", "targetname");
	gantrymodel3 = getent ("kippteil3", "targetname");
	gantrymodel4 = getent ("kippteil4", "targetname");
	gantrymodel5 = getent ("kippteil5", "targetname");
	gantrymodel6 = getent ("kippteil6", "targetname");
	gantrymodel7 = getent ("kippteil7", "targetname");	
	gantrymodel8 = getent ("kippteil8", "targetname");
	gantrymodel9 = getent ("kippteil9", "targetname");
	gantrymodel10 = getent ("kippteil10", "targetname");
	gantrymodel11 = getent ("kippteil11", "targetname");
	gantrymodel12 = getent ("kippteil12", "targetname");
	gantrymodel13 = getent ("kippteil13", "targetname");
	gantrymodel14 = getent ("kippteil14", "targetname");
	gantrymodel15 = getent ("kippteil15", "targetname");
	gantrymodel16 = getent ("kippteil16", "targetname");	
	gantrymodel17 = getent ("kippteil17", "targetname");
	gantrymodel18 = getent ("kippteil18", "targetname");
	gantrymodel19 = getent ("kippteil19", "targetname");
	gantrymodel20 = getent ("kippteil20", "targetname");
	gantrymodel21 = getent ("kippteil21", "targetname");
	gantrymodel22 = getent ("kippteil22", "targetname");
	gantrymodel23 = getent ("kippteil23", "targetname");
	gantrymodel24 = getent ("kippteil24", "targetname");
	gantrymodel25 = getent ("kippteil25", "targetname");
	gantrymodel26 = getent ("kippteil26", "targetname");
	gantrymodel27 = getent ("kippteil27", "targetname");
	gantrymodel28 = getent ("kippteil28", "targetname");
	gantrymodel29 = getent ("kippteil29", "targetname");
	gantrymodel30 = getent ("kippteil30", "targetname");
	gantrymodel31 = getent ("kippteil31", "targetname");
	gantrymodel32 = getent ("kippteil32", "targetname");
	gantrymodel33 = getent ("kippteil33", "targetname");
	gantrymodel34 = getent ("kippteil34", "targetname");	
	gantrymodel35 = getent ("kippteil35", "targetname");
	gantrymodel36 = getent ("kippteil36", "targetname");
	gantrymodel37 = getent ("kippteil37", "targetname");
	gantrymodel38 = getent ("kippteil38", "targetname");
	gantrymodel39 = getent ("kippteil39", "targetname");
	gantrymodel40 = getent ("kippteil40", "targetname");
	gantrymodel41 = getent ("kippteil41", "targetname");
	gantrymodel42 = getent ("kippteil42", "targetname");
	gantrymodel43 = getent ("kippteil43", "targetname");
	gantrymodel44 = getent ("kippteil44", "targetname");
	
	
	gantrymodel1 Rotateto ((gantrymodel1.angles[0], gantrymodel1.angles[1], a1), speed);
	gantrymodel2 Rotateto ((gantrymodel2.angles[0], gantrymodel2.angles[1], a1), speed);
	gantrymodel3 Rotateto ((gantrymodel3.angles[0], gantrymodel3.angles[1], a1), speed);
	gantrymodel4 Rotateto ((gantrymodel4.angles[0], gantrymodel4.angles[1], a1), speed);
	gantrymodel5 Rotateto ((gantrymodel5.angles[0], gantrymodel5.angles[1], a1), speed);
	gantrymodel6 Rotateto ((gantrymodel6.angles[0], gantrymodel6.angles[1], a1), speed);
	gantrymodel7 Rotateto ((gantrymodel7.angles[0], gantrymodel7.angles[1], a1), speed);
	gantrymodel8 Rotateto ((gantrymodel8.angles[0], gantrymodel8.angles[1], a1), speed);
	gantrymodel9 Rotateto ((gantrymodel9.angles[0], gantrymodel9.angles[1], a1), speed);
	gantrymodel10 Rotateto ((gantrymodel10.angles[0], gantrymodel10.angles[1], a1), speed);
	gantrymodel11 Rotateto ((gantrymodel11.angles[0], gantrymodel11.angles[1], a2), speed);
	gantrymodel12 Rotateto ((gantrymodel12.angles[0], gantrymodel12.angles[1], a2), speed);
	gantrymodel13 Rotateto ((gantrymodel13.angles[0], gantrymodel13.angles[1], a2), speed);
	gantrymodel14 Rotateto ((gantrymodel14.angles[0], gantrymodel14.angles[1], a2), speed);
	gantrymodel15 Rotateto ((gantrymodel15.angles[0], gantrymodel15.angles[1], a2), speed);
	gantrymodel16 Rotateto ((gantrymodel16.angles[0], gantrymodel16.angles[1], a2), speed);
	gantrymodel17 Rotateto ((gantrymodel17.angles[0], gantrymodel17.angles[1], a2), speed);
	gantrymodel18 Rotateto ((gantrymodel18.angles[0], gantrymodel18.angles[1], a2), speed);
	gantrymodel19 Rotateto ((gantrymodel19.angles[0], gantrymodel19.angles[1], a2), speed);
	gantrymodel20 Rotateto ((gantrymodel20.angles[0], gantrymodel20.angles[1], a2), speed);
	gantrymodel21 Rotateto ((b1, gantrymodel21.angles[1], gantrymodel21.angles[2]), speed);
	gantrymodel22 Rotateto ((b1, gantrymodel22.angles[1], gantrymodel22.angles[2]), speed);
	gantrymodel23 Rotateto ((b1, gantrymodel23.angles[1], gantrymodel23.angles[2]), speed);
	gantrymodel24 Rotateto ((b1, gantrymodel24.angles[1], gantrymodel24.angles[2]), speed);
	gantrymodel25 Rotateto ((b1, gantrymodel25.angles[1], gantrymodel25.angles[2]), speed);
	gantrymodel26 Rotateto ((b1, gantrymodel26.angles[1], gantrymodel26.angles[2]), speed);
	gantrymodel27 Rotateto ((b1, gantrymodel27.angles[1], gantrymodel27.angles[2]), speed);
	gantrymodel28 Rotateto ((b1, gantrymodel28.angles[1], gantrymodel28.angles[2]), speed);
	gantrymodel29 Rotateto ((b1, gantrymodel29.angles[1], gantrymodel29.angles[2]), speed);
	gantrymodel30 Rotateto ((b1, gantrymodel30.angles[1], gantrymodel30.angles[2]), speed);
	gantrymodel31 Rotateto ((b1, gantrymodel31.angles[1], gantrymodel31.angles[2]), speed);
	gantrymodel32 Rotateto ((b1, gantrymodel32.angles[1], gantrymodel32.angles[2]), speed);
	gantrymodel33 Rotateto ((b1, gantrymodel33.angles[1], gantrymodel33.angles[2]), speed);
	gantrymodel34 Rotateto ((b2, gantrymodel34.angles[1], gantrymodel34.angles[2]), speed);
	gantrymodel35 Rotateto ((b2, gantrymodel35.angles[1], gantrymodel35.angles[2]), speed);
	gantrymodel36 Rotateto ((b2, gantrymodel36.angles[1], gantrymodel36.angles[2]), speed);
	gantrymodel37 Rotateto ((b2, gantrymodel37.angles[1], gantrymodel37.angles[2]), speed);
	gantrymodel38 Rotateto ((b2, gantrymodel38.angles[1], gantrymodel38.angles[2]), speed);
	gantrymodel39 Rotateto ((b2, gantrymodel39.angles[1], gantrymodel39.angles[2]), speed);
	gantrymodel40 Rotateto ((b2, gantrymodel40.angles[1], gantrymodel40.angles[2]), speed);
	gantrymodel41 Rotateto ((b2, gantrymodel41.angles[1], gantrymodel41.angles[2]), speed);
	gantrymodel42 Rotateto ((b2, gantrymodel42.angles[1], gantrymodel42.angles[2]), speed);
	gantrymodel43 Rotateto ((b2, gantrymodel43.angles[1], gantrymodel43.angles[2]), speed);
	gantrymodel44 Rotateto ((b2, gantrymodel44.angles[1], gantrymodel44.angles[2]), speed);
}

OLD MAN WITH GUN

Zitat:

Original von defender1980
Mein Code sieht folgendermaßen aus:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
for(i=1; i<=44; i++)
	{
		tiltmodel[i] = getent ("kippteil[i]", "targetname");
	}



hab ich irgendwie einen Denkfehler gemacht?


tiltmodel[i] = getent ("kippteil"+i, "targetname");

Hab es jetzt nicht getestet, sollte aber gehen.
defender1980
hab´s entsprechend geändert, leider ohne erfolg


die frage ist nur: wiso???
steinacker
wiezo...
noja, der kennt dein ganrtymodel1 nicht <-- nicht inialisiert
wenn, dann kennt er gantrymodel[i]<-- das model an der "i-ten" stelle

pack doch die zeile auch noch mit rein in deine for-schleife
gantrymodel1 Rotateto ((gantrymodel1.angles[0], gantrymodel1.angles[1], a1), speed);


Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
for(i=1; i<=44; i++)
{
	gantrymodel[i] = getent ("kippteil"+i, "targetname");
	gantrymodel[i] Rotateto ((gantrymodel[i].angles[0], gantrymodel[i].angles[1], a1), speed);
}

OLD MAN WITH GUN

Zitat:

Original von defender1980
hab´s entsprechend geändert, leider ohne erfolg


die frage ist nur: wiso???
Hab mir deinen script nochmal weiter angeschaut.

Du definerst mit der for-Schleife ein array, nämlich gantrymodel[].
gantrymodel1 ist aber kein Bestandteil des arrays gantrymodel[] sondern ein eignständiges Element.
gantrymodel1 != gantrymodel[1]

Es muss also folgendermaßen lauten:
gantrymodel[1] Rotateto ((gantrymodel[1].angles[0], gantrymodel[1].angles[1], a1), speed);
gantrymodel[2] Rotateto ((gantrymodel[2].angles[0], gantrymodel[2].angles[1], a1), speed);

usw.
steinacker

Zitat:

Original von OLD MAN WITH GUN

Du definerst mit der for-Schleife ein array, nämlich gantrymodel[].
gantrymodel1 ist aber kein Bestandteil des arrays gantrymodel[] sondern ein eignständiges Element.
gantrymodel1 != gantrymodel[1]

Es muss also folgendermaßen lauten:
gantrymodel[1] Rotateto ((gantrymodel[1].angles[0], gantrymodel[1].angles[1], a1), speed);
gantrymodel[2] Rotateto ((gantrymodel[2].angles[0], gantrymodel[2].angles[1], a1), speed);

usw.


und um das usw. zu sparen kann er doch die zeile, so wie ich das gepoustet hab mit in die schleife reinpacken

gantrymodel[i] Rotateto ((gantrymodel[i].angles[0], gantrymodel[i].angles[1], a1), speed);
OLD MAN WITH GUN

Zitat:

Original von steinacker
und um das usw. zu sparen kann er doch die zeile, so wie ich das gepoustet hab mit in die schleife reinpacken
Dann schau dir mal seine Rotatebefehle genauer an Augenzwinkern
Das ist ja nicht immer der selbe Rotatebefehl. Darum macht er es ja nicht so.
defender1980
Danke euch beiden, werde es morgen mal ändern und probieren.