Advertisement
Guest User

Untitled

a guest
Mar 21st, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. import java.util.Random;
  2.  
  3. public class TestMain {
  4. static Random rnd = new Random();
  5. public static void main(String[] args) throws InterruptedException {
  6.  
  7. TV[][] tvs = new TV[10][10];
  8. for (int col = 0; col < 10; col++)
  9. {
  10. for (int row = 0; row < 10; row++)
  11. {
  12. tvs[col][row] = new TV(10, 10, 0);
  13. }
  14. }
  15.  
  16. for (int i = 0; i < 100; i++)
  17. {
  18. resetCursorPos();
  19. printTV(tvs);
  20. shuffleTV(tvs);
  21. Thread.sleep(1000);
  22. }
  23. }
  24.  
  25. private static void shuffleTV(TV[][] tvs) {
  26. for (int col = 0; col < 10; col++)
  27. {
  28. for (int row = 0; row < 10; row++)
  29. {
  30. TV t = tvs[col][row];
  31. t.powered = (rnd.nextInt(10) % 2 == 0);
  32. for (int i = rnd.nextInt(100); i > 0; i--)
  33. {
  34. if (rnd.nextInt(10) % 2 == 0) {
  35. t.channelUp();
  36. }
  37. else
  38. {
  39. t.channelDown();
  40. }
  41. }
  42. }
  43. }
  44. }
  45.  
  46. private static void resetCursorPos() {
  47. char escCode = 0x1B;
  48. int row = 10; int column = 10;
  49. System.out.print(String.format("%c[%d;%df",escCode,row,column));
  50. }
  51.  
  52. private static void printTV(TV[][] tvs) {
  53. for (int col = 0; col < 10; col++)
  54. {
  55. for (int row = 0; row < 10; row++)
  56. {
  57. TV t = tvs[col][row];
  58. System.out.print(padRight(String.format(" Powered %s : Channel %d ", (t.powered ? "On" : "Off"), t.channel), 28));
  59. }
  60. System.out.println();
  61. }
  62. }
  63.  
  64. public static String padRight(String s, int n) {
  65. return String.format("%1$-" + n + "s", s);
  66. }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement