int main(int argc, char **argv) { int i; char *git_path; (void) argc; open_term(); TERM_WIDTH = term_width(); SLEEP_DELAY = 1000000 / (TERM_WIDTH + GTI_SPEED); init_space(); for (i = -20; i < TERM_WIDTH; i++) { draw_car(i); usleep(SLEEP_DELAY); clear_car(i); } move_to_top(); fflush(TERM_FH); git_path = getenv("GIT"); if (git_path) { execv(git_path, argv); } else { execvp(GIT_NAME, argv); } /* error in exec if we land here */ perror(GIT_NAME); return 1; }
void draw_car_at_pose(CarDrawer* carDrawer, carmen_pose_3D_t pose) { glPushMatrix(); glTranslatef(pose.position.x, pose.position.y, pose.position.z); glRotatef(carmen_radians_to_degrees(pose.orientation.yaw), 0.0f, 0.0f, 1.0f); glRotatef(carmen_radians_to_degrees(pose.orientation.pitch), 0.0f, 1.0f, 0.0f); glRotatef(carmen_radians_to_degrees(pose.orientation.roll), 1.0f, 0.0f, 0.0f); draw_car(carDrawer); glPopMatrix(); }
int main() { g_level = 0; g_nEnemy = 1; // 敵機数:1 init(); draw_map(); draw_car(); draw_enemy(); draw_score(); g_db.swap(); // 表示バッファ切り替え getchar(); return 0; }
int main(int argc, char **argv) { (void) argc; int i; TERM_WIDTH = term_width(); SLEEP_DELAY = 1000000 / GTI_SPEED; init_space(); for (i = -20; i < TERM_WIDTH; i++) { draw_car(i); usleep(SLEEP_DELAY); clear_car(i); } return 1; }
int main(int argc, char **argv) { (void) argc; int i; TERM_WIDTH = term_width(); init_space(); for (i = -20; i < TERM_WIDTH; i++) { draw_car(i); usleep(20*1000); clear_car(i); } execvp(GIT_NAME, argv); /* error in exec if we land here */ perror(GIT_NAME); return 1; }
int main() { //mciSendString(TEXT("open button57.mp3"), NULL, 0, NULL); //mciSendString(TEXT("open s-burst01.mp3"), NULL, 0, NULL); //mciSendString(TEXT("open one23.mp3"), NULL, 0, NULL); for (;;) { bool rc = game(); g_db.setCursorPos(0, CONS_HT - 1); g_db.setColor(COL_GRAY, COL_BLACK); //if( rc ) { // g_db.write("!!! GOOD JOB !!!"); //} else { g_db.write("GAME OVER."); //} g_db.write(" Try Again ? [y/n] "); draw_map(); draw_enemy(); draw_car(); draw_score(); g_db.swap(); for (;;) { if( isKeyPressed('N') ) return 0; if( isKeyPressed('Y') ) break; Sleep(LOOP_INTERVAL); // 10ミリ秒ウェイト } g_db.setCursorPos(0, CONS_HT - 1); for (int i = 0; i < CONS_WD - 1; ++i) { g_db.write(" "); } g_db.swap(); g_db.setCursorPos(0, CONS_HT - 1); for (int i = 0; i < CONS_WD - 1; ++i) { g_db.write(" "); } } return 0; }
int main(int argc, char **argv) { (void) argc; int i; TERM_WIDTH = term_width(); SLEEP_DELAY = 2000000 / (TERM_WIDTH + GT_SPEED); init_space(); for (i = TERM_WIDTH; i > -81; i--) { draw_car(i); usleep(SLEEP_DELAY); clear_car(i); } char *git_path = getenv("GIT"); if (git_path) { execv(git_path, argv); } else { execvp(GIT_NAME, argv); } /* error in exec if we land here */ perror(GIT_NAME); return 1; }
void main_page(int *choice) { CAR cp1; MAP mp; mp.map_xspeed=0;mp.map_yspeed=0; cp1.angle=0;cp1.xspeed=0;cp1.yspeed=0; double speed=0; double map_speed=0; int i=0; int flag_click_beg=0; //the three flags are used to judge if the "Start","Finish","Begin" button is pressed double distance=0; //此距离要根据选择路径的函数来实时反馈 int start_point=-1, finish_point=-1; int center_x; int center_y; int flag_judge_finish=0; int flag_road_error=0; int map_first=0; //to judge car whether it is out of bounds(150,100,400,250) double p_distance[SPOTNUM][SPOTNUM]; double d[SPOTNUM]; int path[SPOTNUM]; POINT point[SPOTNUM]; STREET all_street[18]; LITTLE all_ninebuilding[3]; LITTLE all_small_door[5]; LITTLE all_tree[10]; LITTLE all_mpeople[5]; LITTLE all_wpeople[5]; LITTLE all_lake[3]; LITTLE all_playground[3]; LITTLE all_bigbuilding[5]; LITTLE all_house[10]; LITTLE bicycle[3]; init_map(all_street,all_tree,all_mpeople,all_wpeople,all_ninebuilding,all_playground,all_small_door,all_lake,all_bigbuilding,all_house,bicycle); init_point_info(point,p_distance); while(1) { flag_click_beg=0; flag_judge_finish=0; InitGra(350); setbkcolor(LIGHTGREEN); draw_map(all_street,all_tree,all_mpeople,all_wpeople,all_ninebuilding,all_playground,all_small_door,all_lake,all_bigbuilding,all_house,bicycle); right_plus(); while(!(1==flag_click_beg && start_point>=0 && finish_point>=0)) { switch(*choice) { case 0: search(point,&flag_click_beg,&start_point,&finish_point); break; case 1: mouse_ctrl(&flag_click_beg,&start_point,&finish_point); break; default: break; } cleardevice(); draw_map(all_street,all_tree,all_mpeople,all_wpeople,all_ninebuilding,all_playground,all_small_door,all_lake,all_bigbuilding,all_house,bicycle); mouse_click(); } shortestpath(p_distance,SPOTNUM,d,path,start_point); distance=rest_distance(&cp1,point[finish_point]); center_x=340-point[start_point].x; center_y=170-point[start_point].y; second_init_map(¢er_x, ¢er_y,point,all_street,all_tree,all_mpeople,all_wpeople,all_ninebuilding,all_playground,all_small_door,all_lake,all_bigbuilding,all_house,bicycle); cp1.x=point[start_point].x; cp1.y=point[start_point].y; while(0==flag_judge_finish && 0==flag_road_error) { while(0==flag_judge_finish && 0==flag_road_error) //有没有完成一次导航的标志,如果完成就会跳出大循环 { for(i=0;i<2;i++) { setactivepage(i); cleardevice(); draw_map(all_street,all_tree,all_mpeople,all_wpeople,all_ninebuilding,all_playground,all_small_door,all_lake,all_bigbuilding,all_house,bicycle); drawroutine(start_point, finish_point,point,path); //画出最短的路径 car_control(&cp1,&speed); map_ctrl(&mp,&cp1,&speed,&map_first,&map_speed,point,all_street,all_tree,all_mpeople,all_wpeople, all_ninebuilding,all_playground,all_small_door,all_lake,all_bigbuilding,all_house,bicycle); distance=rest_distance(&cp1,point[finish_point]); draw_car(&cp1); mouse_click(); show_distance(&distance); /*======================判断小车所处位置=============================*/ judge_pre_car(&cp1,point); change_route(&cp1, point, &start_point, &finish_point,path,&flag_road_error); warning(&map_speed, &speed); setvisualpage(i); delay(15); } flag_judge_finish=judge_finish(&cp1,point[finish_point]); } if(1==flag_judge_finish) { distance=0; draw_bar1(494,57,636,78,LIGHTGRAY); dis_hz(495,60,"到达目的地",0,20,YELLOW); guidance_end(150,100); cp1.angle=0; flag_click_beg=0; speed=0; map_speed=0; //再次进入的时候,还是先判断车速 start_point=-1; finish_point=-1; map_first=0; } if(1==flag_road_error) { shortestpath(p_distance,SPOTNUM,d,path,start_point); draw_bar1(494,57,636,150,LIGHTGRAY); dis_hz(495,60,"路线错误,正在",0,18,LIGHTRED); dis_hz(495,80,"为您重新查找……",0,18,LIGHTRED); delay(1000); draw_bar1(494,57,636,150,LIGHTGRAY); flag_road_error=0; } } } }
bool game() { g_score = 0; g_level = 0; g_nEnemy = 1; init(); int key = 0; // 押下されたキー int keyDown = 0; // 押下状態のキー bool update = true; int iv = 10; for (int cnt=1;;++cnt) { if( update ) { int nDot = draw_map(); draw_enemy(); draw_car(); draw_score(); g_db.swap(); if( !nDot ) { // ドット全消去 mciSendString(TEXT("play one23.mp3"), NULL, 0, NULL); Sleep(1000); g_score += g_nEnemy * 1000; if( ++g_level > 1 ) ++g_nEnemy; init(); continue; //return true; } if( check_crash() ) { mciSendString(TEXT("play s-burst01.mp3"), NULL, 0, NULL); return false; } } Sleep(10); update = false; if( !keyDown ) { // キー押下を受け付けていない場合 if( isKeyPressed(VK_LEFT) ) { key = keyDown = VK_LEFT; } else if( isKeyPressed(VK_RIGHT) ) { key = keyDown = VK_RIGHT; } else if( isKeyPressed(VK_UP) ) { key = keyDown = VK_UP; } else if( isKeyPressed(VK_DOWN) ) { key = keyDown = VK_DOWN; } } else { if( !isKeyPressed(keyDown) )// 押されたキーが離された keyDown = 0; } if( cnt % 10 == 0 ) { for (int i = 0; i < (int)g_enemy.size(); ++i) { move_car(g_enemy[i]); change_lane(g_enemy[i]); } update = true; } accel_decel(key, iv); if( cnt % iv == 0 ) { move_car(g_car); change_lane(g_car, key); //move_car(g_car, key); eat_dot(); update = true; iv = 10; } } }
int main() { initSrv(); aptInit(APPID_APPLICATION); gspGpuInit(); hidInit(NULL); Handle fsuHandle; srv_getServiceHandle(NULL, &fsuHandle, "fs:USER"); FSUSER_Initialize(fsuHandle); aptSetupEventHandler(); init_map(); int i; int j; int p=4; int d=0; int q; int frogx = 0; int frogy = 0; int carx[6][9]; int logx[5][6]; // Cant use rand. //for(d=1;d<6;d++){ // while(p>4){ // p = rand(); // } // carx[d]=26+p; for(d=0;d<8;d++){ carx[0][d]=26; if(d<5){ logx[0][d]=26; } d++; } for(d=1;d<8;d++){ if(d<5){ logx[0][d]=0; } carx[0][d]=0; d++; } for(q=0;q<8;q++){ for(d=1; d<6; d++){ if(q<5){ if(d<5){ logx[d][q]=26+p+6; } } carx[d][q]=26+p +6; p=p+6; } p=0; q++; } p= 0; for(q=1;q<8;q++){ for(d=1;d<5;d++){ if(q<5){ if(d<5){ logx[d][q] = p-6; } } carx[d][q]=p-6; p=p-6; } p=0; q++; } while(!aptGetStatus()){ u32 PAD=hidSharedMem[7]; if (PAD == BUTTON_UP){ frogy+= 1; } else if (PAD == BUTTON_DOWN){ frogy+= -1; } else if (PAD == BUTTON_LEFT){ frogx+= -1; } else if (PAD == BUTTON_RIGHT){ frogx+=1; } u32 regData=PAD|0x01000000; init_map(); for(i=0;i<6;i++){ for(j=0;j<8;j++){ draw_car(carx[i][j],15+j*15); if(i<5){ if(j<5){ draw_logs(logx[i][j],150+j*15); } } } } draw_frog(frogx,frogy); //Checks Colition for(i=0;i<6;i++){ for(j=0;j<8;j++){ if(frogy==j+1){ if(frogx==carx[i][j]){ frogy =0; frogx =0; } } } } //Checks if frog in poodle if(frogy >9){ for(i=0;i<5;i++){ for(j=0;j<5;j++){ if(frogy==j+10){ if(frogx==logx[i][j] || frogx==logx[i][j]+1 || frogx==logx[i][j]+2){ frogx= frogx -1; } else{ frogx =0; frogy =0; } } } } } //reinitialize the cars :D // Cant use f*****g rand //for(p=0;p<6;p++){ // if(carx[p]==0){ // d=5; // while(d>4){ // d = rand(); // } // carx[p]= 26+d; // } // else { // carx[p]=carx[p]-1; // } //} for(i=0;i<6;i++){ for(j=0;j<9;j=j+2){ if(i<5){ if(j<5){ if(logx[i][j]==0){ logx[i][j]=26; } else{ logx[i][j]=logx[i][j]-1; } } } if(carx[i][j]==0){ carx[i][j] =26; } else{ carx[i][j]=carx[i][j]-1; } } } for(i=0;i<6;i++){ for(j=1;j<9;j=j+2){ if(i<5){ if(j<5){ if(logx[i][j]==26){ logx[i][j]=0; } else{ logx[i][j]=logx[i][j]+1; } } } if(carx[i][j]==26){ carx[i][j]=0; } else{ carx[i][j]= carx[i][j]+1; } } } copyBuffer(); swapBuffers(); GSPGPU_WriteHWRegs(NULL, 0x202A04, ®Data, 4); svc_sleepThread(220000000); } svc_closeHandle(fsuHandle); hidExit(); gspGpuInit(); aptExit(); svc_exitProcess(); return 0; }
static gmx_bool xhwCallBack(struct t_x11 *x11, XEvent *event, Window wd, void *data) { t_xhighway *xhw; t_windata *win; float sx; int i; static int nyy = 0; static int *yy; xhw = (t_xhighway *)data; win = &(xhw->win); if (nyy == 0) { nyy = 2*xhw->ir.nlane+1; snew(yy, nyy); } for (i = 0; (i < nyy); i++) { yy[i] = ((float) i*win->height)/(nyy-1); } switch (event->type) { case Expose: { if (wd == win->self) { sx = (float)win->width / xhw->ir.metres; XClearWindow(x11->disp, win->self); XSetForeground(x11->disp, x11->gc, WHITE); for (i = 2; (i < nyy-1); i += 2) { XDrawLine(x11->disp, win->self, x11->gc, 0, yy[i], win->width-1, yy[i]); } for (i = 0; (i < xhw->ncars); i++) { t_car *car = &(xhw->cars[i]); int w1 = car->x*sx; int h1 = yy[1+2*(xhw->ir.nlane-1-car->lane)]; draw_car(x11->disp, win->self, x11->gc, car, w1, h1); } if (xhw->bDriving) { simulate(x11, xhw, xhw->ncars, xhw->cars, &xhw->ir); } } break; } case ConfigureNotify: if (wd == xhw->main.self) { xhw->main.width = event->xconfigure.width; xhw->main.height = event->xconfigure.height; Configure(xhw); for (i = 0; (i < NBUT); i++) { XMoveResizeWindow(x11->disp, xhw->but[i].self, xhw->but[i].x, xhw->but[i].y, xhw->but[i].width, xhw->but[i].height); } XMoveResizeWindow(x11->disp, win->self, win->x, win->y, win->width, win->height); } else if (wd == win->self) { win->width = event->xconfigure.width; win->height = event->xconfigure.height; } break; case ButtonPress: return TRUE; default: break; } return FALSE; }