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