Wpis z mikrobloga

#programowanie #cpp trochę #fizyka

http://pastebin.com/XyJNwkaY

Nudziło mi się, więc na szybko napisałem powyższy kodzik (działa tylko na Windowsie). Skompilujcie sobie i zobaczcie, jak myszka zamienia się w planetę orbitującą wokół środka ekranu.

Co to robi?

Sprawia, że kursor myszy porusza się po eliptycznej orbicie wokół centrum ekranu.

Jak to działa?

Jest to prosta symulacja komputerowa, której działanie polega na numerycznym rozwiązywaniu różniczkowych równań ruchu myszki za pomocą wariantu prędkościowego algorytmu Verleta.

Jak to wyłączyć? (pewnie każdy to wie, ale i tak napiszę)

Nie chciało mi się implementować opcji wyłączenia programu za pomocą klawisza, a program niestety przejmuje kontrolę nad naszą myszką. Wyłączyć to można w następujący sposób:

- ctrl + alt + del (odzyskujemy kontrolę nad myszką)

- klikamy uruchom menedżer zadań (znów tracimy kontrolę nad myszką)

- strzałkami na klawiaturze wybieramy aplikację

- klikamy del

Uwaga dla początkujących programistów C++

Nie wzorujcie się na tym kodzie, bo jest napisany bardzo, bardzo nieelegancko i pisałem go na szybko, byleby tylko działał. Największym grzechem jest chyba użycie funkcji sleep zamiast timerów, ale tak było szybciej.
  • 17
@sylwke3100: @physicist: Jak dla mnie przejrzysty kod i do niczego większego sie nie przyczepię. Pewnie, sam bym uƶył np. listy inicjalizacyjnej konstruktora, lub

this_thread::sleep_for
z czytelniejszą składnią (

Sleep
w róƶnych API przyjmuje sekundy lub milisekundy i to nie jest oczywiste), ale to raczej pierdoły.

Nawet nie wiedziałem, ƶe takie coś moƶna zrobić w raptem kilkudziesięciu linijkach cpp.