-
X-Received: by 10.140.105.54 with SMTP id b51mr6664qgf.29.1392735055080; Tue, 18 Feb
2014 06:50:55 -0800 (PST)
X-Received: by 10.140.105.54 with SMTP id b51mr6664qgf.29.1392735055080; Tue, 18 Feb
2014 06:50:55 -0800 (PST)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!goblin2!goblin.stu.neva.ru!feed.news.qwest.net!mpls-nntp-01.inet.qwest
.net!news.glorb.com!c10no29313162igq.0!news-out.google.com!dr7ni182qab.1!nntp.g
oogle.com!f11no23406490qae.1!postnews.google.com!glegroupsg2000goo.googlegroups
.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Tue, 18 Feb 2014 06:50:54 -0800 (PST)
In-Reply-To: <4...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=93.154.242.188;
posting-account=Sb6m8goAAABbWsBL7gouk3bfLsuxwMgN
NNTP-Posting-Host: 93.154.242.188
References: <ldaa9r$3j5$1@speranza.aioe.org>
<9...@g...com>
<52fccceb$0$2362$65785112@news.neostrada.pl>
<6...@g...com>
<52fceef0$0$2140$65785112@news.neostrada.pl>
<1...@g...com>
<ldv7fu$3vq$1@dont-email.me>
<6...@g...com>
<a...@g...com>
<ldvj3g$28c$1@dont-email.me>
<6...@g...com>
<ldvqkt$bnu$1@dont-email.me>
<4...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c...@g...com>
Subject: Re: David West: OOP is Dead
From: firr <p...@g...com>
Injection-Date: Tue, 18 Feb 2014 14:50:55 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:205189
[ ukryj nagłówki ]#v+
////////////////////////////////
class Pixelbuffer {
// klasa zawierajaca bufor obrazu.
};
/////////////////////////////////////
class Window {
private:
MouseHandler& m;
KeyboardHandler& k;
public:
// wspolne funkcje, istniejace dla kazdego okna
// dodaje handler do okna
void addMouseHandler(Handler& h);
void addKeyboardHandler(Handler& h);
void draw(Costam& cos);
};
////////////////////////////////////////
class Blitter {
void blit(Window& win, Pixelbuffer& buf)
{
///...
}
};
////////////////////////////
class MouseHandler: public Handler {
void onClicked(Slot& callback, Point& position) {
callback.emit(position);
}
};
/////////////////////////////////
class Game {
private:
Pixelbuffer p;
Blitter& blit;
Window& w;
public:
Pixelbuffer& getBuffer() { return p; }
void blit() {
// dla każdego obiektu w grze, renderuje pixelbuffer dla tego obiektu
// też może być wprowadzony podział na klasy software/hardware
rendering
blit.blit(w, p);
}
void run() {
while(! done) {
doGame();
blit();
}
}
};
/////////////////////----
int main() {
Pixelbuffer p;
Game game(p);
HardwareBlitter blit; // lub: SoftwareBlitter, QuickBlitter, lub inne
blittery
Window gameWindow;
game.addWindow(gameWindow);
game.setBlitter(blit);
MouseHandler m;
KeyboardHandler k;
gameWindow.addMouseHandler(m);
gameWindow.addKeyboardHandler(k);
m.onClicked([&] (Point& mousePos) {
game.addSomeObject(mousePos);
});
gameWindow.show();
game.run(); // działa, np. dopóki gameWindow istnieje
return 0;
}
#v-
wycialem by bylo drobinke prosciej, wiadomo ze mozna rozbudowywac
Następne wpisy z tego wątku
- 18.02.14 16:01 firr
- 18.02.14 16:29 firr
- 18.02.14 16:59 firr
- 18.02.14 20:40 toslaw
- 18.02.14 23:21 firr
- 18.02.14 23:52 firr
- 19.02.14 07:57 toslaw
- 19.02.14 09:41 firr
- 19.02.14 10:54 firr
- 19.02.14 10:58 g...@g...com
- 19.02.14 11:30 firr
- 19.02.14 12:01 firr
- 19.02.14 14:32 firr
- 19.02.14 15:51 A.L.
- 19.02.14 16:10 A.L.
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-02-06 PROGRAM DOPŁAT DO AUT ELEKTRYCZNYCH TO ABSURD. ZA ŚRODKI Z KPO KUPIMY NIEMIECKIE I CHIŃSKIE AUTA
- 2025-02-05 ceny OC
- 2025-02-05 Re: ceny OC
- 2025-02-05 Re: ceny OC
- 2025-02-07 Smar do video
- 2025-02-06 Litowe baterie AA Li/FeS2 a alkaliczne
- 2025-02-07 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-07 Warszawa => System Architect (Java background) <=
- 2025-02-07 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-02-07 Warszawa => Solution Architect (Java background) <=
- 2025-02-07 Gliwice => Ekspert IT (obszar systemów sieciowych) <=
- 2025-02-07 Lublin => Programista Delphi <=
- 2025-02-07 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-02-07 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-07 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo