Domino Clock

Alright I've done some work on it. Probably my way is way too long but anyways just see if it makes any sense.

#include <Time.h>

int latchPin = 8;
int clockPin = 12;
int dataPin = 11;

byte dataArrayHour[12];

void setup() {

pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);

     //Hour matrix bits
dataArrayHour[1] = 1024 //000000000000010000000000
dataArrayHour[2] = 525312 //000010000000010000000000
dataArrayHour[3] = 540736 //000010000100000001000000
dataArrayHour[4] = 8437824 //100000001100000001000000
dataArrayHour[5] = 8438848 //100000001100010001000000
dataArrayHour[6] = 8963136 //100010001100010001000000
dataArrayHour[7] = 8966464 //100010001101000101000000
dataArrayHour[8] = 10670400 //101000101101000101000000
dataArrayHour[9] = 10671424 //101000101101010101000000
dataArrayHour[10] = 11195712 //101010101101010101000000
dataArrayHour[11] = 11197248 //101010101101101101000000
dataArrayHour[12] = 11983680 //101101101101101101000000


}

void loop() {
  // put your main code here, to run repeatedly: 
if (hourFormat12() == 1) {
  digitalWrite(latchPin, LOW);
  shiftOut(dataPin, clockPin, MSBFIRST, dataArrayHour[1]);
  digitalWrite(latchPin, HIGH);
}
else if (hourFormat12() == 2) {
  digitalWrite(latchPin, LOW);
  shiftOut(dataPin, clockPin, MSBFIRST, dataArrayHour[2]);
  digitalWrite(latchPin, HIGH);
}
else if ........


}

You guys think this would work?