public Chunk(int diff, bool inverse, bool jump) { Rows = new List <Row>(); switch (diff) { case 0: Row.AddRow(true, true, true, true, inverse, jump, Rows); break; case 1: Row.AddRow(false, true, true, false, inverse, jump, Rows); Row.AddRow(false, true, true, false, inverse, jump, Rows); Row.AddRow(false, null, true, false, inverse, jump, Rows); Row.AddRow(false, true, null, false, inverse, jump, Rows); Row.AddRow(false, true, true, false, inverse, jump, Rows); break; case 2: Row.AddRow(false, true, true, false, inverse, jump, Rows); Row.AddRow(true, true, true, true, inverse, jump, Rows); Row.AddRow(true, false, false, true, inverse, jump, Rows); Row.AddRow(true, true, true, true, inverse, jump, Rows); Row.AddRow(true, true, true, true, inverse, jump, Rows); break; case 3: Row.AddRow(false, true, true, false, inverse, jump, Rows); Row.AddRow(false, false, true, false, inverse, jump, Rows); Row.AddRow(false, false, true, false, inverse, jump, Rows); Row.AddRow(false, false, true, false, inverse, jump, Rows); Row.AddRow(false, true, true, false, inverse, jump, Rows); break; case 4: Row.AddRow(true, true, true, true, inverse, jump, Rows); Row.AddRow(true, false, false, false, inverse, jump, Rows); Row.AddRow(true, true, true, true, inverse, jump, Rows); Row.AddRow(false, false, false, true, inverse, jump, Rows); Row.AddRow(true, true, true, true, inverse, jump, Rows); break; case 5: Row.AddRow(false, true, false, false, inverse, jump, Rows); Row.AddRow(false, true, false, false, inverse, jump, Rows); Row.AddRow(null, true, true, true, inverse, jump, Rows); Row.AddRow(true, false, false, true, inverse, jump, Rows); Row.AddRow(true, false, false, true, inverse, jump, Rows); break; case 6: Row.AddRow(true, false, true, true, inverse, jump, Rows); Row.AddRow(true, false, true, true, inverse, jump, Rows); Row.AddRow(true, false, true, true, inverse, jump, Rows); Row.AddRow(true, false, true, true, inverse, jump, Rows); Row.AddRow(true, false, true, true, inverse, jump, Rows); Row.AddRow(true, false, true, true, inverse, jump, Rows); Row.AddRow(true, false, false, false, inverse, jump, Rows); Row.AddRow(true, false, true, true, inverse, jump, Rows); break; case 7: Row.AddRow(true, true, false, false, inverse, jump, Rows); Row.AddRow(false, true, true, false, inverse, jump, Rows); Row.AddRow(false, true, true, false, inverse, jump, Rows); Row.AddRow(false, false, true, true, inverse, jump, Rows); Row.AddRow(false, false, null, null, inverse, jump, Rows); Row.AddRow(false, false, true, true, inverse, jump, Rows); Row.AddRow(false, false, true, true, inverse, jump, Rows); Row.AddRow(false, true, true, false, inverse, jump, Rows); Row.AddRow(false, true, true, false, inverse, jump, Rows); Row.AddRow(true, true, false, false, inverse, jump, Rows); break; case 8: Row.AddRow(true, false, false, false, inverse, jump, Rows); Row.AddRow(true, false, false, true, inverse, jump, Rows); Row.AddRow(true, false, false, true, inverse, jump, Rows); Row.AddRow(true, true, null, true, inverse, jump, Rows); Row.AddRow(false, false, false, true, inverse, jump, Rows); break; case 9: Row.AddRow(true, true, true, true, inverse, jump, Rows); Row.AddRow(false, true, false, false, inverse, jump, Rows); Row.AddRow(false, true, true, true, inverse, jump, Rows); Row.AddRow(false, true, false, true, inverse, jump, Rows); Row.AddRow(false, false, false, null, inverse, jump, Rows); break; case 10: Row.AddRow(false, true, false, false, inverse, jump, Rows); Row.AddRow(null, null, null, null, inverse, jump, Rows); Row.AddRow(false, true, false, false, inverse, jump, Rows); Row.AddRow(null, null, true, false, inverse, jump, Rows); Row.AddRow(false, false, true, false, inverse, jump, Rows); break; case 11: Row.AddRow(true, true, true, false, inverse, jump, Rows); Row.AddRow(true, false, null, false, inverse, jump, Rows); Row.AddRow(true, null, true, false, inverse, jump, Rows); Row.AddRow(false, false, true, false, inverse, jump, Rows); Row.AddRow(false, false, true, false, inverse, jump, Rows); break; case 12: Row.AddRow(true, false, true, false, inverse, jump, Rows); Row.AddRow(false, true, false, true, inverse, jump, Rows); Row.AddRow(false, true, false, true, inverse, jump, Rows); Row.AddRow(true, null, true, null, inverse, jump, Rows); Row.AddRow(true, false, true, false, inverse, jump, Rows); Row.AddRow(false, true, false, true, inverse, jump, Rows); Row.AddRow(null, true, null, true, inverse, jump, Rows); Row.AddRow(true, false, true, false, inverse, jump, Rows); break; case 13: Row.AddRow(false, true, false, true, inverse, jump, Rows); Row.AddRow(false, null, true, null, inverse, jump, Rows); Row.AddRow(false, false, true, false, inverse, jump, Rows); Row.AddRow(false, false, null, false, inverse, jump, Rows); Row.AddRow(false, false, true, false, inverse, jump, Rows); break; case 14: Row.AddRow(true, false, false, false, inverse, jump, Rows); Row.AddRow(true, false, false, false, inverse, jump, Rows); Row.AddRow(true, true, true, false, inverse, jump, Rows); Row.AddRow(false, true, true, false, inverse, jump, Rows); Row.AddRow(true, null, false, true, inverse, jump, Rows); break; case 15: Row.AddRow(true, false, false, false, inverse, jump, Rows); Row.AddRow(true, true, false, false, inverse, jump, Rows); Row.AddRow(false, true, true, false, inverse, jump, Rows); Row.AddRow(false, false, true, true, inverse, jump, Rows); Row.AddRow(false, false, false, true, inverse, jump, Rows); Row.AddRow(false, false, false, null, inverse, jump, Rows); Row.AddRow(false, false, true, true, inverse, jump, Rows); Row.AddRow(false, true, true, false, inverse, jump, Rows); Row.AddRow(true, true, false, false, inverse, jump, Rows); Row.AddRow(true, false, false, false, inverse, jump, Rows); break; case 16: Row.AddRow(true, false, false, false, inverse, jump, Rows); Row.AddRow(true, true, false, false, inverse, jump, Rows); Row.AddRow(false, true, true, false, inverse, jump, Rows); Row.AddRow(true, false, true, true, inverse, jump, Rows); Row.AddRow(true, false, false, true, inverse, jump, Rows); Row.AddRow(null, false, false, null, inverse, jump, Rows); Row.AddRow(true, false, true, true, inverse, jump, Rows); Row.AddRow(false, true, true, false, inverse, jump, Rows); Row.AddRow(true, true, false, false, inverse, jump, Rows); Row.AddRow(true, false, false, false, inverse, jump, Rows); break; case 17: Row.AddRow(true, false, false, true, inverse, jump, Rows); Row.AddRow(true, true, true, false, inverse, jump, Rows); Row.AddRow(false, true, true, false, inverse, jump, Rows); Row.AddRow(true, false, null, true, inverse, jump, Rows); Row.AddRow(false, true, false, true, inverse, jump, Rows); Row.AddRow(false, true, false, null, inverse, jump, Rows); Row.AddRow(false, null, true, true, inverse, jump, Rows); Row.AddRow(false, true, true, false, inverse, jump, Rows); Row.AddRow(true, true, false, false, inverse, jump, Rows); Row.AddRow(true, false, false, false, inverse, jump, Rows); break; case 18: Row.AddRow(false, true, false, false, inverse, jump, Rows); Row.AddRow(false, true, false, false, inverse, jump, Rows); Row.AddRow(false, true, true, true, inverse, jump, Rows); Row.AddRow(false, true, false, true, inverse, jump, Rows); Row.AddRow(false, true, false, true, inverse, jump, Rows); Row.AddRow(true, true, false, true, inverse, jump, Rows); Row.AddRow(true, false, false, true, inverse, jump, Rows); Row.AddRow(true, false, true, true, inverse, jump, Rows); Row.AddRow(true, false, true, false, inverse, jump, Rows); Row.AddRow(true, true, true, false, inverse, jump, Rows); Row.AddRow(false, false, true, false, inverse, jump, Rows); break; case 19: Row.AddRow(false, true, false, false, inverse, jump, Rows); Row.AddRow(false, false, false, false, inverse, jump, Rows); Row.AddRow(true, true, true, false, inverse, jump, Rows); Row.AddRow(true, false, true, false, inverse, jump, Rows); Row.AddRow(true, false, true, false, inverse, jump, Rows); Row.AddRow(false, true, true, false, inverse, jump, Rows); break; case 20: Row.AddRow(true, false, false, false, inverse, jump, Rows); Row.AddRow(true, false, false, true, inverse, jump, Rows); Row.AddRow(true, false, true, true, inverse, jump, Rows); Row.AddRow(true, true, false, true, inverse, jump, Rows); Row.AddRow(true, false, false, true, inverse, jump, Rows); Row.AddRow(false, false, false, true, inverse, jump, Rows); Row.AddRow(false, false, false, true, inverse, jump, Rows); break; case 21: Row.AddRow(false, true, false, true, inverse, jump, Rows); Row.AddRow(false, true, false, true, inverse, jump, Rows); Row.AddRow(false, true, false, true, inverse, jump, Rows); Row.AddRow(true, true, true, true, inverse, jump, Rows); Row.AddRow(false, null, false, null, inverse, jump, Rows); Row.AddRow(false, true, false, true, inverse, jump, Rows); Row.AddRow(false, true, false, true, inverse, jump, Rows); Row.AddRow(false, true, false, null, inverse, jump, Rows); Row.AddRow(false, true, false, null, inverse, jump, Rows); Row.AddRow(false, true, false, true, inverse, jump, Rows); break; case 22: Row.AddRow(false, true, false, false, inverse, jump, Rows); Row.AddRow(false, true, true, false, inverse, jump, Rows); Row.AddRow(false, false, true, false, inverse, jump, Rows); Row.AddRow(false, true, false, true, inverse, jump, Rows); Row.AddRow(false, true, false, true, inverse, jump, Rows); break; case 23: Row.AddRow(true, false, false, false, inverse, jump, Rows); Row.AddRow(true, true, true, false, inverse, jump, Rows); Row.AddRow(true, false, true, true, inverse, jump, Rows); Row.AddRow(true, false, false, true, inverse, jump, Rows); Row.AddRow(true, false, false, true, inverse, jump, Rows); Row.AddRow(null, false, false, true, inverse, jump, Rows); Row.AddRow(true, false, false, true, inverse, jump, Rows); Row.AddRow(true, false, false, true, inverse, jump, Rows); Row.AddRow(null, false, false, true, inverse, jump, Rows); Row.AddRow(true, true, null, true, inverse, jump, Rows); Row.AddRow(false, false, false, true, inverse, jump, Rows); Row.AddRow(false, false, false, true, inverse, jump, Rows); Row.AddRow(false, false, false, true, inverse, jump, Rows); break; case 24: Row.AddRow(true, false, false, null, inverse, jump, Rows); Row.AddRow(true, false, false, false, inverse, jump, Rows); Row.AddRow(true, null, true, true, inverse, jump, Rows); Row.AddRow(false, false, false, true, inverse, jump, Rows); Row.AddRow(false, false, false, true, inverse, jump, Rows); Row.AddRow(false, false, false, true, inverse, jump, Rows); break; case 25: Row.AddRow(true, false, false, false, inverse, jump, Rows); Row.AddRow(null, false, true, false, inverse, jump, Rows); Row.AddRow(true, false, false, true, inverse, jump, Rows); Row.AddRow(true, false, true, false, inverse, jump, Rows); Row.AddRow(true, false, false, true, inverse, jump, Rows); break; case 26: Row.AddRow(false, false, true, false, inverse, jump, Rows); Row.AddRow(true, true, true, false, inverse, jump, Rows); Row.AddRow(true, true, true, true, inverse, jump, Rows); Row.AddRow(true, true, true, true, inverse, jump, Rows); Row.AddRow(true, false, false, true, inverse, jump, Rows); Row.AddRow(true, false, false, true, inverse, jump, Rows); Row.AddRow(true, false, true, false, inverse, jump, Rows); Row.AddRow(true, false, true, true, inverse, jump, Rows); Row.AddRow(null, true, false, true, inverse, jump, Rows); Row.AddRow(false, false, true, false, inverse, jump, Rows); break; case 27: Row.AddRow(false, false, true, false, inverse, jump, Rows); Row.AddRow(true, false, true, false, inverse, jump, Rows); Row.AddRow(true, false, true, false, inverse, jump, Rows); Row.AddRow(true, false, true, false, inverse, jump, Rows); Row.AddRow(false, false, true, false, inverse, jump, Rows); Row.AddRow(true, false, true, false, inverse, jump, Rows); Row.AddRow(null, null, true, false, inverse, jump, Rows); Row.AddRow(true, false, false, false, inverse, jump, Rows); Row.AddRow(false, false, false, false, inverse, jump, Rows); Row.AddRow(true, false, false, false, inverse, jump, Rows); Row.AddRow(false, false, false, false, inverse, jump, Rows); break; case 28: Row.AddRow(false, false, true, false, inverse, jump, Rows); Row.AddRow(false, true, false, false, inverse, jump, Rows); Row.AddRow(true, false, false, false, inverse, jump, Rows); Row.AddRow(false, true, true, false, inverse, jump, Rows); Row.AddRow(false, false, true, false, inverse, jump, Rows); Row.AddRow(true, true, false, false, inverse, jump, Rows); Row.AddRow(true, false, true, false, inverse, jump, Rows); Row.AddRow(true, false, true, false, inverse, jump, Rows); break; case 29: Row.AddRow(true, false, false, false, inverse, jump, Rows); Row.AddRow(false, true, false, false, inverse, jump, Rows); Row.AddRow(false, false, true, false, inverse, jump, Rows); Row.AddRow(false, false, false, true, inverse, jump, Rows); Row.AddRow(false, false, true, false, inverse, jump, Rows); Row.AddRow(false, true, false, false, inverse, jump, Rows); Row.AddRow(true, false, false, false, inverse, jump, Rows); break; default: break; } }