int body() { char c; while(1){ ps(); printf("I am Proc %d in body()\n", running->pid); printf("Input a char : [s|q|f] "); c=getc(); switch(c){ case 's': tswitch(); break; case 'q': grave(); break; case 'f': kfork(); break; default : break; } } }
void EnnemiSmurfette::onMeure() { ss_etape += 1; ss_etape %= 5; if (ss_etape == 0) { etape += 1; if (etape >= 11) { a_detruire = true; grave(x, y, pic); return; } } if (dir == SENS_DROITE) pic = pbk_ennemis[325 + etape]; else pic = pbk_ennemis[337 + etape]; }
void EnnemiToad::onMeure() { /*if (dy<-5) dy-=5; if (dy<-2) dy=0;*/ tombe(); ss_etape += 1; ss_etape %= 6; if (ss_etape == 0 && etape < 10) etape += 1; if ((etape > 4) && (hokuto > 0)) { hokuto--; etape -= 4; } if (etape == 5 && ss_etape == 0) { sbk_misc.play(9 + rand() % 2); } if (etape >= 10) { int yy = plat(x, y); if (yy != 0 && yy != y_plat[4][x]) { grave(x, y, pic); a_detruire = true; } } else { if (dir == SENS_GAUCHE) { if (!mur_opaque(x - speed, y) && plat(x, y) == 0) x -= speed; pic = pbk_ennemis[18 + etape]; } else { if (!mur_opaque(x + speed, y) && plat(x, y) == 0) x += speed; pic = pbk_ennemis[8 + etape]; } } }
void EnnemiBisouNuage::onMeureFin() { if (etape < 6) { ss_etape += 1; ss_etape %= 3; if (ss_etape == 0) etape += 1; if (dir == SENS_DROITE) { // x += 2; pic = pbk_ennemis[236 + etape]; } else { // x -= 2; pic = pbk_ennemis[243 + etape]; } } else { grave(x, y, pic); a_detruire = true; } }
void MorceauTeteRayman::update() { x += dx; tombe(); ss_etape ++; ss_etape %= 4; if (ss_etape == 0) { etape ++; etape %= 8; pic = pbk_ennemis[496 + etape]; } // Et si la tete touche le sol? ? // if (dy > 0 && (plat(x, y + dy)) != 0) { grave(x, y, pic); a_detruire = true; } }
void EnnemiSnorkyBase1::onMeure() { tombe(); ss_etape += 1; ss_etape %= 5; if (ss_etape == 0) etape += 1; if (etape == 4 && ss_etape == 1) { Sprite * s = new MorceauSnorkyBaseTeteEntiere(); s->dir = dir; s->y = y - 22; s->x = x; list_giclures.ajoute((void*) s); dy = 0; } if (etape == 14) { if (plat(x, y) != 0) { grave(x, y, pic); } a_detruire = true; } else { if (dir == SENS_GAUCHE) { marche(-SNORKY_BASE_SPEED); pic = pbk_ennemis[71 + etape]; } else { marche(SNORKY_BASE_SPEED); pic = pbk_ennemis[38 + etape]; } } }
void EnnemiBulbizarre::onMeure() { tombe(); ss_etape += 1; ss_etape %= 5; if (ss_etape == 0 && etape < 8) etape += 1; if (etape >= 8) { int yy = plat(x, y); if (yy != 0 && yy != y_plat[4][x]) grave(x, y, pic); a_detruire = true; } else { if (dir == SENS_GAUCHE) pic = pbk_ennemis[36 + etape]; else pic = pbk_ennemis[28 + etape]; } }
//causes the process to exit int kexit() { return grave(); }
int do_exit() { return grave(); }