From f17569ddc3182a6f136090f58efbfffed1d36544 Mon Sep 17 00:00:00 2001 From: Miguel Date: Tue, 6 Apr 2021 12:47:20 +0200 Subject: re-organzing project --- Mastermind/FranekEngine.java | 207 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 207 insertions(+) create mode 100755 Mastermind/FranekEngine.java (limited to 'Mastermind/FranekEngine.java') diff --git a/Mastermind/FranekEngine.java b/Mastermind/FranekEngine.java new file mode 100755 index 0000000..d4b9e76 --- /dev/null +++ b/Mastermind/FranekEngine.java @@ -0,0 +1,207 @@ +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; + } +} -- cgit v1.2.3