Yararlı kaynak veremem ama önce C#'ı bir kenara bırakıp şunları yapmanı öneririm:
- "16'lik puzzle"ın neler yapması gerek? Madde madde, şunu şunu yapacak, seklinde.
- Bu 'şunu şunu yapacak' dedigim kısımları diğer parçalardan bağımsız olarak mantığa dök. Yine madde madde, 'şu olunca şöyle olacak, bu olunca böyle olacak' gibi, programı C#'dan bağımsız bir şekilde, Türkçe olarak, bir insana anlatır gibi anlat.
- Ondan sonra C#'da nasıl yapacağını düşünmeye başla. İlk ikisini düzgün yaptıysan bu kısım 'çorap söküğü gibi' kendiliğinden gelecektir, eger C# bilgin yeterliyse.
Kolay gelsin.