Artykuły

23.04.2010 - Olgierd Humeńczuk
TrudnośćTrudność

Arkanoid 3D krok po kroku

Celem tego cyklu jest stworzenie gry komputerowej wzorowanej na pomyśle znanym z klasycznego już Arkanoid. Postaramy się odmłodzić tę grę dodając jej jeden wymiar, dzięki czemu nie tylko zyska przydomek 3d ale pozwoli nam się "pobawić" grafiką trójwymiarową. Grę będziemy pisać od podstaw w języku C++.

20.04.2010 - Krzysztof Dryś
TrudnośćTrudność

Kolory i kompresja

Jak sprawić, by zdjęcia zajmowały mniej miejsca? Czy wszystkie kolory są równe? I jak wiedza zdobyta na biologii może przydać się w informatyce? Odpowiedzi na te wszystkie pytania znajdziecie w tym artykule!

20.04.2010 - Krzysztof Dryś
TrudnośćTrudnośćTrudnośćTrudność

Pochodne i krawędzie

W tym artykule zajmiemy się szukaniem krawędzi na obrazach. Najpierw dowiemy się, po co się to robi. Potem nauczymy się szukać krawędzi przy pomocy komputerów. W tym celu posłużymy się takimi pojęciami jak: kwantyle, maksima lokalne i pochodne. Okażą się one bowiem, zupełnie niespodziewanie, bardzo przydatne w tym zagadnieniu.

17.03.2010 - Adam Błaszkiewicz
TrudnośćTrudność

DirectX: Trójwymiarowy labirynt od podstaw - Część II

W poprzednim artykule utworzyliśmy proste okno w WinApi i wyrenderowaliśmy w nim oteksturowany trójkąt za pomocą Direct3D. Teraz, mając na celu zaprogramowanie trójwymiarowego labiryntu, zajmiemy się mniej technicznymi rzeczami i napiszemy kod bezpośrednio dotyczący samego labiryntu. Nie będziemy wykorzystywać praktycznie niczego nowego, wystarczy nam sama znajomość C++ i wiedza zdobyta podczas czytania poprzedniego artykułu.

15.03.2010 - Adam Błaszkiewicz
TrudnośćTrudność

DirectX: Labirynt 3D od podstaw

W tutorialu tym utworzymy labirynt 3D, używając DirectX. Będziemy mogli się w nim poruszać nie tylko w jednej płaszczyźnie, lecz także w górę i w dół - będzie to prawdziwie trójwymiarowy labirynt.

08.03.2010 - Krzysztof Kercz
TrudnośćTrudność

Synteza mowy 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.

05.02.2010 - Marcin Milewski, Łukasz Milewski
Trudność

Gra 2D, część 7: Diabeł tkwi w szczegółach

W tym artykule zajmiemy się doszlifowaniem naszej gry, gdyż, jak wiadomo, diabeł tkwi w szczegółach. Po wprowadzonych zmianach gra będzie lepiej się prezentować a także sprawniej działać.

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.    Część 2.    Część 3.    Część 4.

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.

Copyright © 2008-2010 Wrocławski Portal Informatyczny

design: rafalpolito.com