funktion wird wert übergeben und hat in der funktion einen andere
-
hy
folgendes ich hab die funktion :bool stein_suche_richtung_W_NW_N_NO(feldzustand feldf[],int spiefeldspaltenorignal,int spielfeldspalten, int vereinfachungdate,int besetztvongegner,int besetztvonwerdranist, int endespielfeld);aufruf
Gestein=stein_suche_richtung_W_NW_N_NO(spielfeld,spielfeldspalten,spielfeldspalten,8,besetztvongegner,besetztvonwerdranist,leztestelle); bool stein_suche_richtung_W_NW_N_NO(feldzustand feldf[],int spiefeldspaltenorignal, int spielfeldspalten, int vereinfachungdate,int besetztvongegner,int besetztvonwerdranist,int endespielfeld) { if(spielfeldspalten<endespielfeld && feldf[spielfeldspalten]!=besetztvongegner && feldf[spielfeldspalten]==besetztvonwerdranist) { if(spielfeldspalten==(spiefeldspaltenorignal-vereinfachungdate)) { return false; } else { return true; } } if(spielfeldspalten<=endespielfeld) { return false; } stein_suche_richtung_W_NW_N_NO(feldf,spiefeldspaltenorignal,spielfeldspalten-vereinfachungdate,vereinfachungdate,besetztvongegner,besetztvonwerdranist,endespielfeld); }wenn ich mir in der funktion endespielfeld anzeige dan zeigt die immmer 2 dafür ein, ist igall was ich ihr übergebe.
was mach ich den da flasch ?
ich danke euch schon für eure mühe
-
Das wage ich zu bezweifeln, mach doch bitte ein ausführbares Minimalbeispiel, damit wir das auch mal testen können!
-
hy
#include <iostream> #include <fstream> #include <conio> #include <time> #include <stdio> #include <iomanip> #include <windows> #include <string> using namespace std; enum feldzustand{ unbesetzt, besetztvonspieler1, besetztvonspieler2 }; bool stein_suche_richtung_W_NW_N_NO(feldzustand feldf[],int spiefeldspaltenorignal,int spielfeldspalten, int vereinfachungdate,int besetztvongegner,int besetztvonwerdranist, int endespielfeld); void main() { static const int spielfeldspalten = 64; int gestein; enum feldzustand spielfeld[ spielfeldspalten ]; for(int i=0;i<64;i++) { spielfeld[i]=unbesetzt; } spielfeld[27]=besetztvonspieler1; spielfeld[28]=besetztvonspieler1; spielfeld[35]=besetztvonspieler2; spielfeld[36]=besetztvonspieler2; cout << " es wird fuer spiefeldspalten 43 uebergeben und fuer endespielfeld 11 fuer diesen fall sollte gestein true sein " << endl ; getch(); gestein=stein_suche_richtung_W_NW_N_NO(spielfeld,spielfeldspalten,spielfeldspalten,8,besetztvonspieler2,besetztvonspieler1,11); cout << gestein ; getch(); } bool stein_suche_richtung_W_NW_N_NO(feldzustand feldf[],int spiefeldspaltenorignal, int spielfeldspalten, int vereinfachungdate,int besetztvongegner,int besetztvonwerdranist,int endespielfeld) { cout << endl ; cout << "endespielfeld " << besetztvongegner << endl; if(spielfeldspalten<endespielfeld && feldf[spielfeldspalten]!=besetztvongegner && feldf[spielfeldspalten]==besetztvonwerdranist) { if(spielfeldspalten==(spiefeldspaltenorignal-vereinfachungdate)) { return false; } else { return true; } } if(spielfeldspalten<=endespielfeld) { return false; } stein_suche_richtung_W_NW_N_NO(feldf,spiefeldspaltenorignal,spielfeldspalten-vereinfachungdate,vereinfachungdate,besetztvongegner,besetztvonwerdranist,endespielfeld); }so ihr seht was passiert
und ich verstehe es nicht
programmier mit borland builder 5.0 standard
-
hy
so mein dummheit geht grad gegen unendlich
cout << "endespielfeld " << besetztvongegner
wenn wissen will was inder variable endespielfeld drin ist sollte man diese sich ausgeben lassrn und nicht besetztvongegner
jetzt stimmt es