Ostatnio dodane

08.03.2010 - Krzysztof Kercz
TrudnośćTrudność

Synteza mowy, część II: Akcent i zabawa dźwiękiem

Kontynuujemy nasze zmagania na drodze ku stworzeniu syntezatora mowy. Poprzednio opowiedzieliśmy o zamianie tekstu pisanego na ciąg fonemów i skończyliśmy na zaprojektowaniu algorytmu, który takiej zamiany dokonywał. Dziś osiągniemy kolejny stopień wtajemniczenia.

25.02.2010 - Agata Murawska
TrudnośćTrudność

Kto jest najbogatszy i czy to naprawdę miłość?

Czy zdarzyło Wam się kiedyś zakochać? Strasznie głupia sprawa, ale Alicja i Bob nie są pewni, co do siebie czują. Żadne z nich nie zdecyduje się powiedzieć drugiemu, że go (nie) kocha, póki nie usłyszy podobnej deklaracji od drugiej strony. Sytuacja wydaje się bez wyjścia - póki któreś z nich nie "pęknie", będą trwali w zawieszeniu. Zawieszona Alicja nie jest w stanie programować, a Bob projektować protokołów kryptograficznych - trzeba więc coś zrobić, żeby pomóc nieszczęsnej parze.

23.02.2010 - Tomasz Górzny
TrudnośćTrudnośćTrudnośćTrudność

Answer these queries

W tym artykule prezentuję rozwiązania trzech zadań ze SPOJa. Wszystkie pochodzą z (dość długiego) cyklu "Answer these queries" i (mimo dość podobnie wyglądających sformułowań) wymagają połączenia kilku różnych, i to dość nietrywialnych, pomysłów. Ze względu na zróżnicowany poziom trudności lekturę polecam zarówno początkującym, jak i starym wyjadaczom.

19.02.2010 - Wiktor Janas
TrudnośćTrudnośćTrudnośćTrudność

Query on a tree III

Każdy może czasem potrzebować k-tego elementu w n-wierzchołkowym drzewie. Przedstawimy kilka sposobów, mniej lub bardziej efektywnych, jak go znaleźć. Po drodze dowiemy się dlaczego STL wcale nie jest taki fajny, jak szukać mediany i że oszczędzanie połowy pracy na każdej operacji daje świetne efekty.

03.02.2010 - Krzysztof Skrzętnicki
TrudnośćTrudność

Statyczna analiza kodu, czyli jak komputer może szukać błędów

Pisanie kodu to proces długi i skomplikowany. Chwila nieuwagi i nieszczęście gotowe - pojawia się błąd. Czy da się choć część z nich wykryć automatycznie? Przekonajmy się.

03.02.2010 - Marcin Milewski
TrudnośćTrudność

Gra 2D, część 6: Wykrywanie kolizji i obsługa jednostek

Czy wyobrażasz sobie platformówkę bez przeciwników albo bez pocisków? Przydałoby się też poruszanie po zaprojektowanym poziomie, prawda? W tym artykule nauczymy się jak wykrywać i obsługiwać kolizję między obiektami oraz w jaki sposób dodawać różne jednostki do gry.

03.02.2010 - Maciej Piróg
TrudnośćTrudność

Własny język programowania. Część 1: Wyrażenia arytmetyczne

Jeśli kiedykolwiek w Twojej głowie zrodził się pomysł, by wymyślić własny język programowania, zapraszamy do lektury cyklu artykułów poświęconych temu zagadnieniu. Zaczniemy od napisania kalkulatora wyrażeń arytmetycznych z nawiasami i kolejnością działań (chociaż bardzo prosty, to też jest pewien rodzaj języka programowania). Potem rozbudujemy go o zmienne, pętle i warunki, czyli wszystko, co jest potrzebne w "dorosłym" języku.

03.02.2010 - Łukasz Milewski
Trudność

Gra 2D, część 5: Odtwarzamy dźwięk

Możemy łatwo zwiększyć atrakcyjność naszej gry. Wystarczy wpłynąć na wyobraźnię gracza, tak aby sam zaczął widzieć to, czego oczekuje. Jednym z najprostszych sposobów oddziaływania na wyobraźnię jest dźwięk i muzyka. Stosując odpowiedni podkład muzyczny łatwo jest wpływać na nastrój gracza - sprawiać aby był szczęśliwy i odprężony, albo żeby się wystraszył (jeżeli gra w horror). Oprawa dźwiękowa jest jednym z najważniejszych elementów gier. Dlatego w tym artykule zobaczymy jak można dodać ją do naszej produkcji.
03.02.2010 - Agata Murawska
TrudnośćTrudność

Powiedzieć Wam sekret?

Wszystkie schematy kryptografii asymetrycznej opierają się na jednym podstawowym założeniu - nasz klucz prywatny musi być dla nas dostępny. Co zatem zrobić, gdy był zapisany na zepsutej karcie magnetycznej, zagubionym gwizdku USB czy po prostu na dysku, który uległ awarii?
Jeśli w przeszłości byliśmy wystarczająco zapobiegliwi i opowiedzieliśmy nasz sekret komuś innemu, jesteśmy uratowani.

02.02.2010 - Piotr Witkowski
TrudnośćTrudnośćTrudność

Wstawki asemblerowe w języku C, część 1

Przed uruchomieniem programu w języku C należy przetłumaczyć go na język poleceń procesora. Proces ten nazywa się kompilacją, a program który temu służy - kompilatorem . Znając podstawy języka poleceń procesora( czyli asemblera), można fragmenty programu zaprogramować od razu na tym poziomie. Ta umiejętność przydaje się, gdy chcemy wygenerować kod szybszy, niż zrobiłby to kompilator.

29.01.2010 - Łukasz Milewski
TrudnośćTrudność

Gra 2D, część 4: Piszemy Hall of Fame

Każdy z nas lubi wygrywać, być najlepszym ;-) Dlatego, aby uatrakcyjnić naszą grę powinniśmy zaspokoić tę potrzebę gracza. W tej części kursu stworzymy ekran, na którym gracz będzie mógł umieścić swoje imię gdy zdobędzie więcej punktów niż inni.
28.01.2010 - Agata Murawska
TrudnośćTrudność

"Nie wiesz, co podpisujesz" - protokoły ślepych podpisów

Płatności elektroniczne to obecnie normalny element naszego życia. Są na tyle powszechne, że nie zastanawiamy się zbyt często, jak działa pieniądz cyfrowy. Równocześnie coraz częściej słyszy się o pomyśle przeprowadzania wyborów przez internet, oraz rozważa sposoby zapewniania bezpieczeństwa takiego systemu.
Co mają wspólnego te dwa, z pozoru całkowicie niepowiązane, przykłady informatyzacji naszego życia? Wspólnym mianownikiem jest hasło "ślepe podpisy".

21.01.2010 - Piotr Lipiński
TrudnośćTrudność

Jak używać uszkodzonych wyświetlaczy, czyli parę słów o klasyfikacji danych i sieciach neuronowych

Wyobraźmy sobie cyfry wyświetlane na specjalnym wyświetlaczu będącym matrycą 7 x 7 punktów (rysunek 1), składającą się z 7 wierszy zawierających po 7 punktów każdy, której punkty mogą być zapalone (kolor czarny) lub zgaszone (kolor biały). Rysunek 1 przedstawia przykładowy obraz możliwy do wyświetlenia na takim wyświetlaczu. Stan wyświetlacza możemy więc opisać podając stany ("zapalony" lub "zgaszony") wszystkich 7 x 7 = 49 punktów matrycy.

18.01.2010 - Łukasz Milewski
TrudnośćTrudność

Gra 2D, część 3: Wyświetlanie przewijanej mapy

Większość gier komputerowych toczy się na mapie. Może być ona widziana z góry, jak w grach strategicznych. Spotyka się też widok z boku - np. w grach takich jak Mario. Znany jest także rzut izometryczny, który "udaje" widok 3D. Możemy zastanawiać się nad tym jak są wyświetlane różne rodzaje mapy. Ten artykuł prezentuje jeden ze sposobów - mapę zbudowaną z kafli.
05.01.2010 - Marcin Milewski
Trudność

Gra 2D, część 2: Wyżej, dalej, szybciej - poruszanie postacią

Jeżeli nuży Cię patrzenie na przeskakujące cyferki, to powinieneś przeczytać ten artykuł. Powołamy w nim do życia postać sterowaną przez gracza! Będzie chodzić, biegać i skakać dokładnie tak jak jej zagra.
28.12.2009 - Marek Materzok
TrudnośćTrudnośćTrudność

Programowanie w Brainf**ku

Czyli jak napisać sensowny program w ekstremalnie uproszczonym języku programowania.

28.12.2009 - Marek Materzok
TrudnośćTrudność

Języki ezoteryczne

Słów kilka o ekscentrycznych dziwolągach pośród języków programowania, czyli językach ezoterycznych.

  • Pod patronatem: