Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » klasse[x][y] an funktion übergeben

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
01.01.2005, 14:33 Uhr
RedEagle



Ziel der Funktion, einen "Rahmen" um eine ASCII-Ziechen machen

C++:
void show_fight_area(Einheit einheit, Objekt ** area, Color background, Color text)
{
int x   = einheit.pos_x; //Position des Zeichens
int y   = einheit.pos_y;//       "
int max = einheit.Reichweite_bis; //Rahmen-dicke
int min = einheit.Reichweite_von; //     "
int bgc = background.fight_area; //Hintergrundfarbe
int tc  = text.fight_area; //textfarbe

for(int i = min; i <= max; i++)
{
  //Obere Reihe
  for(int j = x-i; i <= x+i; j++)
  {
   gotoxy(j,y-i); //Zur Position springen
   textcolor(tc);
   textbackground(bgc);
   cout << area[y-i][j].icon; //Das Zeichen ausgeben, das an der Stelle definiert ist, allerdings mit den Farben des Rahmens
  }
//..
}

//..

}



Beim testen habe ich das zu umrandende Zeichen in die Mitte des Fensters Platziert, sodass keine Negativbe Zahl rauskommen sollte
--
MFG RedEagle

Dieser Post wurde am 01.01.2005 um 14:34 Uhr von RedEagle editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
01.01.2005, 14:59 Uhr
Oliver
S2-Pixelgeneral


Hmm aber eigentlich sollte es gehen mit dem 2D-Array. Bist du dir sicher, dass du nicht die Arraygrenzen oder so überschritten hast?
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
02.01.2005, 13:01 Uhr
RedEagle



eigentlich bin ich mir sicher
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
02.01.2005, 13:42 Uhr
RedEagle




C++:
cout << area[y-i][j].icon;



Hier stürtzt das Programm ab.
Die Variablen haben zu diesem Zeitpunkt GENAU die Werte, die sie haben sollen (geprüft)

=> Es stimmt was nicht mit dem Array
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
02.01.2005, 16:32 Uhr
Oliver
S2-Pixelgeneral


Lol, eigentlich gehts ganz einfach ähnlich wie du es am Anfang hattest


C++:
#include <iostream>

using namespace std;


void foo(int array[2][2])
{
    cout << array[0][0] << '\n' << array[1][0] << '\n';

}

int main()
{

    int D2Array[2][2] = {0,1,2,3};
    foo(D2Array);
    cin.get();

    return 0;
}


--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
02.01.2005, 16:50 Uhr
RedEagle



Ich meine, ich hätte es auch ausprobiert, aber es ging nicht


Jedenfalls geht's jetzt

--
MFG RedEagle

Dieser Post wurde am 02.01.2005 um 16:50 Uhr von RedEagle editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: