diff -r 5a209a8585c9 -r e28b28b8817c proto/p2/Drawer.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/proto/p2/Drawer.cc Mon Nov 03 22:20:21 2008 +0000 @@ -0,0 +1,76 @@ +#include +#include //do I need this in linux? +#include +#include +#include "GameState.hh" +#include "Dimension.hh" + +class CL_Game : public CL_ClanApplication { +private: + bool keep_going; + void check_input() { + if(CL_Keyboard::get_keycode(CL_KEY_ESCAPE)) + keep_going = false; + + LocalPlayer& lp = gs.getLocalPlayer(); + + if(CL_Keyboard::get_keycode(CL_KEY_UP)) { + lp.doMovement(PositionDelta(0,3)); + } + if(CL_Keyboard::get_keycode(CL_KEY_DOWN)) { + lp.doMovement(PositionDelta(0,-3)); + } + if(CL_Keyboard::get_keycode(CL_KEY_LEFT)) { + lp.doMovement(PositionDelta(-3,0)); + } + if(CL_Keyboard::get_keycode(CL_KEY_RIGHT)) { + lp.doMovement(PositionDelta(3,0)); + } + } + +public: + GameState gs; + + CL_Game() : keep_going(true) {} + virtual int main(int argc, char **argv) { + CL_SetupCore setup_init; + CL_SetupDisplay setup_disp; + CL_SetupGL setup_gl; + + //gs.player_list.push(Player(Coordinate())); + + CL_DisplayWindow win("ikkuna", 640, 480); +// CL_Surface bg(CL_PNGProvider("image.png"); + + unsigned int last_draw = CL_System::get_time(); + int r = 100, g = 100, b = 100; + unsigned int frame_count = 0; + bool R = false, G = false, B = false; + + while(keep_going) { //not good idea to put infinite loop + CL_Display::clear(CL_Color(r, g, b)); + + int colorIdx = 0; + for(std::list::iterator it = gs.player_list.begin(); it != gs.player_list.end(); ++it) { + + CL_Display::fill_rect(CL_Rect(it->getPosition().scaledX()-10, it->getPosition().scaledY()-10, + it->getPosition().scaledX()+10, it->getPosition().scaledY()+10), CL_Color((colorIdx*30)%255, (colorIdx*30)%255, (colorIdx*30)%255)); + + colorIdx++; + } + + CL_Display::flip(1); + frame_count++; + unsigned int cur_draw = CL_System::get_time(); + + check_input(); + + last_draw = cur_draw; + CL_System::keep_alive(); +// sleep(10); //flip already wait a short amount of time + } + return 0; + } +}; + +CL_Game inst;