kostenloser Webspace werbefrei: lima-city


"Spieleprogrammieren in C++" projekt?

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.

    Manche von euhc k?nnen sich vllt. ncoh dran erinnern:
    Ich will C++ spiele machn :D

    Dann ahb cih mir dieses Buch gekauft:
    http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-464?GalileoSession=04473111A2UNT4gLxFk
    und der Autor beschreibt herzlich wenig ?ber die Entwicklungsumgebung(Visual C++ 6.0)
    Also frag cigh mcih doch, was f?r ein Projekt ich erstellen soll.
    Ich denke, es ist eine MFC Anwendung.
    Doch wenn er in die Datei ansicht wechseld, hat er einen Ordner namens "Microsoft".
    Ich ahb schon alles probiert, dohc den Ordner gibts bei mir einfach nicht.

    Ich hoff ma, einer von euhc hats mal Gelesen :wink:


    PS: N Forum f?r das Buch gibts nat?rlich auch.
    Aber da Antwortet mir keine
    :slant:
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. t****y

    Computerspiele haben sich l?ngst etabliert; Spieleprogrammierung ist in.
    Ulrich Kaiser wendet sich mit seiner Einf?hrung in die Spieleprogrammierung an Leser mit soliden C++-Grundkenntnissen. Sein Buch ist projektorientiert und behandelt in drei Teilen 2D-, 3D- und Netzwerkspiele. Fangen Sie an zu spielen!

    Das steht da zu dem Buch, also werden Grundkenntnisse ben?tigt!
    Ich rate dir dann diese erstmal anzueignen, zudem darfst du anfangs auch nicht viel erwarten, weil c++ hat es ganz sch?n in sich.
    Wende dich dann ggf. mal an die Leute in dem Forum von dem Buch.

    Es gibt doch sicherlich auch f?r c++ ein paar Einsteigertutorials, also wirst du bei google bestimmt auch was finden. Bei deinem Buch wird hat schon etwas vorrausgesetzt!

    Viel Gl?ck!
  4. Autor dieses Themas

    benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.

    ich habe vorkenntnisse.
    Aber es gibt SEHR VIELE Einstellungen beim erstellen eines Neuen MFC projekts.
    Und den Microsoft Ordner kann ich auch ncih einfach so herzeubern.
  5. Scheiss doch auf selbst proggen einer Engine ich empfehlt dir ganz drinegnd die Acknex 6 von Conitec. Echt Spitze! Leistungsf?hig und billig. Die Programier sprache lehnt an C an und is super einfach zu lernen. die Commercial version der Engine die ich empfehlen w?rde kostet 200€ und unterst?tzt nahezu alle features die die engine in sich hat. Und f?r den rest gibts plugins. Und f?r die harten jungs(und m?dls ;-)) gibts dann auch noch die Pro version f?r 1000€ier aber davor w?rd ich lieber mit der Com spielen. Losgehts hau rein Lude! :D
    Greetz Shoebox
  6. Autor dieses Themas

    benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.



    shoebox schrieb:
    Scheiss doch auf selbst proggen einer Engine ich empfehlt dir ganz drinegnd die Acknex 6 von Conitec. Echt Spitze! Leistungsf?hig und billig. Die Programier sprache lehnt an C an und is super einfach zu lernen. die Commercial version der Engine die ich empfehlen w?rde kostet 200? und unterst?tzt nahezu alle features die die engine in sich hat. Und f?r den rest gibts plugins. Und f?r die harten jungs(und m?dls ;-)) gibts dann auch noch die Pro version f?r 1000?ier aber davor w?rd ich lieber mit der Com spielen. Losgehts hau rein Lude! :D
    Greetz Shoebox

    O.?
    ich hab aber erw?hnt, dass ich bettelarm bin?^^
    Ich hab keine Kohle f?r son Zeug.
    Und auch keien Zeit jetzt ncohma mit was neuem anzufangen.
  7. Hmmm wird in dem Buch beschrieben mit welchem Compiler das ganze kompiliert wurde? Wenn nicht w?rde ich sagen kein MFC nutzen. Ich w?rde eh davon abraten da du in der Spiele- Programmierung mit DX oder GL nix von den Vorz?gen der MFC hast. Mach ne einfache Win32 Anwendung und erstelle nen Fenster mehr brauchst du eigentlich net oder guck doch einfach auf die beiliegende CD da soll doch der Quellcode sein bzw. die Projekte da wirst ja sehn ob die MFC mit drin is.
  8. Autor dieses Themas

    benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.

    wie...ein Fenster machen?
    Ich hab bisher nur mit "normalen" WIn32 Anwendungen gearbeitet.
    Doch dort hab cih nie was von Grafiken oder ?hnlichem gesehn.
    So 2D solltes am Ende schon sein.



    PS: Der Compiler ist Visual C++ von MS.
  9. Du wirst doch wissen wie Fenster ohne MFC machst?

    Erst mal ne WinMain machen also net:
    void Main(int argv, char *argc[])
    sondern:
    WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
    {
    return 0;
    }

    dann halt ne WNDCLASS anlegen und mit RegisterClass registrieren. :) daswirst doch schon gemacht haben oder?

  10. Autor dieses Themas

    benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.



    funkdoobiest schrieb:
    Du wirst doch wissen wie Fenster ohne MFC machst?

    Erst mal ne WinMain machen also net:
    void Main(int argv, char *argc[])
    sondern:
    WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
    {
    return 0;
    }

    dann halt ne WNDCLASS anlegen und mit RegisterClass registrieren. :) daswirst doch schon gemacht haben oder?


    naja...n?.
    ICh habe nur ein Buch. Un darum geht es eben ums...ganze^^
    Also eben NUR C++. kein Design oder sonstiges. Nur Textbasierende Win32 Anwendungen^^
    Daher hab cih davon eher weniger Ahnung.
  11. Autor dieses Themas

    benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.



    funkdoobiest schrieb:
    Du wirst doch wissen wie Fenster ohne MFC machst?

    Erst mal ne WinMain machen also net:
    void Main(int argv, char *argc[])
    sondern:
    WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
    {
    return 0;
    }

    dann halt ne WNDCLASS anlegen und mit RegisterClass registrieren. :) daswirst doch schon gemacht haben oder?



    nur mal angenommen, ich mach ne ganz normale Win32Anwendung und shcreib blo?:

    int WinMain()
    {
    return 0;
    }
    Dann sagt er:

    LIBCD.lib(crt0.obj) : error LNK2001: Nichtaufgeloestes externes Symbol _main


    Und noch:

    Debug/new3.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise

    Wo ist da der Fehler? muss ich noch weitere sachen angeben?
  12. Das liegt daran das es diese Main- Funktion nicht gibt. Die WinMain MUSS immer so aussehen:

    int WinMain(
    HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
    int nCmdShow
    )
    {
    return 0;
    }

    oder

    int WINAPI WinMain(
    HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
    int nCmdShow
    )
    {
    return 0;
    }

    Aso und druf achten das wenn du ein neues Projeckt anlegst eine "Win32 Application" machst KEINE "Win32 Console Application"(Hattest ja VC++?)

    PS: Aso nat?rlich musst du auch windows.h includen.

    Beitrag ge?ndert am 31.12.2005 13:41 von funkdoobiest
  13. Autor dieses Themas

    benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.



    funkdoobiest schrieb:
    Das liegt daran das es diese Main- Funktion nicht gibt. Die WinMain MUSS immer so aussehen:

    int WinMain(
    HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
    int nCmdShow
    )
    {
    return 0;
    }

    oder

    int WINAPI WinMain(
    HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
    int nCmdShow
    )
    {
    return 0;
    }

    Aso und druf achten das wenn du ein neues Projeckt anlegst eine 'Win32 Application' machst KEINE 'Win32 Console Application'(Hattest ja VC++?)

    PS: Aso nat?rlich musst du auch windows.h includen.

    Beitrag ge?ndert am 31.12.2005 13:41 von funkdoobiest

    verdammt-.-
    Ich hab immer ne Konsolenanwendung genommen xD

    Aber, wenn cih ne Win32 ANwendung aufmach(diesmal keine Konsolenanwendung)
    Und deinen Geposteten quellcode eingeb, dann gibts 5 Fehler:


    C:\Programme\C++\MSDev98\MyProjects\neu\neu.cpp(9) : error C2065: 'HINSTANCE' : nichtdeklarierter Bezeichner
    C:\Programme\C++\MSDev98\MyProjects\neu\neu.cpp(9) : error C2146: Syntaxfehler : Fehlendes ')' vor Bezeichner 'hInstance'
    C:\Programme\C++\MSDev98\MyProjects\neu\neu.cpp(13) : error C2059: Syntaxfehler : ')'
    C:\Programme\C++\MSDev98\MyProjects\neu\neu.cpp(14) : error C2143: Syntaxfehler : Fehlendes ';' vor '{'
    C:\Programme\C++\MSDev98\MyProjects\neu\neu.cpp(14) : error C2447: Funktionskopf fehlt - Parameterliste im alten Stil?


    Ich hab <iostream> includiert.
    Was is daran Falsch?
  14. Hier einfach mal das Grundger?st einer Fensteranwendung kannst ja mal durchgucken und wenn was net Klar ist fragen:

    #include <windows.h>
    
    LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
    
    HINSTANCE hiGInst;
    
    int WINAPI WinMain(HINSTANCE hi, HINSTANCE his, LPSTR cmd, int count)
    {
    hiGInst = hi;
    HWND hWnd;
    MSG msg;
    WNDCLASS wc;
    memset(&wc,NULL,sizeof(WNDCLASS));
    wc.style = CS_VREDRAW | CS_HREDRAW;
    wc.lpfnWndProc = WindowProc;
    wc.hInstance = hi;
    wc.hIcon = LoadIcon(NULL,IDI_APPLICATION);
    wc.hCursor = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = CreateSolidBrush(GetSysColor(COLOR_BTNFACE));
    wc.lpszClassName = "MeineFensterKlasse";
    
    if(!RegisterClass(&wc))
    	MessageBox(NULL,"Fehler beim registrieren der Klasse.","Fehler",MB_OK|MB_ICONERROR);
    
    hWnd = CreateWindow("MeineFensterKlasse","Huhu",WS_VISIBLE | WS_SYSMENU,
    					CW_USEDEFAULT,
    					CW_USEDEFAULT,
    					CW_USEDEFAULT,
    					CW_USEDEFAULT,
    					NULL,
    					NULL,
    					hi,
    					NULL);
    
    if(hWnd)
    	ShowWindow(hWnd, SW_SHOW);
    UpdateWindow(hWnd);
    
    while(GetMessage(&msg,NULL,NULL,0))
    {	
    	TranslateMessage(&msg);
    	DispatchMessage(&msg);
    }
    return msg.wParam;
    }
    
    LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
    {
    	PAINTSTRUCT ps;
    	HDC dc;
    	switch(uMsg)
    	{
    	case WM_PAINT:
    		dc = BeginPaint(hWnd,&ps);
    		EndPaint(hWnd,&ps);
    		return 0;
    	case WM_DESTROY:
    		PostQuitMessage(NULL);
    		return 0;
    	case WM_CREATE:
    		return 0;
    	}
    return DefWindowProc(hWnd, uMsg, wParam, lParam);
    }


    Beitrag ge?ndert am 1.01.2006 19:41 von funkdoobiest
  15. Autor dieses Themas

    benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.


    funkdoobiest schrieb:
    Hier einfach mal das Grundger?st einer Fensteranwendung kannst ja mal durchgucken und wenn was net Klar ist fragen:

    #include <windows.h>
    
    LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
    
    HINSTANCE hiGInst;
    
    int WINAPI WinMain(HINSTANCE hi, HINSTANCE his, LPSTR cmd, int count)
    {
    hiGInst = hi;
    HWND hWnd;
    MSG msg;
    WNDCLASS wc;
    memset(&wc,NULL,sizeof(WNDCLASS));
    wc.style = CS_VREDRAW | CS_HREDRAW;
    wc.lpfnWndProc = WindowProc;
    wc.hInstance = hi;
    wc.hIcon = LoadIcon(NULL,IDI_APPLICATION);
    wc.hCursor = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = CreateSolidBrush(GetSysColor(COLOR_BTNFACE));
    wc.lpszClassName = 'MeineFensterKlasse';
    
    if(!RegisterClass(&wc))
    	MessageBox(NULL,'Fehler beim registrieren der Klasse.','Fehler',MB_OK|MB_ICONERROR);
    
    hWnd = CreateWindow('MeineFensterKlasse','Huhu',WS_VISIBLE | WS_SYSMENU,
    					CW_USEDEFAULT,
    					CW_USEDEFAULT,
    					CW_USEDEFAULT,
    					CW_USEDEFAULT,
    					NULL,
    					NULL,
    					hi,
    					NULL);
    
    if(hWnd)
    	ShowWindow(hWnd, SW_SHOW);
    UpdateWindow(hWnd);
    
    while(GetMessage(&msg,NULL,NULL,0))
    {	
    	TranslateMessage(&msg);
    	DispatchMessage(&msg);
    }
    return msg.message;
    }
    
    LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
    {
    	PAINTSTRUCT ps;
    	HDC dc;
    	switch(uMsg)
    	{
    	case WM_PAINT:
    		dc = BeginPaint(hWnd,&ps);
    		EndPaint(hWnd,&ps);
    		break;
    	case WM_DESTROY:
    		PostQuitMessage(NULL);
    		break;
    	case WM_CREATE:
    		break;
    	}
    return DefWindowProc(hWnd, uMsg, wParam, lParam);
    }


    Beitrag ge?ndert am 31.12.2005 14:25 von funkdoobiest

    Hast mir ja per PN gesagt, dass was falsch war.
    Hasts verbessert oder?
    geht auf jeden Fall perfekt...

    Noch was:
    Wie stelle ich sahcne wie z.b:
    Hindergrund(farbe,bild...)
    inhalt
    ...
    ein?






    EDIT:
    Das Scrript geht.
    Aber, wenn ich mich 30 Minuteb wegbegebe, dann kommt folgende Fehlermeldung:
    LINK : fatal error LNK1168: "Debug/projekt.exe" kann nicht zum Schreiben geoeffnet werden

    Und es kommen manchmal auch fehler, wenn ich den Rechner neustarte.

    Beitrag ge?ndert am 1.01.2006 17:55 von benutzernaemelchen
  16. Ja hat es hier auch noch schnell verbessert.
    Die Hintergrundfarbe wird in der WNDCLASS(hbrBackground) angegeben. Da das aber von Type HBRUSH is muss der Farbwert quasi in den Type umgewandelt werden:

    CreateSolidBrush(
    COLORREF crColor // brush color value
    );

    GetSysColor gibt die Systemfarben die du auf dem PC als deinen Standart hast zur?ck. COLOR_BTNFACE ist z.B.: Die Farbe des normalen Button.
    Man kann aber auch mit der Funktion RGB(...) ne Farbe bestimmen:

    RGB(
    BYTE bRed, // red component of color
    BYTE bGreen, // green component of color
    BYTE bBlue // blue component of color
    );

    Nen Bild ist bissel heikler. am besten macht man das mit BitBlt oder StretchBlt. So was geh?rt auch in die Messageverarbeitung in WM_PAINT:
    ...
    static HDC hdc;
    static HDC src;
    static HBITMAP hb;
    ...
    switch(uMsg)
    {
    ...
        case WM_PAINT:
            dc = BeginPaint(hWnd,&ps);
            hdc = GetDC(hWnd);
            src = CreateCompatibleDC(hdc);
            hb = (HBITMAP)LoadImage(NULL,"bild1.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
            SelectObject(src,hb);
            BitBlt(hdc,0,0,800,600,src,0,0,SRCCOPY);
            DeleteDC(src);
            DeleteObject(hb);
            EndPaint(hWnd,&ps);
            break;
    ...
    }
    
    //--------------------------------------------
    
    oder so
    
    //--------------------------------------------
    
    ...
    static HDC hdc;
    static HDC src;
    static HBITMAP hb;
    ...
    switch(uMsg)
    {
    ...
        case WM_PAINT:
            dc = BeginPaint(hWnd,&ps);
            src = CreateCompatibleDC(ps.hdc);
            hb = (HBITMAP)LoadImage(NULL,"bild1.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
            SelectObject(src,hb);
            BitBlt(ps.hdc,0,0,800,600,src,0,0,SRCCOPY);
            DeleteDC(src);
            DeleteObject(hb);
            EndPaint(hWnd,&ps);
            break;
    ...
    }


    Hmmm zu deinem Fehler komisch in der while- Schleife hast das GetMessage ja so ge?ndert wie ich gesagt hab nich? Ansonsten sieht das so aus als ob der die Anwendung net beendet... bei der Message WM_DESTROY hast ja PostQuitMessage(NULL); drin stehn oder?

    Beitrag ge?ndert am 1.01.2006 19:19 von funkdoobiest

    Beitrag ge?ndert am 1.01.2006 19:23 von funkdoobiest
  17. Ich empfehle dir auf die Microsoft Visual Dingster Compiler zu verzichten und lieber mit einfacheren zu arbeiten, die nicht solch komplizierte Compiler haben :slant: Ich programmiere z.B. unter den Borland BCC 5.5 Compiler ein Spiel und es geht super voran. Dort gibt es zwar keine Entwicklungsumgebung, aber der Compiler hat alles drauf und man muss nichts mit MFC machen.

    Die MFC ist schon veraltet. Ich w?rde darauf vollkommen verzichten. Du kannst ruhig, wenn du unter Windows programmierst, die WinAPI benutzen. Dann auf Linux empfehle ich OpenGL (nicht DirectX :biggrin: ) und QT.

    MfG Dominik
  18. e********l

    Nur weil man VStudio nutzt, muss man doch noch lange kein MFC nutzen. Seitdem M$ den Intel COmpiler Entwickler eingestellt hat, ist der VStudio compiler wesentlich besser geworden. Da gibts nicht zu meckern.

    Vllt. hast du aber auch bisher immer vergessen in den Einstellungen den MFC Shit zu deaktivieren ;)
  19. Autor dieses Themas

    benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.



    evil-devil schrieb:
    Nur weil man VStudio nutzt, muss man doch noch lange kein MFC nutzen. Seitdem M$ den Intel COmpiler Entwickler eingestellt hat, ist der VStudio compiler wesentlich besser geworden. Da gibts nicht zu meckern.

    Vllt. hast du aber auch bisher immer vergessen in den Einstellungen den MFC Shit zu deaktivieren ;)

    also...
    1.Hat auch niemand gesagt, dass es ne MFC sein MUSS.
    2.Hat sich scon herausgestellt, dass es keine Ist.



    bzw, an 0-checka:



    benutzernaemelchen schrieb:

    funkdoobiest schrieb:
    Hier einfach mal das Grundger?st einer Fensteranwendung kannst ja mal durchgucken und wenn was net Klar ist fragen:

    #include <windows.h>
    
    LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
    
    HINSTANCE hiGInst;
    
    int WINAPI WinMain(HINSTANCE hi, HINSTANCE his, LPSTR cmd, int count)
    {
    hiGInst = hi;
    HWND hWnd;
    MSG msg;
    WNDCLASS wc;
    memset(&wc,NULL,sizeof(WNDCLASS));
    wc.style = CS_VREDRAW | CS_HREDRAW;
    wc.lpfnWndProc = WindowProc;
    wc.hInstance = hi;
    wc.hIcon = LoadIcon(NULL,IDI_APPLICATION);
    wc.hCursor = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = CreateSolidBrush(GetSysColor(COLOR_BTNFACE));
    wc.lpszClassName = 'MeineFensterKlasse';
    
    if(!RegisterClass(&wc))
    	MessageBox(NULL,'Fehler beim registrieren der Klasse.','Fehler',MB_OK|MB_ICONERROR);
    
    hWnd = CreateWindow('MeineFensterKlasse','Huhu',WS_VISIBLE | WS_SYSMENU,
    					CW_USEDEFAULT,
    					CW_USEDEFAULT,
    					CW_USEDEFAULT,
    					CW_USEDEFAULT,
    					NULL,
    					NULL,
    					hi,
    					NULL);
    
    if(hWnd)
    	ShowWindow(hWnd, SW_SHOW);
    UpdateWindow(hWnd);
    
    while(GetMessage(&msg,NULL,NULL,0))
    {	
    	TranslateMessage(&msg);
    	DispatchMessage(&msg);
    }
    return msg.message;
    }
    
    LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
    {
    	PAINTSTRUCT ps;
    	HDC dc;
    	switch(uMsg)
    	{
    	case WM_PAINT:
    		dc = BeginPaint(hWnd,&ps);
    		EndPaint(hWnd,&ps);
    		break;
    	case WM_DESTROY:
    		PostQuitMessage(NULL);
    		break;
    	case WM_CREATE:
    		break;
    	}
    return DefWindowProc(hWnd, uMsg, wParam, lParam);
    }


    Beitrag ge?ndert am 31.12.2005 14:25 von funkdoobiest

    Hast mir ja per PN gesagt, dass was falsch war.
    Hasts verbessert oder?
    geht auf jeden Fall perfekt...

    Noch was:
    Wie stelle ich sahcne wie z.b:
    Hindergrund(farbe,bild...)
    inhalt
    ...
    ein?






    EDIT:
    Das Scrript geht.
    Aber, wenn ich mich 30 Minuteb wegbegebe, dann kommt folgende Fehlermeldung:
    LINK : fatal error LNK1168: 'Debug/projekt.exe' kann nicht zum Schreiben geoeffnet werden

    Und es kommen manchmal auch fehler, wenn ich den Rechner neustarte.


    Beitrag ge?ndert am 1.01.2006 17:55 von benutzernaemelchen

    Wo sind da jetzt alle Fragen gekl?rt?
  20. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!