Heyho!
Ich habe folgenden Programmcode:
(Einbindung der Bibliotheken etc.)
typedef int wuerfelstellung[24];
(Ein Auszug (!) aus Class Wuerfel, der Konstruktor:smile:
class Wuerfel {
public:
wuerfelstellung temp;
Wuerfel() {
wuerfelstellung temp = {2,2,2,2,4,4,4,4,3,3,3,3,5,5,5,5,6,6,6,6,1,1,1,1};
//scramble();
}
}
Wie ihr seht, wird hier nur die Wuerfelstellung belegt, das Scramblen habe ich ja bewusst auskommentiert. So, nun habe ich zum Prüfen einfach einmal eine einfache Main-Routine geschrieben:
int main()
{
Wuerfel wuerfel;
bool ja = wuerfel.geloest();
if(ja)
{
coutin\_avail()); cin.get();
}
(So. Nun kommt noch Wuerfel::geloest()
bool Wuerfel::geloest()
{
if((temp[0]==2) && (temp[1]==2) && (temp[2]==2) && (temp[3]==2)
&& (temp[4]==4) && (temp[5]==4) && (temp[6]==4) && (temp[7]==4)
&& (temp[8]==3) && (temp[9]==3) && (temp[10]==3) && (temp[11]==3)
&& (temp[12]==5) && (temp[13]==5) && (temp[14]==5) && (temp[15]==5)
&& (temp[16]==6) && (temp[17]==6) && (temp[18]==6) && (temp[19]==6)
&& (temp[20]==1) && (temp[21]==1) && (temp[22]==1) && (temp[23]==1))
{
return true;
}
else
{
return false;
}
}
Das war soweit der relevante Quelltext. Wieso wird mir in Main() „Neeeeeein“ ausgegeben? Ich verändere ‚Temp‘ doch garnicht, und die Abfrage sollte doch genau bei dieser Stellung der Zahlen ein ‚True‘ zurückgeben.
hintergrund ist, dass ich mit meinem Rubik’s Cube Programm testen will, wann der Würfel fertig ist, dafür ist diese Funktion zuständig. Nur leider funktioniert sie nicht, könnt ihr mir sagen, warum??
Liebe Grüße & Dank
Shisu