Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Wieder einmal viergewinnt

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 <
000
22.08.2003, 09:50 Uhr
~andreasK
Gast


Hallo hab da ein Problem und zwar versuch ich in meinem Spiel gegen den Computer zu spielen, und hab da den nachfolgeden code der funktionirt aber nicht so ganz hat da vielleicht jemand ne bessere Idee ist das erst mal dass ich sowas progge:


C++:
void ki()
{
    int i,j;
    int count = 0;
    static int aufruf = 0;

    //Wird geprüft ob 2 hintereinadner folgen und so wird der stein gestzt dass waagerecht
    //kein Sieg mehr möglich ist für den spieler1
    if (count == 0)
    {
        for (j = 6; j  >= 0; j--)
        {
            for (i = 7; i  < 7; i++)
            {
                if ((game[5][i] == 1) && (game[5][i+1] == 1))
                {
                    count++;
                    if (game[5][i-1] == 0)
                    {
                        /*if ((i-1) < 0)
                        {
                            player_set(i+2, 2);
                            aufruf++;
                            count++;
                            break;
                        }*/

                        //else
                        //{
                        
                            player_set(i-1, 2);
                            //cout << "Hallo";
                            aufruf++;
                            count++;
                            break;
                        //}
                    }
                    if (game[5][i+2] == 0)
                    {
                        
                        player_set(i+2, 2);
                        //cout << "Hallo2";
                        aufruf++;
                        count++;
                        break;
                    }
                }
            }
            if (count > 0)
                break;
        }
    }
    //weitere Prüfung
    if (count == 0)
    {
        int zug = 0;
        //Prüfe auf senkrechte so dass in dieser richtung auch niemand mehr gewinnen kann#
        for (j = 5; j >= 0; j--)
        {
            for (i = 0; i < 7; i++)
            {
                if ((game[j][i] && game[j+1][i]) == 1)
                {
                    player_set(i, 2);
                    //cout << "Hallo3";
                    aufruf++;
                    zug++;
                    count++;
                    break;
                }
            }
            if (count > 0)
            {
                break;
            }
        }
        //Setzt wenn keiner der anderen Fälle zutrifft wahllos
        if (zug >= 0)
        {
            i = 0;
            i = rand()%6;
            player_set(i, 2);
            //cout << "Hallo";
            count++;
            zug = 0;
        }
    }
    if (count > 0)
    {
        count = 0;
    }
}


Hoffe dass mir da jemand helfen kann, denn der setzt mir da ab und mal zwei steine und so ist komisch!

Gruß
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
22.08.2003, 10:13 Uhr
Pablo
Supertux
(Operator)


Was ist das für ein Spiel, oder was soll das Spiel tun?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
22.08.2003, 10:19 Uhr
Tommix



Hallo,
ohne das Ganze auf die Schnelle zu überblicken würde ich denken, dass es

C++:
        //Setzt wenn keiner der anderen Fälle zutrifft wahllos
        if (zug == 0)


heissen muss und

C++:
    if (count > 0)
    {
        count = 0;
    }


am Ende ist wohl überflüssig.

Gruss, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
22.08.2003, 10:21 Uhr
~andreasK
Gast


das ist ein spiel 6X7 felder und wenn horizontal, vertikal oder diagonal vier gleiche steine in einer reihe sind hat jemand gewonnen, und ich will jetzt den computer gegen mich spielen lassen er muss also versuchen immer meine möglichkeiten zu gewinnen zu unterbinden.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
22.08.2003, 10:26 Uhr
~andreasK
Gast


@Tommix
ja das war einer meiner Fehler! aber vielleicht hat noch jemand ne andere Idee!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
22.08.2003, 12:42 Uhr
~Anfänger00
Gast


Ich wüde es mal mit nem Spiel gegen mich selbst versuchen,so wirst du sicher
draufkommen welche Züge der Computer am besten machen soll.
wenn du das schon gemacht hast kann ich dir auch nicht weiterhelfen...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
22.08.2003, 12:57 Uhr
virtual
Sexiest Bit alive
(Operator)



Zitat:
~andreasK postete
Hallo hab da ein Problem und zwar versuch ich in meinem Spiel gegen den Computer zu spielen, und hab da den nachfolgeden code der funktionirt aber nicht so ganz hat da vielleicht jemand ne bessere Idee ist das erst mal dass ich sowas progge:



Hilfreich wäre eine Aussage, was nicht funktioniert.


Zitat:


C++:
void ki()
{
[...]
            for (i = 7; i  < 7; i++)




Das folgende wird also nie durchlaufen...

Zitat:


C++:
[...]
    }
    //weitere Prüfung
    if (count == 0)
    {
        int zug = 0;
        //Prüfe auf senkrechte so dass in dieser richtung auch niemand mehr gewinnen kann#
        for (j = 5; j >= 0; j--)
        {




Die Ecken sind für die Überprfung eigentlich unwesentlich, eine zwei Kombination von Steinen am Rand ist unkritisch. Aber nur eine Frage der Performance...


Zitat:


C++:
    if (count > 0)
    {
        count = 0;
    }
}




Warum?
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


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: