Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.util.*;
- public class Main {
- public static boolean wyswietlStatki = true;
- public static void stworzPlansze(String[][] plansza) {
- for (int w = 0; w < plansza.length; w++) {
- for (int k = 0; k < plansza[0].length; k++) {
- plansza[w][k] = "~";
- }
- }
- }
- public static void rysujPlansze(String[][] plansza) {
- System.out.println("______________________");
- System.out.print(" ");
- for (int i = 0; i < plansza.length; i++) {
- System.out.print(i+1 + " ");
- }
- System.out.println("");
- for (int w = 0; w < plansza.length; w++) {
- System.out.print((char)(w+65));
- if (wyswietlStatki == true) {
- for (int k = 0; k < plansza[0].length; k++) {
- System.out.print(" " + plansza[w][k]);
- }
- System.out.println("");
- } else {
- for (int k = 0; k < plansza[0].length; k++) {
- if (plansza[w][k].equals("S")) {
- System.out.print(" " + "~");
- } else {
- System.out.print(" " + plansza[w][k]);
- }
- }
- System.out.println("");
- }
- }
- System.out.println("______________________");
- }
- public static void stworzStatki(String[][] plansza) {
- /*if (Math.random() < 0.5) { //statek poziomo
- int k = (int) (Math.random() * 6);
- int w = (int) (Math.random() * 9);
- for (int i = 0; i < 4; i++) {
- plansza[w][k + i] = "S";
- }
- } else { //statek pionowo
- int k = (int) (Math.random() * 9);
- int w = (int) (Math.random() * 6);
- for (int i = 0; i < 4; i++) {
- plansza[w + i][k] = "S";
- }
- }*/
- System.out.println("Umieszczanie statków");
- Scanner skaner = new Scanner(System.in);
- for (int i = 0; i < 4; i++) { //jednomasztowce
- System.out.println("Jednomasztowiec nr " + (i + 1));
- System.out.println("Wybierz wiersz od A do J");
- int w = (int)(skaner.next().charAt(0)) - 64;
- while (w > 10 || w < 1) {
- System.out.println("Od A do J...!");
- w = skaner.next().charAt(0) - 64;
- }
- System.out.println("Wybierz kolumnę od 1 do 10");
- int k = skaner.nextInt();
- while (k > 10 || k < 1) {
- System.out.println("Od 1 do 10...!");
- k = skaner.nextInt();
- }
- if (Objects.equals(plansza[w - 1][k - 1], "S")) {
- System.out.println("Statek jest już w tym miejscu!");
- i--;
- } else {
- plansza[w - 1][k - 1] = "S";
- }
- }
- for (int i = 0; i < 3; i++) { //dwumasztowce
- boolean czyZajete = false;
- System.out.println("Dwumasztowiec nr " + (i + 1));
- System.out.println("Pionowo w dół(0) czy poziomo w lewo(1)?");
- int kierunek = skaner.nextInt();
- if (kierunek == 0) {
- System.out.println("Wybierz wiersz od A do I");
- int w = (int)(skaner.next().charAt(0)) - 64;
- while (w > 9 || w < 1) {
- System.out.println("Od A do I...!");
- w = skaner.next().charAt(0) - 64;
- }
- System.out.println("Wybierz kolumnę od 1 do 10");
- int k = skaner.nextInt();
- while (k > 10 || k < 1) {
- System.out.println("Od 1 do 10...!");
- k = skaner.nextInt();
- }
- for (int j = 0; j < 2; j++) {
- if (Objects.equals(plansza[w + j - 1][k - 1], "S")) {
- System.out.println("Statek jest już w tym miejscu!");
- i--;
- czyZajete = true;
- break;
- }
- }
- if (!czyZajete) {
- for (int j = 0; j < 2; j++) {
- plansza[w + j - 1][k - 1] = "S";
- }
- }
- } else if (kierunek == 1) {
- System.out.println("Wybierz wiersz od A do J");
- int w = (int)(skaner.next().charAt(0)) - 64;
- while (w > 10 || w < 1) {
- System.out.println("Od A do J...!");
- w = skaner.next().charAt(0) - 64;
- }
- System.out.println("Wybierz kolumnę od 1 do 9");
- int k = skaner.nextInt();
- while (k > 9 || k < 1) {
- System.out.println("Od 1 do 9...!");
- k = skaner.nextInt();
- }
- for (int j = 0; j < 2; j++) {
- if (Objects.equals(plansza[w - 1][k + j - 1], "S")) {
- System.out.println("Statek jest już w tym miejscu!");
- i--;
- czyZajete = true;
- break;
- }
- }
- if (!czyZajete) {
- for (int j = 0; j < 2; j++) {
- plansza[w - 1][k + j - 1] = "S";
- }
- }
- } else {
- System.out.println("Zła wartość, wybierz jeszcze raz...");
- i--;
- }
- }
- for (int i = 0; i < 2; i++) { //trójmasztowce
- boolean czyZajete = false;
- System.out.println("Trójmasztowiec nr " + (i + 1));
- System.out.println("Pionowo w dół(0) czy poziomo w lewo(1)?");
- int kierunek = skaner.nextInt();
- if (kierunek == 0) {
- System.out.println("Wybierz wiersz od A do H");
- int w = (int)(skaner.next().charAt(0)) - 64;
- while (w > 8 || w < 1) {
- System.out.println("Od A do H...!");
- w = skaner.next().charAt(0) - 64;
- }
- System.out.println("Wybierz kolumnę od 1 do 10");
- int k = skaner.nextInt();
- while (k > 10 || k < 1) {
- System.out.println("Od 1 do 10...!");
- k = skaner.nextInt();
- }
- for (int j = 0; j < 3; j++) {
- if (Objects.equals(plansza[w + j - 1][k - 1], "S")) {
- System.out.println("Statek jest już w tym miejscu!");
- i--;
- czyZajete = true;
- break;
- }
- }
- if (!czyZajete) {
- for (int j = 0; j < 3; j++) {
- plansza[w + j - 1][k - 1] = "S";
- }
- }
- } else if (kierunek == 1) {
- System.out.println("Wybierz wiersz od A do J");
- int w = (int)(skaner.next().charAt(0)) - 64;
- while (w > 10 || w < 1) {
- System.out.println("Od A do J...!");
- w = skaner.next().charAt(0) - 64;
- }
- System.out.println("Wybierz kolumnę od 1 do 8");
- int k = skaner.nextInt();
- while (k > 8 || k < 1) {
- System.out.println("Od 1 do 8...!");
- k = skaner.nextInt();
- }
- for (int j = 0; j < 3; j++) {
- if (Objects.equals(plansza[w - 1][k + j - 1], "S")) {
- System.out.println("Statek jest już w tym miejscu!");
- i--;
- czyZajete = true;
- break;
- }
- }
- if (!czyZajete) {
- for (int j = 0; j < 3; j++) {
- plansza[w - 1][k + j - 1] = "S";
- }
- }
- } else {
- System.out.println("Zła wartość, wybierz jeszcze raz...");
- i--;
- }
- }
- for (int i = 0; i < 2; i++) { //czteromasztowiec
- boolean czyZajete = false;
- System.out.println("Czteromasztowiec nr " + (i + 1));
- System.out.println("Pionowo w dół(0) czy poziomo w lewo(1)?");
- int kierunek = skaner.nextInt();
- if (kierunek == 0) {
- System.out.println("Wybierz wiersz od A do G");
- int w = (int)(skaner.next().charAt(0)) - 64;
- while (w > 7 || w < 1) {
- System.out.println("Od A do G...!");
- w = skaner.next().charAt(0) - 64;
- }
- System.out.println("Wybierz kolumnę od 1 do 10");
- int k = skaner.nextInt();
- while (k > 10 || k < 1) {
- System.out.println("Od 1 do 10...!");
- k = skaner.nextInt();
- }
- for (int j = 0; j < 4; j++) {
- if (Objects.equals(plansza[w + j - 1][k - 1], "S")) {
- System.out.println("Statek jest już w tym miejscu!");
- i--;
- czyZajete = true;
- break;
- }
- }
- if (!czyZajete) {
- for (int j = 0; j < 4; j++) {
- plansza[w + j - 1][k - 1] = "S";
- }
- }
- } else if (kierunek == 1) {
- System.out.println("Wybierz wiersz od A do J");
- int w = (int)(skaner.next().charAt(0)) - 64;
- while (w > 10 || w < 1) {
- System.out.println("Od A do J...!");
- w = skaner.next().charAt(0) - 64;
- }
- System.out.println("Wybierz kolumnę od 1 do 7");
- int k = skaner.nextInt();
- while (k > 7 || k < 1) {
- System.out.println("Od 1 do 7...!");
- k = skaner.nextInt();
- }
- for (int j = 0; j < 4; j++) {
- if (Objects.equals(plansza[w - 1][k + j - 1], "S")) {
- System.out.println("Statek jest już w tym miejscu!");
- i--;
- czyZajete = true;
- break;
- }
- }
- if (!czyZajete) {
- for (int j = 0; j < 4; j++) {
- plansza[w - 1][k + j - 1] = "S";
- }
- }
- } else {
- System.out.println("Zła wartość, wybierz jeszcze raz...");
- i--;
- }
- }
- }
- public static int strzal(String[][] plansza, int trafienia, int pociski) {
- Scanner punkt = new Scanner(System.in);
- int w, k;
- System.out.println("Liczba pocisków: " + pociski);
- System.out.println("Wybierz wiersz od A do J");
- w = (int)(punkt.next().charAt(0)) - 64;
- while (w > 10 || w < 1) {
- System.out.println("Od A do J...!");
- w = punkt.next().charAt(0) - 64;
- }
- System.out.println("Wybierz kolumnę od 1 do 10");
- k = punkt.nextInt();
- while (k > 10 || k < 1) {
- System.out.println("Od 1 do 10...!");
- k = punkt.nextInt();
- }
- if (plansza[w - 1][k - 1].equals("S")) {
- trafienia++;
- System.out.println("TRAFIENIE!");
- plansza[w - 1][k - 1] = "O";
- } else {
- System.out.println("NIE TYM RAZEM...");
- plansza[w - 1][k - 1] = "X";
- }
- return trafienia;
- }
- public static void koniec(int trafienia, int pociski) {
- if (trafienia < 20)
- System.out.println("Nie udało się zatopić statków!");
- if (pociski < 1)
- System.out.println("Straciłeś wszystkie pociski!");
- else if (trafienia == 20) {
- System.out.println("Brawo! Zatopiłeś wszystkie statki!");
- }
- }
- public static void main(String[] arg) {
- String[][] plansza = new String[10][10];
- stworzPlansze(plansza);
- stworzStatki(plansza);
- int pociski = 33;
- int trafienia = 0;
- while (pociski > 0 && trafienia < 20) {
- rysujPlansze(plansza);
- trafienia = strzal(plansza, trafienia, pociski);
- pociski--;
- }
- koniec(trafienia, pociski);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement