static void Main() { uint[] numberList = new uint[8]; for (int i = 0; i < 8; i++) { numberList[i] = uint.Parse(Console.ReadLine()); } for (int col = 8; col <= 15; col++) { for (int row = 0; row <= 7; row++) { GetBird(numberList, row, col); } } if (numberList.Any(n => n <= 255 && n > 0)) { Console.WriteLine(scores + " No"); } else { Console.WriteLine(scores + " Yes"); } }
private bool LoadFile(Stream stream, EndianUtils.Endianness endian, TextUtils.GameTextEncoding encoding, uint textPointerLocationDiff) { string magic = stream.ReadAscii(8); uint alwaysSame = stream.ReadUInt32().FromEndian(endian); uint filesize = stream.ReadUInt32().FromEndian(endian); uint lengthSection1 = stream.ReadUInt32().FromEndian(endian); stream.Position = 0x50; int textPointerDiffDiff = (int)stream.ReadUInt32().FromEndian(endian); stream.Position = 0x20; uint textStart = stream.ReadUInt32().FromEndian(endian); int textPointerDiff = (int)stream.ReadUInt32().FromEndian(endian) - textPointerDiffDiff; EntryList = new List <ScenarioFileEntry>(); // i wonder what the actual logic behind this is... uint textPointersLocation = (lengthSection1 + 0x80).Align(0x10) + textPointerLocationDiff; // + 0x1888; // + 0x1B4C // diff of 2C4 // Actually this isn't constant, dammit. if (textStart != textPointersLocation) { stream.Position = textPointersLocation; while (true) { long loc = stream.Position; stream.DiscardBytes(8); uint[] ptrs = new uint[4]; ptrs[0] = stream.ReadUInt32().FromEndian(endian); ptrs[1] = stream.ReadUInt32().FromEndian(endian); ptrs[2] = stream.ReadUInt32().FromEndian(endian); ptrs[3] = stream.ReadUInt32().FromEndian(endian); if (stream.Position > textStart) { break; } if (ptrs.Any(x => x == 0)) { break; } if (ptrs.Any(x => x + textPointerDiff < textStart)) { break; } if (ptrs.Any(x => x + textPointerDiff >= filesize)) { break; } var s = new ScenarioFileEntry(); s.Pointer = (uint)loc; s.JpName = stream.ReadNulltermStringFromLocationAndReset(ptrs[0] + textPointerDiff, encoding); s.JpText = stream.ReadNulltermStringFromLocationAndReset(ptrs[1] + textPointerDiff, encoding); s.EnName = stream.ReadNulltermStringFromLocationAndReset(ptrs[2] + textPointerDiff, encoding); s.EnText = stream.ReadNulltermStringFromLocationAndReset(ptrs[3] + textPointerDiff, encoding); EntryList.Add(s); stream.Position = loc + 0x18; } } return(true); }