Brauche Hilfe bei der Programmierung eines einfachen kleinen Spiels



  • Hallo ich bin neu hier im Forum
    zu meinem Problem:
    Ich bin im letzten halben Jahr meiner Ausbildung zum Informatik Assistent und muss innerhalb von 2 Monaten ein etwas umfangreichers Projekt auf die Beine stellen,da habe ich mir vorgenommen ein einfaches Spiel(eine Art Moorhuhn)zu Programmieren
    Nun bracuhe ich ein bissl Hilfe,da ich mich schon seit ca einem halbes Jahr nicht mehr richtig mit Visuall C++ beschäftigt habe 🙄
    Also mein Spiel habe ich mir wie folgt vorgestellt:

    - Ich erstelle eine neue MFC anwendung

    - Dann wollte ich eine Bitmap oder so als Hindergrundgrafik nehmen (Wie binde ich die Hintergrundgrafik ein?)

    - vor diesem Hintergrund sollen nun an verschiedenen,per zufall berechneten koordinaten,Objekte zum abschießen erscheinen (wie lass ich die Koordinaten berechnen und wie mach ich das dann dort ein Objekt auftaucht?)

    - wenn die Objekte getroffen werden verschwinden diese Natürlich (Wie mach ich das das das Programm erkennt das ich ein Objekt getroffen habe, also die Objekte sind ja Bitmaps,das ich im bereich der Bitmap bin??)

    - Beim schießen sollen auch sound abgespielt weden u beim treffen der Objekte auch (wie binde ich sounds ein??welches Format sollte ich nehmen??)

    - Für jedes objekt soll es punkte geben, ein zähler zählt die aktuelle Punktzahl mit

    - wenn noch genug zeit ist eventuell mehrere Level und einige Effekt wie einschusslöcher

    Ich hoffe ihr könnt mir ein bissl hierbei helfen
    Wenn das Spiel dann fertig is stell ich es natürlich hier online 😃



  • aso hab noch was vergessen

    - der Mauszeiger sollte ein Fadenkreuz sein (Wie mach ich das das ich einen anderen Mauszeiger im Spiel habe??)

    - eventuell soll im Vordergrund eine Bitmapwaffe angezeigt werden die dem Mauszeigen nachgeht (Wie mach ich das??)



  • Hallo

    Du solltest dir zuerst überlegen, ob MFC das richtig für dich ist. Versuch es lieber mal mit SDL oder Allegro.

    chrischr



  • Ich muss es in MFC machen 😞



  • http://henkessoft.de/ MFC Kapitel 9
    Das sollte dir auf die Sprünge helfen. 🙂



  • Danke für die geile Seite da is ja alles nötige erklärt
    ich werd gleich mal anfangen



  • Hab mal eine frage

    Ich benutze Folgene AusgabeFkt um ein männl auf meinem Hintergrund anzeigen zu lassen

    Ausgabe()
    {
    CClientDC windowDC (this);
    CDC backBufferDC,
    hintergrundDC,
    mannDC,
    maskDC,
    orDC,
    tempDC;

    CBitmap maskBitmap,
    orBitmap,
    tempBitmap;

    CRect rect;
    BITMAP bm;

    backBufferDC.CreateCompatibleDC (&windowDC);
    backBufferDC.SelectObject (&m_BackBuffer);

    hintergrundDC.CreateCompatibleDC (&windowDC);
    hintergrundDC.SelectObject (&m_Hintergrund);

    mannDC.CreateCompatibleDC (&windowDC);
    mannDC.SelectObject (m_Mann [m_Index]);

    m_Mann [m_Index].GetBitmap (&bm);

    maskBitmap.CreateBitmap (bm.bmWidth, bm.bmHeight, 1, 1, NULL);

    maskDC.CreateCompatibleDC (&windowDC);
    maskDC.SelectObject (&maskBitmap);

    orBitmap.CreateCompatibleBitmap (&windowDC, bm.bmWidth, bm.bmHeight);
    orDC.CreateCompatibleDC (&windowDC);
    orDC.SelectObject (&orBitmap);

    tempBitmap.CreateCompatibleBitmap (&windowDC, bm.bmWidth, bm.bmHeight);
    tempDC.CreateCompatibleDC (&windowDC);
    tempDC.SelectObject (&tempBitmap);

    m_Hintergrund.GetBitmap (&bm);
    backBufferDC.BitBlt (0, 0, bm.bmWidth, bm.bmHeight, &hintergrundDC, 0, 0, SRCCOPY);

    m_Mann [m_Index].GetBitmap (&bm);

    mannDC.SetBkColor (RGB (0x0, 0x0, 0x0));

    maskDC.BitBlt (0, 0, bm.bmWidth, bm.bmHeight, &mannDC, 0, 0, SRCCOPY);

    orDC.BitBlt (0, 0, bm.bmWidth, bm.bmHeight, &mannDC, 0, 0, SRCCOPY);
    orDC.BitBlt (0, 0, bm.bmWidth, bm.bmHeight, &maskDC, 0, 0, 0x220326);

    tempDC.BitBlt (0, 0, bm.bmWidth, bm.bmHeight, &backBufferDC, m_X, m_Y, SRCCOPY);
    tempDC.BitBlt (0, 0, bm.bmWidth, bm.bmHeight, &maskDC, 0, 0, SRCAND);
    tempDC.BitBlt (0, 0, bm.bmWidth, bm.bmHeight, &orDC, 0, 0, SRCPAINT);

    backBufferDC.BitBlt (m_X, m_Y, bm.bmWidth, bm.bmHeight, &tempDC, 0, 0, SRCCOPY);

    m_BackBuffer.GetBitmap (&bm);

    GetClientRect (&rect);

    windowDC.SetStretchBltMode (COLORONCOLOR);

    windowDC.StretchBlt (0, 0, rect.Width (), rect.Height (), &backBufferDC, 0, 0, bm.bmWidth, bm.bmHeight, SRCCOPY);
    }

    Das funktioniert auch alles soweit also das männl wird angezeigt
    nun habe ich aber einmal versuch mehrere Objekte (ein großes Männl im Vordergrund welches aus mehreren teilen besteht) anzeigen zu lassen dabei kommen jedoch immer fehlermeldungen
    Wie bekomme ich das hin das ich mehrere Objekte gleichzeitig anzeigen lassen kann
    Muss ich mehrere Ausgaben schreiben oder kann ich das alles irgendwie in eine ausgabe machen???
    Aso die verschiedenen männl sollen dann im fertigen spiel per zufall an verschiedenen stellen auftauchen können
    Falls das von bedeutung ist um mehrere Objekte ausgeben zu lassen


Anmelden zum Antworten