66 lines
1.1 KiB
Plaintext
66 lines
1.1 KiB
Plaintext
note
|
|
description: "[
|
|
The Sequence of Play step in VITP which can not.
|
|
have any sub-steps
|
|
]"
|
|
author: "Jimmy J. Johnson"
|
|
date: "11/11/23"
|
|
copyright: "Copyright (c) 2023, Jimmy J. Johnson"
|
|
license: "Eiffel Forum v2 (http://www.eiffel.com/licensing/forum.txt)"
|
|
|
|
deferred class
|
|
ATOMIC_STEP
|
|
|
|
inherit
|
|
|
|
GAME_STEP
|
|
redefine
|
|
leaf_step,
|
|
is_empty,
|
|
has,
|
|
extend
|
|
end
|
|
|
|
feature -- Access
|
|
|
|
leaf_step: GAME_STEP
|
|
-- The uncompleted state of the bottom (i.e. a leaf) of
|
|
-- the tree, or Current if all sub_states `is_complete'.
|
|
do
|
|
Result := Current
|
|
ensure then
|
|
definition: Result = Current
|
|
end
|
|
|
|
feature -- Status report
|
|
|
|
is_empty: BOOLEAN = True
|
|
-- Does Current not contain any sub-states?
|
|
-- Always true
|
|
|
|
feature -- Query
|
|
|
|
has (a_state: GAME_STEP): BOOLEAN
|
|
-- Does Current contain `a_state' as a sub-state?
|
|
-- Always false.
|
|
do
|
|
Result := False
|
|
end
|
|
|
|
feature {NONE} -- Basic operations
|
|
|
|
extend (a_state: GAME_STEP)
|
|
-- Make `a_state' a child state of Current
|
|
do
|
|
check
|
|
do_not_call: false then
|
|
-- because Current must remain empty
|
|
end
|
|
end
|
|
|
|
invariant
|
|
|
|
is_empty: is_empty
|
|
|
|
end
|