fields Module



Contents


Derived Types

type, public :: Field

Components

TypeVisibility AttributesNameInitial
real, public :: move_time =0.5
integer(kind=c_int), public :: sleep_incr =50
real, public :: difffact =1.
integer, public :: level =1
real, public :: diffinc =1.2
integer, public :: score =0
integer, public :: Nblock =0
integer, public :: Ncleared =0
integer, public :: lines_per_level =10
integer, public :: bonus(-1:4) =[-100, 0, 40, 100, 300, 1200]
character(len=1), public :: blockseq(10000) =""
integer, public :: toc
integer, public :: tic
integer, public :: H
integer, public :: W
integer, public :: x0
integer, public, allocatable:: screen(:,:)
logical, public :: debug =.false.
integer, public :: udbg
logical, public :: newhit =.false.
logical, public :: cheat =.false.
logical, public :: AI

Type-Bound Procedures

procedure, public :: clear_lines
procedure, public :: levelup
procedure, public :: setup

Subroutines

private subroutine setup(self, W, H, x0, AI, difffact, debug)

Arguments

Type IntentOptional AttributesName
class(Field), intent(inout) :: self
integer, intent(in) :: W
integer, intent(in) :: H
integer, intent(in), optional :: x0
logical, intent(in), optional :: AI
real, intent(in), optional :: difffact
logical, intent(in), optional :: debug

private subroutine levelup(self)

Arguments

Type IntentOptional AttributesName
class(Field), intent(inout) :: self

private subroutine clear_lines(self)

Arguments

Type IntentOptional AttributesName
class(Field), intent(inout) :: self