예제 #1
0
파일: main.cpp 프로젝트: jorgeer/cpp
int main() {
	srand(time(0));
	int choice;
	cout << "skriv 1 for mastermind, alt annet for tester";
	cin >> choice;
	if (choice == 1) {
		playMastermind();
	}
	else {

		cout << "Noen tilfeldige tall fra 1 til 100:"<< endl;
		for (int i=0;i<10;i++) cout << randomWithLimits(1, 100) << " ";

		cout << endl << endl << "Noen tilfeldige bokstaver fra A til Z:" << endl;
		for (int i=0;i<10;i++) cout << randomCharWithLimits('A', 'Z') << " ";

		/* 2a
		v0 vil være 5, siden inkrementfunksjonen bare kopierer v0 ved kjøring.
		*/

		cout << endl << endl;
		testPart2();
		cout << endl << endl;
		testPart3();
		cout << endl << endl;
		testPart4();
	}

	return 0;
}
예제 #2
0
void playMastermind(){
	cout << "MASTERMIND \n \n " << endl;
	const int SIZE = 4, LETTERS = 6;
	char code[SIZE+1], guess[SIZE+1], guesses[12*SIZE+1];
	code[SIZE] ='\0';
	guess[SIZE]='\0';
	randomizeCString(code,'A'+LETTERS-1, 'A', SIZE);
	int counter = 0;
	// char guesses[12*SIZE+1]={};
	guesses[12*SIZE] ='\0';
	int answers[24]={};
	char ssvar;
	cout << "Vil du få oppgitt koden? (Y/N) :";
	cin >> ssvar;
	if (ssvar == 'Y' || ssvar == 'y'){
		cout << code << endl;
	}
	while ( counter < 12){
		cout << "\n Forsøk : " << counter+1 << endl;
		// cout << code << endl;
		readInputToCString(guess,'A'+LETTERS-1,'A', SIZE);
		// cout << guess << endl;
		int svarte = checkCharactersAndPosition(code, guess, SIZE);
		// cout << "Svarte : "<< svarte << endl;
		int hvite = checkCharacters(code, guess, SIZE)-svarte;
		// cout << "Hvite : "<< hvite << endl;
		printMastermind(guesses,answers,guess, svarte, hvite, counter, SIZE);
		if (svarte == SIZE){
			cout << "HURRA DU VANT!" << endl;
			cout << "Koden var : " << code << endl;
			char svar;
			cout << "Vil du spille en gang til? (Y/N) :";
			cin >> svar;
			if (svar == 'Y' || svar == 'y'){
				playMastermind();
			}
			return;
		}
		counter++;
	}