Advertisement
Guest User

Untitled

a guest
May 24th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. program Tetris;
  2. uses crt;
  3.  
  4. var Colour:integer;
  5. Kolor:array[1..15] of array[1..13] of byte;
  6. Blok:array[1..15] of array[1..13] of boolean;
  7. X,Y:Byte;
  8.  
  9.  
  10.  
  11. procedure Drop;
  12. var X,Y:byte;
  13. begin
  14. For Y:=13 downto 2 do
  15. For X:=1 to 15 do
  16. begin
  17. Blok[X,Y]:=Blok[X,Y-1];
  18. Kolor[X,Y]:=Kolor[X,Y-1];
  19. end;
  20. end;
  21.  
  22. procedure BlockMaker;
  23. var COD:byte; //Color of the day
  24. SOB:byte; //Shape of Block
  25. X,Y:byte;
  26. begin
  27. X:=8; Y:=1;
  28. Blok[X,Y]:=True;
  29. SOB:=Random(5)+1;
  30. COD:=Random(6)+1;
  31. case SOB of
  32. 1: begin
  33. Blok[X+1,Y]:=True;
  34. Blok[X,Y+1]:=True;
  35. Blok[X-1,Y+1]:=True;
  36. Kolor[X+1,Y]:=COD;
  37. Kolor[X,Y+1]:=COD;
  38. Kolor[X-1,Y+1]:=COD;
  39. end;
  40. 2: begin
  41. Blok[X+1,Y]:=True;
  42. Blok[X-1,Y]:=True;
  43. Blok[X-1,Y+1]:=True;
  44. Kolor[X+1,Y]:=COD;
  45. Kolor[X-1,Y]:=COD;
  46. Kolon[X-1,Y+1]:=COD;
  47. end;
  48. 3: begin
  49. Blok[X+1,Y+1]:=True;
  50. Blok[X,Y+1]:=True;
  51. Blok[X-1,Y+1]:=True;
  52. Kolor[X+1,Y+1]:=COD;
  53. Kolor[X,Y+1]:=COD;
  54. Kolor[X-1,Y+1]:=COD;
  55. end;
  56. 4: begin
  57. Blok[X-1,Y]:=True;
  58. Blok[X-1,Y+1]:=True;
  59. Blok[X,Y+1]:=True;
  60. Kolor[X-1,Y]:=COD;
  61. Kolor[X-1,Y+1]:=COD;
  62. Kolor[X,Y+1]:=COD;
  63. end;
  64. 5: begin
  65. Blok[X-1,Y]:=True;
  66. Blok[X+1,Y]:=True;
  67. Blok[X+2,Y]:=True;
  68. Kolor[X-1,Y]:=COD;
  69. Kolor[X+1,Y]:=COD;
  70. Kolor[X+2,Y]:=COD;
  71. end;
  72. end;
  73.  
  74. procedure Board;
  75. var Y,X:byte;
  76. begin
  77. For Y:=1 to 13 do
  78. begin
  79. For X:=1 to 15 do
  80. begin
  81. if Blok[X,Y] then
  82.  
  83. case Kolor[X,Y] of
  84. 1 : TextColor(Blue);
  85. 2 : TextColor(-939497217);
  86. 3 : TextColor(Green);
  87. 4 : TextColor(LightGreen);
  88. 5 : TextColor(Red);
  89. 6 : TextColor(Yellow);
  90. end
  91.  
  92. else TextColor(LightGray);
  93. Write('# ');
  94. end;
  95. WriteLn;
  96. end;
  97. end;
  98.  
  99.  
  100.  
  101.  
  102. begin
  103. randomize;
  104. // test barev
  105.  
  106. For Y:=1 to 13 do
  107. For X:=1 to 15 do
  108. begin
  109. Kolor[X,Y]:=Random(6)+1;
  110. if (Random<0.5) then Blok[X,Y]:=True else Blok[X,Y]:=False;
  111. end;
  112. repeat
  113. Board;
  114. readln;
  115. Drop;
  116. until False;
  117.  
  118.  
  119.  
  120.  
  121.  
  122. readln;
  123. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement