From 7795d6e35e067e54f14ff34a9cf5a2a96c0becb7 Mon Sep 17 00:00:00 2001 From: Jeffrey Armstrong Date: Fri, 6 Jun 2014 10:16:16 -0400 Subject: Initial code commit for Fetris. --- piece.f90 | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 piece.f90 (limited to 'piece.f90') 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 -- cgit v1.2.3