示例#1
0
文件: main.c 项目: UwwA/C_TicTacToe
int main()
{
    char GameBoard[GameHeigth][GameWidth] = {" "};  //Skapar plan-arrayen
    int NumberOfTurns = 0,Starter;  //Antal rundor, vem som startar
    int MaxRounds = GameHeigth*GameWidth;   //Antal maxrundor=bredd*höjd

    unsigned seed;
    seed = (unsigned)time(NULL); //Seed för random
    srand(seed);
    Starter = 1+(rand()%2);



    if(Starter==1) //Om spelaren ska börja
	{
        printf("You start!\n");
        for(; ; ) //Manuellt exitad loop
        {
        PrintBoard(GameBoard); //Skriv ut planen
        PlayerMove(GameBoard); //Be spelaren lägga ut en markör
        CheckWin(GameBoard); //Kolla om någon vunnit
        NumberOfTurns++;

			 if(NumberOfTurns == MaxRounds) //Om antalet rundor = maxrundor avsluta spelet
			 {
				   printf("Draw!");
				  break;
			 }

        ComputerMove(GameBoard); //Slumpa en position åt datorn
        CheckWin(GameBoard); //Kolla om någon vunnit
        NumberOfTurns++;

        }
    }
    else if(Starter==2)	//Om datorn ska börja
    {
        printf("Ai starts!\n");
        for(; ; )
        {
        ComputerMove(GameBoard);
        CheckWin(GameBoard);
        NumberOfTurns++;
			 if(NumberOfTurns == MaxRounds)
			 {
				  printf("Draw");
				  break;
			 }
        PrintBoard(GameBoard);
        PlayerMove(GameBoard);
        CheckWin(GameBoard);
        NumberOfTurns++;


        }

    }

    return 0;
}
示例#2
0
void KalahContainers::KeepMoving()
{
	while (true) {
		int Num;
		int RetVal;
		do {
			Output();
		INPUT:
			cout << "Determine the house number(1 ~ 6): ";
			string StrNum;
			cin >> StrNum;
			try {
				Num = std::stoi(StrNum);
			} catch (const exception &e) {
				cout << "Non-numeric characters detected!\n";
				goto INPUT;
			}
			RetVal = PlayerMove(Num);			
			if (RetVal == INVALID_INPUT)
				cout << "Invalid number detected! Do it again!\n"<<endl;
			else{
				cout << "The player has chosen the " << Num << "th house" <<endl;
				Output();			
			}
			if (RetVal == GOOD_LUCK){				
				cout << "Good Job, You have an extra move!\n"<<endl;
			}
		} while (RetVal == GOOD_LUCK || RetVal == INVALID_INPUT);
		if (IsOver(PlayerHouses))
			return;
		do {
			cout << "############################################" << endl<<endl;
			cout << "Computer is thinking ......."<<endl<<endl;
			cout << "############################################" << endl<<endl;
		//	Num = ComputerThinking();
			Num = ComputerStrategy() + 1;
			cout << "Computer takes the " <<Length - Num + 1 << "th house!\n"<<endl;
			RetVal = ComputerMove(Num);
			
			if (RetVal == GOOD_LUCK){
				Output();
				cout << "Computer have an extra move!\n"<<endl;
			}
		} while (RetVal == GOOD_LUCK || RetVal == INVALID_INPUT);
		if (IsOver(ComputerHouses))
			return;
		
	}
}