void loose2(){ effect_reset(); int j; for(j=0;j<snakelen*5+50; j++){ if(j%5==0 && j<snakelen*5){ effect_create(EFFECT_TYPE_STROBE , snake[j/5], -63-32*(sin(j/5)+1),0,-32*(sin(j/5+3.14159)+1), 2, j, 30); effect_create(EFFECT_TYPE_FADEIN , snake[j/5], -63-32*(sin(j/5)+1),0,-32*(sin(j/5+3.14159)+1), 2, j, 30); effect_create(EFFECT_TYPE_DELAY , snake[j/5], -63-32*(sin(j/5)+1),0,-32*(sin(j/5+3.14159)+1), 2, j+30, snakelen*5+50); } snake_draw(); effect_draw(j); blit(); update(); //usleep(10000); } calc_score(); display_score(); welcome(); }
int main(void){ int in; ctr = 0; lastmove = 0; pos = 0; dir = 0; nextdir = 0; tick_delay = 10; spi_init(); initscr(); /* Start curses mode */ keypad(stdscr, TRUE); nodelay(stdscr, TRUE); cbreak(); noecho(); nunchuck_init(); effect_init(); welcome(); snakesetup(); logfile = fopen("snakelog.txt","a+"); fprintf(logfile, "snake inited\n"); while(42){ in = getch(); do{ while(nunchuck_read()){ nunchuck_init(); //nunchuck_read(); mvprintw(6,0,"nunchuck reinited\n"); } }while(joyX < 10 || joyX == 255 || joyY < 10 || joyY == 255); if (dir != 1 && (in == KEY_LEFT || (joyX < XCENTER - JOYDEADZONE && joyX > 10 ))){ nextdir = 0; } else if (dir != 0 && (in == KEY_RIGHT || (joyX > XCENTER + JOYDEADZONE && joyX < 240))){ nextdir = 1; } else if (dir != 3 && (in == KEY_UP || joyY > YCENTER + JOYDEADZONE)){ nextdir = 2; } else if (dir != 2 && (in == KEY_DOWN || (joyY < YCENTER - JOYDEADZONE && joyY > 10))){ nextdir = 3; } if (joyX > 150){ } if(lastmove+tick_delay <= ctr){ lastmove = ctr; dir = nextdir; snake_do(dir); //if(!buttonC && tick_delay > 0) tick_delay--; //if(!buttonZ && tick_delay < 30) tick_delay++; } //setpixel((accelX-512)/10+WIDTH/2,(accelY-512)/20+6,127,32,16); mvprintw(0,2,"pos: %d\n", pos); mvprintw(1,0,"joy X,Y: %d, %d\n", joyX, joyY); mvprintw(2,0,"Accel X,Y,Z: %d, %d, %d\n", accelX, accelY, accelZ); mvprintw(3,0,"Button C,Z: %d, %d\n", buttonC, buttonZ); calc_score(); mvprintw(4,5,"Score: %d ", score); refresh(); //ncurses snake_draw(); effect_draw(ctr); buffer[nompos*3+1] = 127; blit(); update(); ctr++; } endwin(); /* End curses mode */ return 0; }
void view_draw_scene_render(int tick,obj_type *obj,weapon_type *weap) { // setup projection gl_3D_view(); gl_3D_rotate(&view.render->camera.pnt,&view.render->camera.ang); gl_setup_project(); // draw background and sky // unless obscured by fog if (!fog_solid_on()) { draw_background(); draw_sky(tick); } else { fog_solid_start(); } // setup per-scene shader variables gl_shader_draw_scene_initialize(); // compile meshes for drawing if (!view_compile_mesh_gl_lists(tick)) return; // setup some map polygon drawing flags render_map_setup(); // draw opaque scene items render_map_mesh_opaque(); render_map_liquid_opaque(tick); view_draw_model_opaque(tick); // additional mesh and model drawing // shadows, remote names, etc view_draw_mesh_shadows(); view_draw_models_final(); // draw transparent scene items render_map_mesh_transparent(); view_draw_model_transparent(tick); render_map_liquid_transparent(tick); // draw decals decal_render(); // effects effect_draw(tick); // draw rain rain_draw(tick); // draw fog fog_draw_textured(tick); if (fog_solid_on()) fog_solid_end(); // setup halos, crosshairs, zoom masks remote_draw_names_setup(); halo_draw_setup(); if ((obj!=NULL) && (weap!=NULL)) { crosshair_setup(tick,obj,weap); zoom_setup(tick,obj,weap); // draw the weapons in hand if (camera.mode==cv_fpp) draw_weapon_hand(tick,obj,weap); } // draw the remote names, halos, crosshairs, and zoom masks remote_draw_names_render(); halo_draw_render(); if ((obj!=NULL) && (weap!=NULL)) { crosshair_draw(obj,weap); zoom_draw(obj,weap); } }