Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package javaapplication2;
- import java.util.Random;
- import java.util.Scanner;
- /**
- *
- * @author Roman Belda
- */
- public class JavaApplication2 {
- /**
- * @param args the command line arguments
- */
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- Random generator = new Random();
- //načtení matice
- System.out.println("zadejte radky a sloupce");
- int a[][];
- int ra = sc.nextInt();
- int sl = sc.nextInt();
- a = new int[ra][sl];
- int s = 0;
- int r = 0;
- //parametry matice
- for (int i = 0; i < ra; i++) {
- for (int j = 0; j < sl; j++) {
- int k = (int) (1 + Math.random() * 100);
- if (k < 50) {
- a[i][j] = 0;
- } else {
- a[i][j] = 1;
- }
- }
- }
- //vypsání matice pred pocitanim
- for (int i = 0; i < ra; i++) {
- for (int j = 0; j < sl; j++) {
- System.out.format("%3d", a[i][j]);
- }
- System.out.println();
- }
- //algoritmus na nalezení výherních kombinací
- for (int i = 0; i < a.length; i++) {
- for (int j = 0; j < a.length; j++) {
- if ((j+3) < sl && // vyhra v radku (1)
- a[i][j] == 1 &&
- a[i][j+1] == a[i][j] &&
- a[i][j+2] == a[i][j] &&
- a[i][j+3] == a[i][j]){
- r++;
- a[i][j] = 2;
- a[i][j+1] = 2;
- a[i][j+2] = 2;
- a[i][j+3] = 2;
- }
- if ((i+3) < ra && // vyhra ve sloupci (1)
- a[i][j] == 1 &&
- a[i+1][j] == a[i][j] &&
- a[i+2][j] == a[i][j] &&
- a[i+3][j] == a[i][j]){
- r++;
- a[i][j] = 2;
- a[i+1][j] = 2;
- a[i+2][j] = 2;
- a[i+3][j] = 2;
- }
- if ((i+3) < ra && // vyhra v uhlopricce (1)
- (j+3) < sl &&
- a[i][j] == 1 &&
- a[i+1][j+1] == a[i][j] &&
- a[i+2][j+2] == a[i][j] &&
- a[i+3][j+3] == a[i][j]){
- r++;
- a[i][j] = 2;
- a[i+1][j+1] = 2;
- a[i+2][j+2] = 2;
- a[i+3][j+3] = 2;
- }
- if ((i-3) >= 0 && // vyhra v uhlopricce obracena (1)
- (j-3) >= 0 &&
- a[i][j] == 1 &&
- a[i-1][j-1] == a[i][j] &&
- a[i-2][j-2] == a[i][j] &&
- a[i-3][j-3] == a[i][j]){
- r++;
- a[i][j] = 2;
- a[i-1][j-1] = 2;
- a[i-2][j-2] = 2;
- a[i-3][j-3] = 2;
- } /* ale pocita se vyhra jen v jednom smeru, ale ne v obou */
- if ((j+3) < sl && // vyhra v radku (0)
- a[i][j] == 0 &&
- a[i][j+1] == a[i][j] &&
- a[i][j+2] == a[i][j] &&
- a[i][j+3] == a[i][j]){
- s++;
- a[i][j] = 3;
- a[i][j+1] = 3;
- a[i][j+2] = 3;
- a[i][j+3] = 3;
- }
- if ((i+3) < ra && // vyhra ve sloupci (0)
- a[i][j] == 0 &&
- a[i+1][j] == a[i][j] &&
- a[i+2][j] == a[i][j] &&
- a[i+3][j] == a[i][j]){
- s++;
- a[i][j] = 3;
- a[i+1][j] = 3;
- a[i+2][j] = 3;
- a[i+3][j] = 3;
- }
- if ((i+3) < ra && // vyhra v uhlopricce (1)
- (j+3) < sl &&
- a[i][j] == 0 &&
- a[i+1][j+1] == a[i][j] &&
- a[i+2][j+2] == a[i][j] &&
- a[i+3][j+3] == a[i][j]){
- r++;
- a[i][j] = 3;
- a[i+1][j+1] = 3;
- a[i+2][j+2] = 3;
- a[i+3][j+3] = 3;
- }
- if ((i-3) >= 0 && // vyhra v uhlopricce obracena (1)
- (j-3) >= 0 &&
- a[i][j] == 0 &&
- a[i-1][j-1] == a[i][j] &&
- a[i-2][j-2] == a[i][j] &&
- a[i-3][j-3] == a[i][j]){
- r++;
- a[i][j] = 3;
- a[i-1][j-1] = 3;
- a[i-2][j-2] = 3;
- a[i-3][j-3] = 3;
- } /* ale pocita se vyhra jen v jednom smeru, ale ne v obou */
- }
- }
- // vypsani vyhry
- System.out.format("\nVyhrala jednicka: %d \n", r);
- System.out.format("Vyhrala nula: %d \n\n", s);
- System.out.println("Misto vyhernich jednicek (nahrazeno cislem 2) a nul (nahrazeno cislem 3), aby nedochazelo k podvojnemu uziti jiz pouzitych jednicek a nul :).");
- //vypsání matice
- for (int i = 0; i < ra; i++) {
- for (int j = 0; j < sl; j++) {
- System.out.format("%3d", a[i][j]);
- }
- System.out.println();
- }
- }
- }
Add Comment
Please, Sign In to add comment