Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Basic special ability #15

Open
wants to merge 42 commits into
base: master
Choose a base branch
from
Open

Conversation

Gabriel-T-Harris
Copy link
Owner

Essentially everything relating to new features of both Combinatorial Operator and the supporting of Special Abilities. Additionally anything related to those. Thus resulted in a dimensional expansion of underlying data storage.

There are a few other minor things I plan to add to this pull request in terms of commits, but such is the bulk of it.

Now has planned changes applied.

Which are Special Ability stuff and locations to look.

As such certain new limitations exist for names. However none should
come up.
Object will be used to handle cards being in various locations. Is
preparation of special abilities moving cards around.
Added subpackage to handle special abilities.

Also moved around some parts to shift responsibility.
Essentially just some updates to decklists. Thought the Drytron one is a
few months old.
Just made it more dynamic so to speak also correct an oversight.
Added note for how to run in terminal from non-runnable JAR.
Essentially simplified a few sections to just be integer. Which removes
some semantic checking from the tokenizer.
Based on new grammar, added new types accordingly. Also adding notes for
combinatoric operator.
Also renamed a few parts for consistency.
New actions for new stuff. Also renamed condition_card to state hand.
Moved notes. Expanded notes. Implemented non-traversal parts.
Goes with the last commit.
Implemented combinatorial algorithm. Also added test cases for it.
Created class for node. Added support for getting options.
Besides starting new operator, also tweaked visibility of overridden
evaluate function.

Warning, new operator is incomplete. Thus this is not currently stable.
Though like removing it from execuation should result in something
stable.
It should be good, though will be tested further later on with
corresponding examples.
Additionally updated all the nodes which use the evaluate function to
use Game_State.java. So now they are compatible with Game_State.java.
Scenario has now been updated to use Game_State.java.
Add license to Expanded_Leaf_Node.java.
New test files have been created to test the new functionality.
Test of Special Abilities has been completed. Also corrected minor
logical error and oversight in Special_Ability_Manager.java#parse(final
Game_State<R>).

Additionally, tweaked Game_State.java to properly support such Special
Abilities.
Integer is now called non-negative integer. As that is more appropriate.
Essentially just tweaking for code style.
Updated Simulation.java to work with both Game_State.java and Special
Abilities.
The updates largely consist of explaining new functionality.
Forgot to add some licenses to some files, that has now been corrected.
Updated various things such that that new features would work. Including
grammar changes.
@Gabriel-T-Harris Gabriel-T-Harris added documentation Improvements or additions to documentation enhancement New feature or request labels Jan 3, 2023
@Gabriel-T-Harris Gabriel-T-Harris added this to the Version 2 milestone Jan 3, 2023
Also made some messages a bit clearer.
@Gabriel-T-Harris Gabriel-T-Harris marked this pull request as ready for review January 4, 2023 07:08
@Gabriel-T-Harris
Copy link
Owner Author

Essentially the substantial stuff is ready for review. I still plan to finish up some TODOs in Tree_Assembler.java relating to output text files. And then generate all the output files for them.

However, such are largely non-functional. Though will be added before merge.

Not much to see, just finishing Tree_Assembler.java stuff.
Previously various error logging was opt in, now it is opt out.
Basically added way to track stuff seperately.
Such allows for higher performance due to not having to be synchronized.
By each function now instead using a function variable to keep track of
state.
By adding an object pool, instances of tracking are reused. Which should
improve processing time.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants