Tetris project

Hey op het moment zit ik in 5 havo en dus mijn laatste jaar. Voor mijn PWS (bij wiskunde) heb ik gekozen om Tetris te maken met een arduino. Ik probeer het beetje bij beetje te doen en ik weet nog niet veel van coderen dus dat moet ik helemaal autodidact doen. voor nu heb ik een klein led matrix gemaakt van 2x8 leds die ik aan een shift register heb gezet. Het lukt me om er voor te zorgen dat de leds van boven naar beneden gaan. de volgende stap is om er voor te zorgen dat de leds stoppen als ze bij de onderste led zijn en dat als daar een led weer van boven naar beneden gaat en er tegen aan komt dat die ook aan blijft zodat ze opstapelen net zoals bij tetris. Kan iemand mij helpen? dit is mijn code tot nu toe.

//Zeggen welke pin bij wat hoort.
int Data = 2;
int Store = 3;
int clockShift = 4;
int Links = 5;
int Rechts = 6;

byte Leds = 0;

void updateShiftRegister() {
digitalWrite(Store, LOW);
shiftOut(Data, clockShift, LSBFIRST, Leds);
digitalWrite(Store, HIGH);
}

void setup() {
//zeggen wat een input en wat een output is.
pinMode(Data, OUTPUT);
pinMode(Store, OUTPUT);
pinMode(clockShift, OUTPUT);
pinMode(Links, OUTPUT);
pinMode(Rechts, OUTPUT);

}
// de loop om er voor te zorgen dat alle leds van boven naar beneden gaan.
void loop() {
digitalWrite(Rechts, HIGH);
digitalWrite(Links, LOW);
for (int i = 0; i < 8; i++) {
Leds = 1 << i;
if (i = 8) {
digitalWrite(Leds, HIGH);
}
updateShiftRegister();
delay(1000);
}
}

je zult eerst even uit moeten leggen wat er op die schuifregisters zit.
ik neem even aan dat je twee kolommen hebt met elk 8 leds, en dus elk kolom zijn eigen schuifregister?
dan maak je in je geheugen dus 2 bytes aan, een voor links en een voor rechts.
daar kun je dus meespelen wat je wilt door een bit hoog te zetten of laag te zetten
dan doe je een update voor de linkse en voor de rechtse achter elkaar.
dan even pauze om te laten zien wat je gemaakt hebt, en dan weer verder.
je moet ook leds uitzetten want anders zie je niks meer, want dan gaan ze allemaal aan.
alles in software oplossen, en de hardware in de update gebruiken is veel sneller.
en om je code leesbaar te houden moet je deze in codetags zetten.