Field Derived Type

type, public :: Field


Contents


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

  • private subroutine clear_lines(self)

    Arguments

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

procedure, public :: levelup

  • private subroutine levelup(self)

    Arguments

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

procedure, public :: setup

  • 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