myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Wie gehts einfacher?

Willkommen

myGully

Links

Forum

 
 
 
Themen-Optionen Ansicht
Prev Vorheriger Beitrag   Nächster Beitrag Next
Ungelesen 17.08.11, 14:48   #1
CJ3
Newbie
 
Registriert seit: Feb 2010
Beiträge: 66
Bedankt: 34
CJ3 gewöhnt sich langsam dran | 36 Respekt Punkte
Standard Wie gehts einfacher?

Hi Leute^^
Hab mal wieder eine Frage zum Programmieren in Windows API.
Es geht um folgendes:

Code:
case WM_PAINT:
[...]
else if(iX==168)
         {PAINTSTRUCT ps;
         HDC          hDC;

         
         const char  szText[] = "Where shall I head first?^_^";
         const char  szText1[] = "(Remind the time you need!)";
         const char  Ent1[] = "\"Sports Center\"";
         const char  Ent2[] = "Room 2-15";
         const char  Ent3[] = "School Training Field";
         const char  Ent4[] = "School basement";
         const char  Ent1ge[] = "> \"Sports Center\"";
         const char  Ent2ge[] = "> Room 2-15";
         const char  Ent3ge[] = "> School Training Field";
         const char  Ent4ge[] = "> School basement";
         
         
         hDC = BeginPaint(hwnd, &ps);
         {
             TextOut(hDC, 180, 20, szText, sizeof(szText) - 1);
             
                                        
            {
            if(iWahl == 1)
                    {
                    if(Frei!=1 && Frei!=12 && Frei!=123 && Frei!=124 && Frei!=13 && Frei!=132 && Frei!=134 && Frei!=14 && Frei!=142 && Frei!=143 && Frei!=21 && Frei!=213 && Frei!=214 && Frei!=231 && Frei!=241 && Frei!=31 && Frei!=312 && Frei!=314 && Frei!=321 && Frei!=341 && Frei!=41 && Frei!=413 && Frei!=412 && Frei!=431 && Frei!=421)
                    {TextOut(hDC, 200,150, Ent1ge, sizeof(Ent1ge) - 1);}
                    TextOut(hDC, 100,250, Ent2, sizeof(Ent2) - 1);
                    TextOut(hDC, 200,350, Ent3, sizeof(Ent3) - 1);
                    TextOut(hDC, 350,250, Ent4, sizeof(Ent4) - 1);
                    }
            }
            if(iWahl == 2)
            {
                    if(Frei!=1 && Frei!=12 && Frei!=123 && Frei!=124 && Frei!=13 && Frei!=132 && Frei!=134 && Frei!=14 && Frei!=142 && Frei!=143 && Frei!=21 && Frei!=213 && Frei!=214 && Frei!=231 && Frei!=241 && Frei!=31 && Frei!=312 && Frei!=314 && Frei!=321 && Frei!=341 && Frei!=41 && Frei!=413 && Frei!=412 && Frei!=431 && Frei!=421)
                    {TextOut(hDC, 200,150, Ent1, sizeof(Ent1) - 1);}
                    TextOut(hDC, 100,250, Ent2ge, sizeof(Ent2ge) - 1);
                    TextOut(hDC, 200,350, Ent3, sizeof(Ent3) - 1);
                    TextOut(hDC, 350,250, Ent4, sizeof(Ent4) - 1);
            }
            if(iWahl == 3)
            {
                    if(Frei!=1 && Frei!=12 && Frei!=123 && Frei!=124 && Frei!=13 && Frei!=132 && Frei!=134 && Frei!=14 && Frei!=142 && Frei!=143 && Frei!=21 && Frei!=213 && Frei!=214 && Frei!=231 && Frei!=241 && Frei!=31 && Frei!=312 && Frei!=314 && Frei!=321 && Frei!=341 && Frei!=41 && Frei!=413 && Frei!=412 && Frei!=431 && Frei!=421)
                    {TextOut(hDC, 200,150, Ent1, sizeof(Ent1) - 1);}
                    TextOut(hDC, 100,250, Ent2, sizeof(Ent2) - 1);
                    TextOut(hDC, 200,350, Ent3, sizeof(Ent3) - 1);
                    TextOut(hDC, 350,250, Ent4ge, sizeof(Ent4ge) - 1);
            }
            if(iWahl == 4)
            {
                    if(Frei!=1 && Frei!=12 && Frei!=123 && Frei!=124 && Frei!=13 && Frei!=132 && Frei!=134 && Frei!=14 && Frei!=142 && Frei!=143 && Frei!=21 && Frei!=213 && Frei!=214 && Frei!=231 && Frei!=241 && Frei!=31 && Frei!=312 && Frei!=314 && Frei!=321 && Frei!=341 && Frei!=41 && Frei!=413 && Frei!=412 && Frei!=431 && Frei!=421)
                    {TextOut(hDC, 200,150, Ent1, sizeof(Ent1) - 1);}
                    TextOut(hDC, 100,250, Ent2, sizeof(Ent2) - 1);
                    TextOut(hDC, 200,350, Ent3ge, sizeof(Ent3ge) - 1);
                    TextOut(hDC, 350,250, Ent4, sizeof(Ent4) - 1);
            }
             }
         EndPaint(hwnd, &ps);
         }
[...]
Der Nutzer hat 4 Auswahlmöglichkeiten. Mit den Pfeiltasten ändert er int iWahl auf 1, 2, 3 oder 4, damit wird gesteuert, auf welchem Feld er sich befindet. Durch Enter bestätigt er dann die Wahl.
Wenn der Nutzer nun einen Pfad z.B. iWahl=1 wählt, erscheint neuer Text und so.
Später soll er dann wieder auf iX=168 geführt werden. Wenn er dann dort ist, soll die Auswahlmöglichkeit des vorher beschrittenen Weges, im Beispiel jetzt der Weg von iWahl=1, nicht mehr angezeigt werden (Ist noch unvollständig, ich weiß aber das mache ich jetzt erst^^'). Gleichzeitig bekommt die Variable int Frei den Wert von iWahl "hinzugefügt". Im Beispiel wird Frei auf 1 gesetzt. Wenn nun der User den Weg iWahl=3 wählt, wird Frei auf 13 gesetzt, bei Weg iWahl=2, wird Frei auf 12 gesetzt.
Damit ergeben sich 16*4 Möglichkeiten. Damit müsste ich für jeden Fall eine ewig lange if-Bedingung schreiben, was ich gerade auch mache.

Da es nervig ist, andauern wieder diese Fälle abzudecken, wollte ich nachfragen, ob jemand eine einfachere Lösung weiß. Mir will partue nichts einfallen. Wenn ich Zufallszahlen dabei nutze, käme ich ja auf das gleiche raus, oder?

Ich bedanke mich für jede Hilfe^^
MfG,
CJ3
__________________
Es gehört zum Anstand, sich zu bedanken, wenn einem geholfen wurde, also danke liebe Gullianer c:
CJ3 ist offline   Mit Zitat antworten
 


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:06 Uhr.


Sitemap

().