package Mastermind; import java.util.Random; import java.util.Scanner; public class FranekEngine { public static void main (String args[]) { int liczba1=Integer.parseInt(args[0]); int liczba2=Integer.parseInt(args[1]); int liczba3=Integer.parseInt(args[2]); int liczba4=Integer.parseInt(args[3]); int odpowiedz1=Integer.parseInt(args[4]); int odpowiedz2=Integer.parseInt(args[5]); int odpowiedz3=Integer.parseInt(args[6]); int odpowiedz4=Integer.parseInt(args[7]); Scanner wejscie = new Scanner(System.in); Random losowanie = new Random(); // int liczba1 = losowanie.nextInt(5) + 1; // int liczba2 = losowanie.nextInt(5) + 1; // int liczba3 = losowanie.nextInt(5) + 1; // int liczba4 = losowanie.nextInt(5) + 1; // do ustawiania samemu wartości - do testów: /*liczba1 = 1; liczba2 = 1; liczba3 = 3; liczba4 = 3; */ int kolor1 = 0, kolor2 = 0, czerwoneLiczb = 0, zieloneLiczb = 0, niebieskieLiczb = 0, żółteLiczb = 0, czarneLiczb = 0, białeLiczb = 0; int czerwoneOdp = 0, zieloneOdp = 0, niebieskieOdp = 0, żółteOdp = 0, czarneOdp = 0, białeOdp = 0; int licznik = 0; int dobremiejsce = 0; int dobrykolor = 0; //ściągawka to testów: // System.out.println(jakiKolor(liczba1) + " " + jakiKolor(liczba2) + " " + jakiKolor(liczba3) + " " // + jakiKolor(liczba4)); // System.out.println("KOLORY: " + " " + "Czerwony: 1" + " " + "Zielony: 2" + " " + "Niebieski: 3" // + " " + "Żółty: 4" + " " + "Czarny: 5" + " " + "Biały: 6"); // do { // System.out.println("Wprowadź cztery kolory (pod jednym odstępie między nimi):"); // int odpowiedz1 = wejscie.nextInt(); // int odpowiedz2 = wejscie.nextInt(); // int odpowiedz3 = wejscie.nextInt(); // int odpowiedz4 = wejscie.nextInt(); if (liczba1 == odpowiedz1) dobremiejsce += 1; else if ((liczba1 == odpowiedz2) || (liczba1 == odpowiedz3) || (liczba1 == odpowiedz4)) dobrykolor += 1; if (liczba2 == odpowiedz2) dobremiejsce += 1; else if ((liczba2 == odpowiedz1) || (liczba2 == odpowiedz3) || (liczba2 == odpowiedz4)) dobrykolor += 1; if (liczba3 == odpowiedz3) dobremiejsce += 1; else if ((liczba3 == odpowiedz1) || (liczba3 == odpowiedz2) || (liczba3 == odpowiedz4)) dobrykolor += 1; if (liczba4 == odpowiedz4) dobremiejsce += 1; else if ((liczba4 == odpowiedz1) || (liczba4 == odpowiedz2) || (liczba4 == odpowiedz3)) dobrykolor += 1; int[] liczby = new int[4]; liczby[0] = liczba1; liczby[1] = liczba2; liczby[2] = liczba3; liczby[3] = liczba4; for (int index = 0; index < liczby.length; index++) { kolor1 = liczby[index]; switch (kolor1) { case 1 : czerwoneLiczb++; break; case 2 : zieloneLiczb++; break; case 3 : niebieskieLiczb++; break; case 4 : żółteLiczb++; break; case 5 : czarneLiczb++; break; case 6 : białeLiczb++; break; } } int[] odpowiedzi = new int[4]; odpowiedzi[0] = odpowiedz1; odpowiedzi[1] = odpowiedz2; odpowiedzi[2] = odpowiedz3; odpowiedzi[3] = odpowiedz4; for (int index = 0; index < odpowiedzi.length; index++) { kolor2 = odpowiedzi[index]; switch (kolor2) { case 1: czerwoneOdp++; break; case 2: zieloneOdp++; break; case 3: niebieskieOdp++; break; case 4: żółteOdp++; break; case 5: czarneOdp++; break; case 6: białeOdp++; break; } } /*System.out.println("Odpowiedzi: " + czerwoneLiczb + " " + zieloneLiczb + " " + niebieskieLiczb + " " + żółteLiczb + " " + czarneLiczb + " " + białeLiczb + " " + czerwoneOdp + " " + zieloneOdp + " " + niebieskieOdp + " " + żółteOdp + " " + czarneOdp + " " + białeOdp); System.out.println("Dobry kolor przed: " + dobrykolor); */ //System.out.println("Dobre miejsce1: " + dobremiejsce + "\n" + "Dobry kolor1: " + dobrykolor); if (((czerwoneLiczb > 1 && czerwoneLiczb - czerwoneOdp == 1) || (zieloneLiczb > 1 && zieloneLiczb - zieloneOdp == 1) || (niebieskieLiczb > 1 && niebieskieLiczb - niebieskieOdp == 1) || (żółteLiczb > 1 && żółteLiczb - żółteOdp == 1) || (czarneLiczb > 1 && czarneLiczb - czarneOdp == 1) || (białeLiczb > 1 && białeLiczb - białeOdp == 1))) dobrykolor -= 1; else if (((czerwoneLiczb - czerwoneOdp == 2 && czerwoneOdp > 0) || (zieloneLiczb - zieloneOdp == 2 && zieloneOdp > 0) || (niebieskieLiczb - niebieskieOdp == 2 && niebieskieOdp > 0)) || (żółteLiczb - żółteOdp == 2 && żółteOdp > 0) || (czarneLiczb - czarneOdp == 2 && czarneOdp > 0) || (białeLiczb - białeOdp == 2 && białeOdp > 0)) dobrykolor -= 2; //System.out.println("Dobre miejsce2: " + dobremiejsce + "\n" + "Dobry kolor2: " + dobrykolor); if (( (czerwoneLiczb == 2 && zieloneLiczb == 2) || (czerwoneLiczb == 2 && niebieskieLiczb == 2) || (czerwoneLiczb == 2 && żółteLiczb == 2) || (czerwoneLiczb == 2 && czarneLiczb == 2) || (czerwoneLiczb == 2 && białeLiczb == 2) || (zieloneLiczb == 2 && niebieskieLiczb == 2) || (zieloneLiczb == 2 && żółteLiczb == 2) || (zieloneLiczb == 2 && czarneLiczb == 2 ) || (zieloneLiczb == 2 && białeLiczb == 2) || (niebieskieLiczb == 2 && żółteLiczb == 2) || (niebieskieLiczb == 2 && czarneLiczb == 2) || (niebieskieLiczb == 2 && białeLiczb == 2) || (żółteLiczb == 2 && czarneLiczb == 2) || (żółteLiczb == 2 && białeLiczb == 2) || (czarneLiczb == 2 && białeLiczb == 2)) && (((dobrykolor == 3) || (dobremiejsce == 1 && dobrykolor == 2)) && !(czerwoneOdp == 3 || zieloneOdp == 3 || niebieskieOdp == 3 || żółteOdp == 3 || czarneOdp == 3 || białeOdp == 3))) dobrykolor -= 1; if (dobrykolor < 0) dobrykolor = 0; System.out.println(dobremiejsce + " " + dobrykolor); if (dobremiejsce == 4) { dobremiejsce = 4; // System.out.println("Brawo, wygrałeś!"); } else dobremiejsce = 0; dobrykolor = 0; czerwoneLiczb = 0; zieloneLiczb = 0; niebieskieLiczb = 0; żółteLiczb = 0; czarneLiczb = 0; białeLiczb = 0; czerwoneOdp = 0; zieloneOdp = 0; niebieskieOdp = 0; żółteOdp = 0; czarneOdp = 0; białeOdp = 0; licznik++; // if (licznik == 8) // System.out.println("Przykro mi - przegrałeś."); // } // while (dobremiejsce != 4 && licznik != 8); } public static String jakiKolor(int liczba) { String kolor = ""; switch (liczba) { case 1 : kolor = "Czerwony"; break; case 2 : kolor = "Zielony"; break; case 3 : kolor = "Niebieski"; break; case 4 : kolor = "Żółty"; break; case 5 : kolor = "Czarny"; break; case 6 : kolor = "Biały"; break; } return kolor; } }