Parlor Magic - G4 programming info Pointer locator sbr The loc() function returns x0 and y0 booleans; with y0 as the next- location- from- pointer- found truth function, but also x0 as a status indicator for the focus region: set true if the region is empty (hasn't any occupant card or pool). The x0 variable serves to retain the caret pointer in the nul region area just as a visual aid for the user. There'd be no difference in execution in an empty region between rgn=Hm+me; clr(); loc(); and then either if(loc()) or if(!x0 && loc()); but the !x0 prereq retains the _>: pointer (maybe only for the duration of a tic();) whereas the loc() opn erases it. Data structures Where '_' stands for a standard space character. The SepSpc string constant is two adjoining spaces which gets enscribed as "_ ", allowing the browser to break lines as it were at words, and with the special nonbreaking space character replaced by the pointer character when indicated. The NulRgn constant that starts a typical region is "__:" When such a region is clr()ed and the first loc()ate performed the pointer precedes the colon, as " _>:", either if the region is nul (without any occupants) or it has any occupants (note the following examples). Creatures Tax (= tap) status is displayed using and flagged with '(' or ')', where ( indicates untapping at start of user's turn while ) gets untapped at start of mac's turn. Allows for the option of the untapping of a card only on the same turn as it was tapped. eg. __:__)m_>A Nub numeric constant & nby boolean variable flags (nube, nuby, newbie): eg. __:_>9w__A - enscribed to pgm html -   :  *J The asterisk flag in the hp position stands for inactive status, inclusive of MTG "summoning sickness", extended as well to having participated in any activity during an Atk phase. The flag is removed at the next Utx phase regardless of opr. Enchantment attachments following the Cre's basAt position eg. __:__mQ_>A Wound attachments following the Cre's basAt position are coded with the number characters '7..9' that represent individual hits of 1..3 (hit) points. They can be freely mixed in with Enchantment attachment characters. eg. __:__m7_>A hp numeric variable as flag IAW position before basAt; vs wounds attachments. Cres selected in an attacking or blocking group are flagged by `. This allows for blockers to `.be flagged just as attackers are flagged by being taxed, but additionally eg. __:__2w - enscribed to pgm html -   :  2J For example, if the active JC, indicated by its having no symbol in its hp position, is picked as a blocker against an opponent attack, its hp would be flagged as 2 if unwounded to note its enactment - 2w - else say it had it taken a prior wound, its hp would have been left unflagged - w1- until at this point getting reconfigured by a vlu() call at the pointer loc() - 1w. If it employs its volley ability at a blocked attacker it's flagged as taxed on the opponent's turn with ( or ) as appropriate - 1)w. If it remains on board untaxed at the completion of that one attack, to prevent it from being included in blocking or ability use against any subsequent attack, it's flagged as now inactive with any lost hp reassigned to wounds - 9w1. Manorials Source- in pool totals are displayed arranged in the order initially taxed, but when refreshed are revised in order of HDSC encoded #$%&. eg. __:__%4__$2 Alternative game options In one()'s case Cbt+Pt1: If a Cre designated as an Akr or Bkr chooses to Use a special feature (thus becoming taxed), remove it from the equations for Cbt or Dom Ena bonus calcs. a1=0; clr(); rgn=Ft+prn; clr(); loc(); while(loc()){ //`alt tax=false; `opt for Akr Use c1=pos; while(per(++c1)>"" && r0<"A"); //r0 of per() if(is(r1.indexOf(r0))){ //`alt r0)) && !tax) `opt for Akr Use rst=++a1<2; vlu(); //lod acu sunSpt per own() } } b1=0; clr(); rgn=(i1==0?Ft:Dm)+(1-prn); clr(); loc(); while(loc()){ //`alt tax=false; `opt for Bkr Use c1=pos; while(per(++c1)>"" && r0<"A"); //r0 of per() if(i1==0?is(s1.indexOf(r0)):true){ //`alt r0)) && !tax: `opt for Bkr Use rst=++b1<2; vlu(); //lod acu sunSpt per own() } } Java