Guest User

Untitled

a guest
Apr 26th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.06 KB | None | 0 0
  1. #![feature(rustc_private)]
  2. extern crate rand;
  3. use rand::Rng;
  4.  
  5. fn main() {}
  6.  
  7. #[derive(Debug)]
  8. pub struct Tetris {
  9. shapetype:Shape,
  10. shape: [[u8;4];4]
  11. }
  12.  
  13. pub struct ActiveTetris {
  14. tetris: &'static Tetris,
  15. }
  16.  
  17.  
  18. impl Tetris {
  19. pub fn create_Tetris() -> ActiveTetris {
  20.  
  21. // 生成1到100之间的数字
  22. // let secret_number = rand::thread_rng().gen_range(1, 101);
  23.  
  24. ActiveTetris{
  25. tetris:rand::thread_rng().choose(&TETRIS_LIST).unwrap(),
  26. }
  27. }
  28. }
  29.  
  30. /// The set of available colors for use with a Windows console.
  31. #[derive(Clone, Copy, Debug, Eq, PartialEq)]
  32. pub enum Dir {
  33. UP,DOWN,LEFT,RIGHT,None
  34. }
  35.  
  36.  
  37. #[derive(Clone, Copy, Debug, Eq, PartialEq)]
  38. pub enum Shape {
  39. LONG1,LONG2,SQUARE,OBLIQUE1,OBLIQUE2,TIP1,TIP2,TIP3,TIP4,FORK1,FORK2,FORK3,FORK4
  40. }
  41.  
  42. pub static TETRIS_LIST:[Tetris;13] = [
  43. Tetris {
  44. shapetype:Shape::LONG1,
  45. shape: [[0,0,1,0],
  46. [0,0,1,0],
  47. [0,0,1,0],
  48. [0,0,1,0]] // 长形
  49. },
  50.  
  51. Tetris {
  52. shapetype:Shape::LONG2,
  53. shape: [[0,0,0,0],
  54. [0,0,0,0],
  55. [0,0,0,0],
  56. [1,1,1,1]] // 长形
  57. },
  58.  
  59. Tetris {
  60. shapetype:Shape::SQUARE,
  61. shape: [[0,0,0,0],
  62. [0,0,0,0],
  63. [0,1,1,0],
  64. [0,1,1,0]] // 方形
  65. },
  66.  
  67. Tetris {
  68. shapetype:Shape::OBLIQUE1,
  69. shape: [[0,0,0,0],
  70. [0,1,0,0],
  71. [0,1,1,0],
  72. [0,0,1,0]] // 斜形
  73. },
  74.  
  75. Tetris {
  76. shapetype:Shape::OBLIQUE2,
  77. shape: [[0,0,0,0],
  78. [0,0,0,0],
  79. [0,0,1,1],
  80. [0,1,1,0]] // 斜形
  81. },
  82.  
  83. Tetris {
  84. shapetype:Shape::TIP1,
  85. shape: [[0,0,0,0],
  86. [0,1,0,0],
  87. [0,1,1,0],
  88. [0,1,0,0]] // 尖形
  89. },
  90.  
  91. Tetris {
  92. shapetype:Shape::TIP2,
  93. shape: [[0,0,0,0],
  94. [0,0,0,0],
  95. [0,1,0,0],
  96. [1,1,1,0]] // 尖形
  97. },
  98.  
  99. Tetris {
  100. shapetype:Shape::TIP3,
  101. shape: [[0,0,0,0],
  102. [0,0,1,0],
  103. [0,1,1,0],
  104. [0,0,1,0]] // 尖形
  105. },
  106.  
  107. Tetris {
  108. shapetype:Shape::TIP4,
  109. shape: [[0,0,0,0],
  110. [0,0,0,0],
  111. [1,1,1,0],
  112. [0,1,0,0]] // 尖形
  113. },
  114.  
  115. Tetris {
  116. shapetype:Shape::FORK1,
  117. shape: [[0,0,0,0],
  118. [0,1,1,0],
  119. [0,0,1,0],
  120. [0,0,1,0]] // 叉形
  121. },
  122.  
  123. Tetris {
  124. shapetype:Shape::FORK2,
  125. shape: [[0,0,0,0],
  126. [0,0,1,0],
  127. [1,1,1,0],
  128. [0,0,0,0]] // 叉形
  129. },
  130.  
  131. Tetris {
  132. shapetype:Shape::FORK3,
  133. shape: [[0,0,0,0],
  134. [0,1,0,0],
  135. [0,1,0,0],
  136. [0,1,1,0]] // 叉形
  137. },
  138.  
  139. Tetris {
  140. shapetype:Shape::FORK4,
  141. shape: [[0,0,0,0],
  142. [0,1,1,1],
  143. [0,1,0,0],
  144. [0,0,0,0]] // 叉形
  145. },
  146. ];
Add Comment
Please, Sign In to add comment