tablica wielowymiarowa pierwszy projekt

0

Witam mam mały kłopot potrzebuje stworzyć tablice dwuwymiarową 10x10 która losowo przypisze 10 elementów o losowych wartościach to akurat się udało następnie użytkownik powinien zgadnąć wszystkie elementy a jak już zgadnie to program kończy prace coś jak gra w statki ale bez front endu. dopiero zaczynam przygodę ale jakoś się wlecze do przodu pomalutku.

podsyłam co udało mi się stworzyć a z reszta mam mały problem, Ogólnie chciałbym aby użytkownik podawał współrzędne punktu i jeżeli tam znajduje się object to aby suszem wyświetlał komunikat "trafiony" a gdy nie trafi to aby było "pudło"

import java.util.Random;
import java.util.Scanner;

public class Tablica10x10Random {
public static void main(String[] args) {
int tablica[][]= new int[10][10];

    przypisz(tablica);
}

private static void przypisz(int[][] tablica) {
    Random l = new Random();
   tablica[l.nextInt(10)][l.nextInt(10)] =l.nextInt(15);
    tablica[l.nextInt(10)][l.nextInt(10)] =l.nextInt(15);
   tablica[l.nextInt(10)][l.nextInt(10)] =l.nextInt(15);
    tablica[l.nextInt(10)][l.nextInt(10)] =l.nextInt(15);
    tablica[l.nextInt(10)][l.nextInt(10)] =l.nextInt(15);
   tablica[l.nextInt(10)][l.nextInt(10)] =l.nextInt(15);
    tablica[l.nextInt(10)][l.nextInt(10)] =l.nextInt(15);
    tablica[l.nextInt(10)][l.nextInt(10)] =l.nextInt(15);
    tablica[l.nextInt(10)][l.nextInt(10)] =l.nextInt(15);
    tablica[l.nextInt(10)][l.nextInt(10)] =l.nextInt(15);


    for (int i = 0; i <tablica.length ; ++i) {
        for (int j = 0; j <tablica.length ; ++j) {
            System.out.print(tablica[i][j]+"  ");
        }
        System.out.println("");
    }
}

}

0

Na szybko klepnąłem jak ja bym takie statki zrobił, może coś Ci pomoże. Wydaje mi się że po uzupełnieniu pseudokodu powinieneś uzyskać to co chciałeś.

package pl.matadini.statki;

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {

        // wygeneruj tablice dwuwymiarowa 0 i 1
        // zero to puste pole, 1 to statek
        int tablica[][] = new int[10][10];
        for (int i = 0; i < 10; ++i) {
            for (int j = 0; j < 10; ++j) {
                tablica[i][j] = (int) Math.round(Math.random());
            }
        }

        // wyswietl cos nagenerowal
        for (int i = 0; i < 10; ++i) {
            StringBuilder builder = new StringBuilder();
            builder.append("{");
            for (int j = 0; j < 10; ++j) {
                builder.append(tablica[i][j]);
                builder.append(",");
            }
            builder.append("}");
            builder.append("\n");
            System.out.println(builder.toString());
        }

        // powtarzaj gre tak dlugo az gracz wygra lub wpisze exit
        System.out.println("Do dziela moj bohaterze: ");
        String input;
        Scanner scanner = new Scanner(System.in);
        do {
            input = scanner.nextLine();

            // tu sparsuj wspolrzedne wprowadzone na indeksy

            // tu zrob odczyt czy w tabelce ten indeks to statek czy pole

            // jak statek to ustaw z 1 na zero lub cos innego, aby oznaczyc go jako trafiony
            System.out.println(input);

        } while (!input.equals("exit")); // to do warunku dopisz isPlayerWin(tablica) z warunkiem wygranej

    }
}

0

Super podziękował za pomoc:D na pewno się wykorzysta

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.