Guest User

Untitled

a guest
Jan 24th, 2018
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.77 KB | None | 0 0
  1. /*
  2. * To change this template, choose Tools | Templates
  3. * and open the template in the editor.
  4. */
  5. package javaapplication2;
  6.  
  7. import java.util.Random;
  8. import java.util.Scanner;
  9.  
  10. /**
  11. *
  12. * @author Roman Belda
  13. */
  14. public class JavaApplication2 {
  15.  
  16. /**
  17. * @param args the command line arguments
  18. */
  19. public static void main(String[] args) {
  20.  
  21. Scanner sc = new Scanner(System.in);
  22. Random generator = new Random();
  23.  
  24. //načtení matice
  25. System.out.println("zadejte radky a sloupce");
  26. int a[][];
  27. int ra = sc.nextInt();
  28. int sl = sc.nextInt();
  29. a = new int[ra][sl];
  30. int s = 0;
  31. int r = 0;
  32. //parametry matice
  33. for (int i = 0; i < ra; i++) {
  34. for (int j = 0; j < sl; j++) {
  35. int k = (int) (1 + Math.random() * 100);
  36.  
  37. if (k < 50) {
  38. a[i][j] = 0;
  39. } else {
  40. a[i][j] = 1;
  41. }
  42. }
  43. }
  44.  
  45. //vypsání matice pred pocitanim
  46. for (int i = 0; i < ra; i++) {
  47. for (int j = 0; j < sl; j++) {
  48. System.out.format("%3d", a[i][j]);
  49. }
  50. System.out.println();
  51. }
  52.  
  53.  
  54. //algoritmus na nalezení výherních kombinací
  55. for (int i = 0; i < a.length; i++) {
  56. for (int j = 0; j < a.length; j++) {
  57. if ((j+3) < sl && // vyhra v radku (1)
  58. a[i][j] == 1 &&
  59. a[i][j+1] == a[i][j] &&
  60. a[i][j+2] == a[i][j] &&
  61. a[i][j+3] == a[i][j]){
  62. r++;
  63. a[i][j] = 2;
  64. a[i][j+1] = 2;
  65. a[i][j+2] = 2;
  66. a[i][j+3] = 2;
  67. }
  68. if ((i+3) < ra && // vyhra ve sloupci (1)
  69. a[i][j] == 1 &&
  70. a[i+1][j] == a[i][j] &&
  71. a[i+2][j] == a[i][j] &&
  72. a[i+3][j] == a[i][j]){
  73. r++;
  74. a[i][j] = 2;
  75. a[i+1][j] = 2;
  76. a[i+2][j] = 2;
  77. a[i+3][j] = 2;
  78. }
  79. if ((i+3) < ra && // vyhra v uhlopricce (1)
  80. (j+3) < sl &&
  81. a[i][j] == 1 &&
  82. a[i+1][j+1] == a[i][j] &&
  83. a[i+2][j+2] == a[i][j] &&
  84. a[i+3][j+3] == a[i][j]){
  85. r++;
  86. a[i][j] = 2;
  87. a[i+1][j+1] = 2;
  88. a[i+2][j+2] = 2;
  89. a[i+3][j+3] = 2;
  90. }
  91. if ((i-3) >= 0 && // vyhra v uhlopricce obracena (1)
  92. (j-3) >= 0 &&
  93. a[i][j] == 1 &&
  94. a[i-1][j-1] == a[i][j] &&
  95. a[i-2][j-2] == a[i][j] &&
  96. a[i-3][j-3] == a[i][j]){
  97. r++;
  98. a[i][j] = 2;
  99. a[i-1][j-1] = 2;
  100. a[i-2][j-2] = 2;
  101. a[i-3][j-3] = 2;
  102. } /* ale pocita se vyhra jen v jednom smeru, ale ne v obou */
  103.  
  104. if ((j+3) < sl && // vyhra v radku (0)
  105. a[i][j] == 0 &&
  106. a[i][j+1] == a[i][j] &&
  107. a[i][j+2] == a[i][j] &&
  108. a[i][j+3] == a[i][j]){
  109. s++;
  110. a[i][j] = 3;
  111. a[i][j+1] = 3;
  112. a[i][j+2] = 3;
  113. a[i][j+3] = 3;
  114. }
  115. if ((i+3) < ra && // vyhra ve sloupci (0)
  116. a[i][j] == 0 &&
  117. a[i+1][j] == a[i][j] &&
  118. a[i+2][j] == a[i][j] &&
  119. a[i+3][j] == a[i][j]){
  120. s++;
  121. a[i][j] = 3;
  122. a[i+1][j] = 3;
  123. a[i+2][j] = 3;
  124. a[i+3][j] = 3;
  125. }
  126. if ((i+3) < ra && // vyhra v uhlopricce (1)
  127. (j+3) < sl &&
  128. a[i][j] == 0 &&
  129. a[i+1][j+1] == a[i][j] &&
  130. a[i+2][j+2] == a[i][j] &&
  131. a[i+3][j+3] == a[i][j]){
  132. r++;
  133. a[i][j] = 3;
  134. a[i+1][j+1] = 3;
  135. a[i+2][j+2] = 3;
  136. a[i+3][j+3] = 3;
  137. }
  138. if ((i-3) >= 0 && // vyhra v uhlopricce obracena (1)
  139. (j-3) >= 0 &&
  140. a[i][j] == 0 &&
  141. a[i-1][j-1] == a[i][j] &&
  142. a[i-2][j-2] == a[i][j] &&
  143. a[i-3][j-3] == a[i][j]){
  144. r++;
  145. a[i][j] = 3;
  146. a[i-1][j-1] = 3;
  147. a[i-2][j-2] = 3;
  148. a[i-3][j-3] = 3;
  149. } /* ale pocita se vyhra jen v jednom smeru, ale ne v obou */
  150.  
  151.  
  152. }
  153. }
  154.  
  155. // vypsani vyhry
  156. System.out.format("\nVyhrala jednicka: %d \n", r);
  157. System.out.format("Vyhrala nula: %d \n\n", s);
  158.  
  159. System.out.println("Misto vyhernich jednicek (nahrazeno cislem 2) a nul (nahrazeno cislem 3), aby nedochazelo k podvojnemu uziti jiz pouzitych jednicek a nul :).");
  160. //vypsání matice
  161. for (int i = 0; i < ra; i++) {
  162. for (int j = 0; j < sl; j++) {
  163. System.out.format("%3d", a[i][j]);
  164. }
  165. System.out.println();
  166. }
  167.  
  168. }
  169. }
Add Comment
Please, Sign In to add comment