Without knowing the context we didn't know this, now did we?
Ok, here's the context. Pardon my very rude C language.
// Crazy Race Pinball Display Test ver 0.06
// BallInPlay in progress
// STROBE LINES
const int X[8] = { 25, 27, 24, 51, 23, 29, 22, 49};
// BIT LINES
const int AA = 45; //
const int AB = 35; //
const int AC = 33; //
const int AD = 41; //
const int BA = 37; //
const int BB = 47; //
const int BC = 43; //
const int BD = 31; //
// THE REST
const int DBS = 53; // DISPLAY SELECT
const int ENA = 39; // "ENABLE" (enable what? blanking out leading zeros?)
int match_number = 0;
int BallInPlay=5; // 0-4 = Ball 1-5, 5=Game Over
int Tilt=0;
long int p[4]={0, 22222, 33333, 44444};
long int pp0,pp1;
int digit;
long int lastmilli=0;
void setup()
{
for(int i=0; i<8; i++) pinMode(X[i], OUTPUT);
pinMode(AA, OUTPUT);
pinMode(AB, OUTPUT);
pinMode(AC, OUTPUT);
pinMode(AD, OUTPUT);
pinMode(BA, OUTPUT);
pinMode(BB, OUTPUT);
pinMode(BC, OUTPUT);
pinMode(BD, OUTPUT);
pinMode(DBS, OUTPUT);
pinMode(ENA, OUTPUT);
}
void loop()
{
int i_strobe;
digitalWrite(AA,LOW);
digitalWrite(AB,HIGH);
digitalWrite(AC,LOW);
digitalWrite(AD,LOW);
digitalWrite(BA,LOW);
digitalWrite(BB,LOW);
digitalWrite(BC,LOW);
digitalWrite(BD,LOW);
digitalWrite(ENA,LOW);
if (millis() > lastmilli + 800)
{
p[0]+=3;
p[1]=p[0]+3;
p[2]=p[1]*10+10000;
p[3]=p[0]*2;
lastmilli=millis();
match_number++; if(match_number >9) match_number = 0;
BallInPlay++;
if(BallInPlay > 5)
{
BallInPlay = 0;
Tilt--; Tilt *= -1; // Toggle Tilt/Not Tilt
}
}
pp0=p[0];
pp1=p[3];
digitalWrite(DBS,LOW);
for (i_strobe=0; i_strobe<8; i_strobe++)
{
if(i_strobe==0) digit = 0; // Free Plays
if(i_strobe==1) digit = 1; // Extra Ball
if(i_strobe==2) digit = 7; // 1=upper_right 2=lower_right 4=1M 8=dec_pts
if(i_strobe>2) { digit=(int)(pp0%10); pp0/=10; }
if(digit==1 || digit==3 || digit==5 || digit==7 || digit==9) digitalWrite(AA,HIGH); else digitalWrite(AA,LOW);
if(digit==2 || digit==3 || digit==6 || digit==7) digitalWrite(AB,HIGH); else digitalWrite(AB,LOW);
if(digit>3 && digit<8) digitalWrite(AC,HIGH); else digitalWrite(AC,LOW);
if(digit>7) digitalWrite(AD,HIGH); else digitalWrite(AD,LOW);
if(i_strobe==0) digit = 2; // Credits*10
if(i_strobe==1) digit = 1; // Credits*1
if(i_strobe==2) digit = 7; // 1=upper_right 2=lower_right 4=1M 8=dec_pts
if(i_strobe>2) { digit=(int)(pp1%10); pp1/=10; }
if(digit==1 || digit==3 || digit==5 || digit==7 || digit==9) digitalWrite(BA,HIGH); else digitalWrite(BA,LOW);
if(digit==2 || digit==3 || digit==6 || digit==7) digitalWrite(BB,HIGH); else digitalWrite(BB,LOW);
if(digit>3 && digit<8) digitalWrite(BC,HIGH); else digitalWrite(BC,LOW);
if(digit>7) digitalWrite(BD,HIGH); else digitalWrite(BD,LOW);
//delay(1);
delayMicroseconds(150);
digitalWrite(X[i_strobe], HIGH);
delayMicroseconds(700);
digitalWrite(X[i_strobe], LOW);
}
pp0=p[1];
pp1=p[2];
digitalWrite(DBS,HIGH);
for (i_strobe=0; i_strobe<8; i_strobe++)
{
if(i_strobe==0) digit = BallInPlay + Tilt*8; // Ball in play/Game Over/Tilt
if(i_strobe==1) digit = match_number;
if(i_strobe==2) digit = 7; // 1=upper_right 2=lower_right 4=1M 8=dec_pts
if(i_strobe>2) { digit=(int)(pp0%10); pp0/=10; }
if(digit==1 || digit==3 || digit==5 || digit==7 || digit==9) digitalWrite(AA,HIGH); else digitalWrite(AA,LOW);
if(digit==2 || digit==3 || digit==6 || digit==7) digitalWrite(AB,HIGH); else digitalWrite(AB,LOW);
if(digit>3 && digit<8) digitalWrite(AC,HIGH); else digitalWrite(AC,LOW);
if(digit>7) digitalWrite(AD,HIGH); else digitalWrite(AD,LOW);
if(i_strobe==0) digit = 0; // N/C
if(i_strobe==1) digit = 0; // N/C
if(i_strobe==2) digit = 7; // 1=upper_right 2=lower_right 4=1M 8=dec_pts
if(i_strobe>2) { digit=(int)(pp1%10); pp1/=10; }
if(digit==1 || digit==3 || digit==5 || digit==7 || digit==9) digitalWrite(BA,HIGH); else digitalWrite(BA,LOW);
if(digit==2 || digit==3 || digit==6 || digit==7) digitalWrite(BB,HIGH); else digitalWrite(BB,LOW);
if(digit>3 && digit<8) digitalWrite(BC,HIGH); else digitalWrite(BC,LOW);
if(digit>7) digitalWrite(BD,HIGH); else digitalWrite(BD,LOW);
delayMicroseconds(150);
digitalWrite(X[i_strobe], HIGH);
delayMicroseconds(700);
digitalWrite(X[i_strobe], LOW);
}
}