diff options
| author | Jeffrey Armstrong <jeffrey.armstrong@approximatrix.com> | 2014-06-06 10:16:16 -0400 |
|---|---|---|
| committer | Jeffrey Armstrong <jeffrey.armstrong@approximatrix.com> | 2014-06-06 10:16:16 -0400 |
| commit | 7795d6e35e067e54f14ff34a9cf5a2a96c0becb7 (patch) | |
| tree | 790ab1b00ac36eb3238cacfb6d9c383af83722d0 /piece.f90 | |
| download | fetris-7795d6e35e067e54f14ff34a9cf5a2a96c0becb7.tar.gz fetris-7795d6e35e067e54f14ff34a9cf5a2a96c0becb7.zip | |
Initial code commit for Fetris.
Diffstat (limited to 'piece.f90')
| -rw-r--r-- | piece.f90 | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/piece.f90 b/piece.f90 new file mode 100644 index 0000000..66c3b32 --- /dev/null +++ b/piece.f90 @@ -0,0 +1,51 @@ +module m_piece +implicit none + + type piece + integer, dimension(0:3, 0:3)::blocks + integer::r, c + end type piece + +contains + + function new_piece() + use m_constants + implicit none + + type(piece)::new_piece + real::r + integer::rint + + new_piece%r = ROWS-1 + new_piece%c = COLUMNS/2-2 + + call random_number(r) + rint = floor(r*7) + + new_piece%blocks = 0 + + select case (rint) + case (0) + new_piece%blocks(1:2,1:2) = 1 + case (1) + new_piece%blocks(:,2) = 1 + case (2) + new_piece%blocks(2,1:3) = 1 + new_piece%blocks(1,2) = 1 + case (3) + new_piece%blocks(1,2:3) = 1 + new_piece%blocks(2,1:2) = 1 + case (4) + new_piece%blocks(2,2:3) = 1 + new_piece%blocks(1,1:2) = 1 + case (5) + new_piece%blocks(0:2,1) = 1 + new_piece%blocks(2,2) = 1 + case (6) + new_piece%blocks(0:2,2) = 1 + new_piece%blocks(2,1) = 1 + end select + + end function + +end module m_piece
\ No newline at end of file |
