Visual Studio 2008 SP1 Beta i .NET 3.5 SP1 Beta

Parę dni temu coś mnie podkusiło do instalacji wersji beta nowego service packa do VS2008 i .NET3.5. Instalacja przeszła względnie bezboleśnie (musiałem tylko zwolnić trochę miejsca na dysku;) ).

I wszystko byłoby OK, gdyby nie fakt, że RubiksCube v2 przestał działać..
A dokładniej po wykonaniu dowolnego ruchu wywalał się bliżej nieokreślony błąd w PresentationCore.dll (bliżej nieokreślony, bo opisu błędu wogóle nie było). Co lepsze przed SP1 Beta aplikacja działała prawidłowo…

Błędu szukałem komentując po kolei poszczególne fragmenty kodu i dotarłem do takiej konstrukcji

if (model == null)
{
    model = new Model3DGroup();
}
else
{
    model.Children.Clear();
}

Gdzie model jest typu Model3DGroup. Doszedłem do tego, że aplikacja wywalała się przez linijkę 7. Nie wiem dlaczego tak się zachowywał, ale błąd naprawiłem w następujący sposób:

if (model == null)
{
    model = new Model3DGroup();
}
else
{
    model.Children = new Model3DCollection();
}

I jak na razie aplikacja śmiga :P

Kostka, kosteczka i kostkunia

Dokonałem ostatnio dosyć spontanicznego zakupu dwóch kostek Rubika. Nie byłoby w tym nic dziwnego gdyby nie to, że nie są to już klasyczne kostki 3x3x3, ale 4x4x4 oraz 5x5x5 :) . Nie był to może mały wydatek, ale jestem bardzo z niego zadowolony. Wraz z swoją starszą siostrą można je podziwiać na poniższych zdjęciach :P

050208-1541-kostkakoste1.jpg
050208-1541-kostkakoste2.jpg

Jeżeli chodzi o zdolność układania to 4x4x4 udało mi się po raz pierwszy ułożyć po około 2h. Następne próby trwały już około 1h. W następnej kolejności zabrałem się za piątkę, ostatecznie również skończyłem po około godzinie :) . Od teraz chyba nie będę się nudził już na żadnym z wykładów :D

RubikCube v2 – dowolne obroty warstw

No to udało mi się w końcu opanować wszystkie animacje :) Dodatkowo zastosowałem tani chwyt i zmodyfikowałem trochę kod, aby była możliwość zmiany rozmiarów kostki. Od teraz będzie można układać kostki 2x2x2, 3x3x3, 4x4x4, 10x10x10 i wszystkie pośrednie (włącznie z wszystkimi prostopadłościanami).
Niestety czy rozmiarach większych niż 6x6x6 wydajność już dosyć znacznie spadła. Będę musiał zoptymalizować jakoś ten kod. A swoją drogą w Visual Studio w wersji proffesional brakuje mi profiler’a. Znacznie by ułatwił pracę, niestety jest dostępny jedynie w edycji Team Suite :(

Poniżej mała demonstracja:

Get the Flash Player to see this content.

RubikCube v2 – animacje obrotów ścian

Oto screencast z prezentacji pierwszej prototypowej wersji RubiksCube. Jak narazie wielu efektów nie widać, ale to jest prawie, że dopiero początek.
W tej chwili jest zrobiony silnik do obsługi kostki Rubika oraz wizualizacja z wykorzystaniem technologi WPF.

Get the Flash Player to see this content.