1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
|
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
|
-
+
|
} else {
if(a->step[a->lstep].start>a->step[a->lstep].end) --o->image; else ++o->image;
}
}
}
const char*execute_turn(int key) {
Uint8 busy,clock;
Uint8 busy,clock,x,y;
Uint32 m,n,turn;
Object*o;
Value v;
int i;
if(!key) {
// This is part of initialization; if anything triggered, it must be executed now
all_flushed=1;
|
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
|
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
|
-
+
+
+
+
|
current_key=0;
if(key_ignored) {
quiz_obj=NVALUE(0);
return changed?"Invalid use of IgnoreKey":0;
}
move_number++;
// Beginning phase
if(!all_flushed) broadcast(m,0,MSG_BEGIN_TURN,m!=VOIDLINK?NVALUE(objects[m]->x):NVALUE(0),m!=VOIDLINK?NVALUE(objects[m]->y):NVALUE(0),v,0);
if(!all_flushed) {
if(m==VOIDLINK) x=0,y=0; else x=objects[m]->x,y=objects[m]->y;
broadcast(m,0,MSG_BEGIN_TURN,NVALUE(x),NVALUE(y),v,0);
}
turn=0;
// Trigger phase
trig:
busy=0;
clock=255;
for(i=0;i<64*pfheight;i++) {
n=playfield[i];
|