Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package shell;
- import java.util.ArrayList;
- import java.util.List;
- public class Game extends Shell{
- public boolean start = false;
- public boolean vege = false;
- public char[][] tabla = new char[10][10];
- public int akna;
- public int aknaossz;
- public int zaszlo;
- public int win = 0;
- public void feltolt(char[][] tabla){
- for (int i = 0; i < 10; i++) {
- for (int j = 0; j < 10; j++) {
- tabla[j][i] = '_';
- }
- }
- }
- public void kiir(char[][] tabla){
- System.out.println(" A B C D E F G H I J");
- for (int i = 0; i < 10; i++) {
- for (int j = 0; j < 10; j++) {
- if(j == 0 && i != 9){
- format("%d %c ", i+1, tabla[j][i]);
- }
- else if(j == 0 && i == 9){
- format("%d %c ", i+1, tabla[j][i]);
- }
- else if(j == 9 && i != 9){
- format("%c%n", tabla[j][i]);
- }
- else{
- format("%c ", tabla[j][i]);
- }
- }
- }
- }
- public Game(){
- addCommand(new Command("new") {
- @Override
- public boolean execute(String... args){
- if(args.length > 1) return false;
- if(args.length == 1){
- akna = Integer.parseInt(args[0]);
- zaszlo = akna;
- aknaossz = akna;
- if(akna > 99 || akna < 1) return false;
- }
- if(args.length == 0){
- akna = 10;
- aknaossz = akna;
- zaszlo = 10;
- }
- start = true;
- vege = false;
- feltolt(tabla);
- return true;
- }
- });
- // WIN OR LOSE-ra függvényt írni majd
- addCommand(new Command("print"){
- @Override
- public boolean execute(String... args){
- if(args.length > 0 || start == false) return false;
- else{
- kiir(tabla);
- format("%nOsszesen %d akna van elrejtve (%d db-ot jelolt meg)%n", aknaossz, aknaossz-akna);
- format("%d zaszlod maradt hátra!%n", zaszlo);
- if(vege == true) format("A jateknak vege!%n");
- if(win == 1) format("Nyertel!%n");
- if(win == -1) format("Vesztettel!%n");
- }
- return true;
- }
- });
- addCommand(new Command("flag"){
- @Override
- public boolean execute(String... args){
- if(args.length != 2 || start == false || zaszlo == 0 || vege == true) {
- System.out.println("1. feltetelnel halt meg (alapok)");
- return false;
- }
- if(!args[0].equals("A") && !args[0].equals("B") && !args[0].equals("C") && !args[0].equals("D") && !args[0].equals("E")
- && !args[0].equals("F") && !args[0].equals("G") && !args[0].equals("H") && !args[0].equals("I") && !args[0].equals("J"))
- return false;
- int sor= Integer.parseInt(args[1])-1;
- if(sor>9 || sor<0)
- return false;
- int oszlop = 0;
- if(args[0].equals("A")) oszlop = 0;
- if(args[0].equals("B")) oszlop = 1;
- if(args[0].equals("C")) oszlop = 2;
- if(args[0].equals("D")) oszlop = 3;
- if(args[0].equals("E")) oszlop = 4;
- if(args[0].equals("F")) oszlop = 5;
- if(args[0].equals("G")) oszlop = 6;
- if(args[0].equals("H")) oszlop = 7;
- if(args[0].equals("I")) oszlop = 8;
- if(args[0].equals("J")) oszlop = 9;
- else if(tabla[oszlop][sor] != '_'){
- return false;
- }
- else{
- tabla[oszlop][sor] = 'F';
- zaszlo--;
- akna--;
- }
- return true;
- }
- });
- addCommand(new Command("unflag"){
- @Override
- public boolean execute(String... args){
- if(args.length != 2 || start == false || zaszlo == 0 || vege == true) {
- System.out.println("1. feltetelnel halt meg (alapok)");
- return false;
- }
- if(!args[0].equals("A") && !args[0].equals("B") && !args[0].equals("C") && !args[0].equals("D") && !args[0].equals("E")
- && !args[0].equals("F") && !args[0].equals("G") && !args[0].equals("H") && !args[0].equals("I") && !args[0].equals("J"))
- return false;
- int sor= Integer.parseInt(args[1])-1;
- if(sor>9 || sor<0)
- return false;
- if(zaszlo == aknaossz) return false;
- int oszlop = 0;
- if(args[0].equals("A")) oszlop = 0;
- if(args[0].equals("B")) oszlop = 1;
- if(args[0].equals("C")) oszlop = 2;
- if(args[0].equals("D")) oszlop = 3;
- if(args[0].equals("E")) oszlop = 4;
- if(args[0].equals("F")) oszlop = 5;
- if(args[0].equals("G")) oszlop = 6;
- if(args[0].equals("H")) oszlop = 7;
- if(args[0].equals("I")) oszlop = 8;
- if(args[0].equals("J")) oszlop = 9;
- else if(tabla[oszlop][sor] != 'F'){
- System.out.println("4. feltetelnel halt meg('_')");
- return false;
- }
- else{
- tabla[oszlop][sor] = '_';
- zaszlo++;
- akna++;
- }
- return true;
- }
- });
- addCommand(new Command("fire"){
- @Override
- public boolean execute(String... args){
- if(args.length != 2 || start == false || vege == true)
- return false;
- int sor= Integer.parseInt(args[1])-1;
- if(sor>9 || sor<0)
- return false;
- int oszlop = 0;
- if(args[0].equals("A")) oszlop = 0;
- if(args[0].equals("B")) oszlop = 1;
- if(args[0].equals("C")) oszlop = 2;
- if(args[0].equals("D")) oszlop = 3;
- if(args[0].equals("E")) oszlop = 4;
- if(args[0].equals("F")) oszlop = 5;
- if(args[0].equals("G")) oszlop = 6;
- if(args[0].equals("H")) oszlop = 7;
- if(args[0].equals("I")) oszlop = 8;
- if(args[0].equals("J")) oszlop = 9;
- if(!(tabla[oszlop][sor] == '_') && !(tabla[oszlop][sor] == '1') && !(tabla[oszlop][sor] == '2') && !(tabla[oszlop][sor] == '3')
- && !(tabla[oszlop][sor] == '4') && !(tabla[oszlop][sor] == '5') && !(tabla[oszlop][sor] == '6') && !(tabla[oszlop][sor] == '7')
- && !(tabla[oszlop][sor] == '8') && !(tabla[oszlop][sor] == '9') && !(tabla[oszlop][sor] == '0')){
- return false;
- }
- else{
- List<Result> lista = new ArrayList<>();
- lista.clear();
- lista.addAll(resultOfShot(sor, oszlop));
- for (int i = 0; i < lista.size(); i++) {
- if(lista.get(i).getValue() == 0)
- tabla[lista.get(i).getColumn()][lista.get(i).getRow()] = '0';
- if(lista.get(i).getValue() == 1)
- tabla[lista.get(i).getColumn()][lista.get(i).getRow()] = '1';
- if(lista.get(i).getValue() == 2)
- tabla[lista.get(i).getColumn()][lista.get(i).getRow()] = '2';
- if(lista.get(i).getValue() == 3)
- tabla[lista.get(i).getColumn()][lista.get(i).getRow()] = '3';
- if(lista.get(i).getValue() == 4)
- tabla[lista.get(i).getColumn()][lista.get(i).getRow()] = '4';
- if(lista.get(i).getValue() == 5)
- tabla[lista.get(i).getColumn()][lista.get(i).getRow()] = '5';
- if(lista.get(i).getValue() == 6)
- tabla[lista.get(i).getColumn()][lista.get(i).getRow()] = '6';
- if(lista.get(i).getValue() == 7)
- tabla[lista.get(i).getColumn()][lista.get(i).getRow()] = '7';
- if(lista.get(i).getValue() == 8)
- tabla[lista.get(i).getColumn()][lista.get(i).getRow()] = '8';
- if(lista.get(i).getValue() == Result.MINE){
- vege = true;
- win = -1;
- tabla[lista.get(i).getColumn()][lista.get(i).getRow()] = '*';
- System.out.println("LOSE!");
- }
- }
- int megvan = 0;
- for (int i = 0; i < 10; i++) {
- for (int j = 0; j < 10; j++) {
- if(tabla[j][i] != '_') megvan++;
- }
- }
- if(megvan == 100 || megvan + akna == 100){
- System.out.println("WIN!");
- win = 1;
- vege = true;
- }
- return true;
- }
- }
- });
- addCommand(new Command("solution"){
- @Override
- public boolean execute(String... args){
- if(args.length != 0 || start == false || vege == false)
- return false;
- else
- System.out.println(solution());
- return true;
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement