/
DESIGN
128 lines (97 loc) · 4.51 KB
/
DESIGN
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
High Level happy path user case example.
Bob starts L5R Helper.
Bob chooses to Load Existing character.
Bob selects Toki from the list of his characters.
Bob see's toki's roll, misc bonus window with a '0' a Target number window,
A confidence window prefilled with '95%' an unchecked 'use luck' checkbox
On the bottom half of the screen are a series of boxes under the heading 'Templates' labeled "katana" "extra attack" "void" "bitterlies x1" "bitterlies x2"
"bitterlies x3" "bitterlies x4" "Opponent Missed", "Sozen Str/Agi +5" (add/edit templates context menu here)
all unselected except katana. Bob selects Opponent Missed template and the total roll shows +20 more static bonus
Bob enters 55 for Target Tn and hits calculate. The program pops up that '5 raises can be called with a 95% chance of hitting' Bob presses Ok and is returned to
the previous screen.
AppMainScreen
Load Existing
->Manage Characters (namely deletion for now)
->Manage templates (view, create, delete and set as default or not)
Create New
<Further functionality, share characters over bluetooth?>
Create New ->
Prompt for Name (20 characters) Default View (combat or casting)
Collect attributes. (Rings for casters. Ref and agi for combat. GP and luck for bushi, luck for casters)
When Complete, Load character
Load Existing ->
Display list of profile names.
Character Created or Loaded ->
See Use Case, will fill out later.
DB Schema - Profiles are one per character they store baseline stats and skills. There are Many to one templates to profiles.
A template is a set of bonuses/penalties that can be used to represent changes in combat. (I'm going slower then someone, or perhaps if I have a shuggie stat buff)
Profiles
NOT NULL
oid number(10)
name varchar(20)
defaultViewId number(10)
luck boolean
GP boolean
NULLABLE
Earth Ring, Water Ring, Fire Ring, Air Ring, Void Ring, Reflexes, Agility number(4) (strength needs added if max damage is ever a concern.)
defaultFavoriteId
DefaultViews
NOT NULL
oid number(10)
name varchar(20)
--WeaponSkills MERGE INTO TEMPLATES
Favorites? Entry linking a profile to favorite combos with one name with one RollId and multiple/no templates
oid
profileId
FavoriteName
RollId
Template
EG 1, 1, Normal, 1, 1
2, 1, Normal, 1, 2
3, 1, Normal, 1, 4
4, 1, Double, 2, 1
5, 1, Double, 2, 3
rollChoices
oid
Confidence
range
rank
tntbh
misc value
useluck
Templates
NOT NULL
oid
profileId
name
NULLABLE
Reflexes, Agility number(4)
weapon skill level
useReflexes?
isGpSkill?
FreeRaises
rolled dice
kept dice
TemplateRing/TraitBonus Not currently used.
TemplateId
Ring/traitId
multiplier
#TODO
Get a hosting site. Setup database extensibility. Version to 0.5.0 beta with the above as todo's, collect feedback.
setup state maintenance to handle sleeping/suspending. from http://developer.android.com/reference/android/app/Activity.html#SavingPersistentState
"any edits a user makes are effectively made immediately without requiring an additional confirmation step.
Supporting this model is generally a simple matter of following two rules:
When creating a new document, the backing database entry or file for it is created immediately.
For example, if the user chooses to write a new e-mail, a new entry for that e-mail is created as soon
as they start entering data, so that if they go to any other activity after that point this e-mail will
now appear in the list of drafts.
When an activity's onPause() method is called, it should commit to the backing content provider or file any
changes the user has made. This ensures that those changes will be seen by any other activity that is about
to run. You will probably want to commit your data even more aggressively at key times during your activity's
lifecycle: for example before starting a new activity, before finishing your own activity, when the user switches
between input fields, etc."
Incorporate buttons into the context menu. allow template editing from roll screen through context menu.
Set up defaults/favorites options.
replace zeros with empty text boxes.
Implement above and process feedback from beta
Version to 1.0.0, release to market.