Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.Random;
- public class OkoBere {
- public static void main(String[] args) {
- Balicek balik = new Balicek();
- Hrac pokus1 = new Hrac();
- //lizni 3 karty
- pokus1.lizniKartu(balik);
- pokus1.lizniKartu(balik);
- pokus1.lizniKartu(balik);
- //vypis, co si hrac liznul
- System.out.println(pokus1);
- }
- }
- class Hrac {
- private ArrayList<Karta> ruka = new ArrayList<>();
- public void reset() {
- ruka.clear();
- }
- public Karta lizniKartu(Balicek b) {
- Karta liznuta = b.lizniKartu();
- ruka.add(liznuta);
- return liznuta;
- }
- public int celkovySoucet() {
- //dvě esa
- if (ruka.size() == 2 && ruka.get(0).hodnota() == 14 && ruka.get(1).hodnota() == 14) {
- return 21; //kralovske oko
- }
- int soucet = 0;
- for (int i = 0; i < ruka.size(); i++) {
- soucet = soucet + ruka.get(i).body();
- }
- return soucet;
- }
- public String toString() {
- if(ruka.isEmpty()) return "Prázdno";
- String text = "";
- for(int i = 0; i<ruka.size(); i++) {
- text = text + ruka.get(i) + ", ";
- }
- text = text + "Celekm bodů: " + celkovySoucet();
- return text;
- }
- }
- class Karta {
- //0 - 3 -> srdce, krize, kary, piky
- private int barva;
- //7 -> 7, ... , 10 -> 10, 11 -> J, 12 -> Q, 13 -> K, 14 -> A
- private int hodnota;
- public Karta(int barva, int hodnota) {
- this.barva = barva;
- this.hodnota = hodnota;
- }
- public int barva() {
- return barva;
- }
- public int hodnota() {
- return hodnota;
- }
- //kolik karta ma hodnotu v bodech
- public int body() {
- if (hodnota <= 10) {
- return hodnota;
- }
- if (hodnota == 14) {
- return 11;
- }
- return 1;
- }
- public String toString() {
- String znak = "";
- switch (hodnota) {
- case 7:
- znak = "7";
- break;
- case 8:
- znak = "8";
- break;
- case 9:
- znak = "9";
- break;
- case 10:
- znak = "10";
- break;
- case 11:
- znak = "J";
- break;
- case 12:
- znak = "Q";
- break;
- case 13:
- znak = "K";
- break;
- case 14:
- znak = "A";
- }
- switch (barva) {
- case 0:
- return "Srdcová " + znak;
- case 1:
- return "Křížová " + znak;
- case 2:
- return "Kárová " + znak;
- case 3:
- return "Piková " + znak;
- }
- return null;
- }
- }
- class Balicek {
- private ArrayList<Karta> karty = new ArrayList<>();
- public Balicek() {
- reset();
- }
- public void reset() {
- karty.clear();
- for (int i = 0; i < 4; i++) {
- for (int j = 7; j <= 14; j++) {
- karty.add(new Karta(i, j));
- }
- }
- }
- public Karta lizniKartu() {
- Random random = new Random();
- int index = random.nextInt(karty.size());
- Karta vybrana = karty.get(index);
- karty.remove(vybrana);
- return vybrana;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement