void ReadComputerDataAndUpdateScreen() { curComputer.AddInputData(0); for (int intI = 0; intI < requiredOutputPerCycle; intI++) { curComputer.ResumeProgram(); // 1 } if (curComputer.HasOutputData()) { int xLoc = (int)curComputer.ReadOutputData(); int yLoc = (int)curComputer.ReadOutputData(); if (xLoc < 0) { // score, not the other thing curScore = curComputer.ReadOutputData(); Console.WriteLine(curScore); startDrawing = true; curComputer.AddInputData(0); } else { BlockTypeEnum bt = (BlockTypeEnum)curComputer.ReadOutputData(); screen = Helpers.ExpandListOfLists(screen, xLoc, yLoc); screen[yLoc][xLoc] = bt; if (startDrawing) { //DrawScreen(); } } } }