diff schedule.cc @ 7:c015109a6041

schedule add. 10% done.
author tkaito
date Tue, 29 Jun 2010 04:25:32 +0900
parents
children 7c60ef3fca5b
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/schedule.cc	Tue Jun 29 04:25:32 2010 +0900
@@ -0,0 +1,287 @@
+#include "dandy.h"
+
+static const int FRAME_RATE = 32;
+
+void Putenemy(int charano, int x, int y, int sx, int sy, int move, int coll, 
+	      SceneGraphPtr node, void *sgroot_);
+
+void
+schedule(SceneGraphPtr node, void *sgroot_, int w, int h) 
+{
+  switch (node->frame) {
+  case 1:
+    break;    
+  case FRAME_RATE * 2:
+    Putenemy(1, w/2, 0, 2, 4, MOVE_00, MOVE_00, node, sgroot_);
+    break;
+  case FRAME_RATE * 3:
+    Putenemy(1, w/3, 0, 0, 8, MOVE_00, MOVE_00, node, sgroot_);
+    Putenemy(1, w/2, 0, 0, 8, MOVE_00, MOVE_00, node, sgroot_);
+    break;
+    /*
+  case FRAME_RATE * 4:
+    Putenemy(1, 120, -128, 0, 4, chara_state0);
+    break;
+  case FRAME_RATE * 5:
+    Putenemy(1, 224, -128, 1, 1, chara_state0);
+    Putenemy(1, 184, -128, 1, 1, chara_state0);
+    break;
+  case FRAME_RATE * 6:
+    Putenemy(1, 120, -128, 1, 2, chara_state0);
+    break;
+  case FRAME_RATE * 7:
+    Putenemy(1, 56, -128, 0, 1, chara_state0);
+    Putenemy(1, 184, -128, 0, 1, chara_state0);
+    break;
+  case FRAME_RATE * 8:
+    Putenemy(2, 120, -128, 0, 1, chara_state0);
+    break;
+    
+  case FRAME_RATE * 12:
+    Putenemy(1, 1280 - 128 - 120, -128, 0, 1, chara_state4);
+    break;
+  case FRAME_RATE * 13:
+    Putenemy(1, 1280 - 128 - 120, -128, 0, 1, chara_state4);
+    break;
+  case FRAME_RATE * 14:
+    Putenemy(1, 1280 - 128 - 120, -128, 0, 1, chara_state4);
+    break;
+  case FRAME_RATE * 15:
+    Putenemy(2, 1280 - 128 - 120, -128, -1, 1, chara_state4);
+    break;
+  case FRAME_RATE * 16:
+    Putenemy(2, 1280 - 128 - 120, -128, 0, 1, chara_state4);
+    break;
+  case FRAME_RATE * 17:
+    Putenemy(2, 1280 - 128 - 120, -128, 0, 1, chara_state4);
+    break;
+  case FRAME_RATE * 18:
+    Putenemy(1, 1280 - 128 - 120, -32, 0, 1, chara_state4);
+    Putenemy(1, 1280 - 128, -128, -2, 1, chara_state4);
+    Putenemy(1, 800, -88, -1, 1, chara_state4);
+    break;
+    
+  case FRAME_RATE * 24:
+    Putenemy(1, 256, -128, 0, 1, chara_state4);
+    Putenemy(1, 1280 - 256 - 128, -128, 0, 1, chara_state4);
+    break;
+  case FRAME_RATE * 25:
+    Putenemy(2, 512, -128, 0, 1, chara_state4);
+    Putenemy(2, 1280 - 128, -128, 0, 1, chara_state4);
+    break;
+  case FRAME_RATE * 26:
+    Putenemy(1, 384, -128, 0, 1, chara_state4);
+    Putenemy(1, 1280 - 256, -128, 0, 2, chara_state4);
+    Putenemy(1, 512, -128, 0, 3, chara_state4);
+    Putenemy(1, 1280 - 256, -128, 0, 2, chara_state4);
+    break;
+  case FRAME_RATE * 27:
+    Putenemy(2, 512, -128, 0, 3, chara_state2);
+    Putenemy(2, 256 - 128, -128, 0, 2, chara_state2);
+    Putenemy(2, 768, -128, 0, 4, chara_state2);
+    Putenemy(2, 128, -128, 0, 3, chara_state2);
+    break;
+  case FRAME_RATE * 28:
+    Putenemy(1, 256, -128, 0, 1, chara_state4);
+    Putenemy(1, 1280 - 256 - 128, -128, 0, 1, chara_state4);
+    break;
+  case FRAME_RATE * 29:
+    Putenemy(2, 256, -128, 0, 1, chara_state4);
+    Putenemy(2, 1280 - 256 - 128, -128, 0, 1, chara_state4);
+    break;
+  case FRAME_RATE * 30:
+    Putenemy(1, 256, -128, 0, 1, chara_state4);
+    Putenemy(1, 1280 - 256 - 128, -128, 0, 1, chara_state4);
+    break;
+    
+  case FRAME_RATE * 33:
+    Putenemy(1, 256, 1088, 0, -1, chara_state5);
+    Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state5);//5/22/pm5:300
+    break;
+  case FRAME_RATE * 34:
+    Putenemy(2, 256, 1088, 0, -1, chara_state5);
+    Putenemy(2, 1280 - 256 - 128, 1088, 0, -1, chara_state5);
+    break;
+  case FRAME_RATE * 35:
+    Putenemy(1, 256, 1088, 0, -1, chara_state5);
+    Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state5);
+    break;
+  case FRAME_RATE * 36:
+    Putenemy(2, 256, 1088, 0, -1, chara_state5);
+    Putenemy(2, 1280 - 256 - 128, 1088, 0, -1, chara_state5);
+    break;
+  case FRAME_RATE * 37:
+    Putenemy(1, 256, 1088, 0, -1, chara_state5);
+    Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state5);
+    break;
+  case FRAME_RATE * 38:
+    Putenemy(2, 256, 1088, 0, -1, chara_state5);
+    Putenemy(2, 1280 - 256 - 128, 1088, 0, -1, chara_state5);
+    break;
+  case FRAME_RATE * 39:
+    Putenemy(1, 256, 1088, 0, -1, chara_state5);
+    Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state5);
+    break;
+    
+  case FRAME_RATE * 50:
+    Putenemy(40, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state3);
+    break;
+  case FRAME_RATE * 46:
+    Putenemy(40, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state3);
+    break;
+  case FRAME_RATE * 54:
+    Putenemy(40, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state3);
+    break;
+    
+  case FRAME_RATE * 60:
+    Putenemy(1, 256, 1088, 0, -1, chara_state6);
+    Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state6);
+    break;
+  case FRAME_RATE * 61:
+    Putenemy(1, 256, 1088, 0, -1, chara_state6);
+    Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state6);
+    break;
+  case FRAME_RATE * 62:
+    Putenemy(1, 256, 1088, 0, -1, chara_state6);
+    Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state6);
+    break;
+  case FRAME_RATE * 63:
+    Putenemy(1, 256, 1088, 0, -1, chara_state6);
+    Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state6);
+    break;
+  case FRAME_RATE * 64:
+    Putenemy(1, 256, 1088, 0, -1, chara_state6);
+    Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state6);
+    break;
+  case FRAME_RATE * 65:
+    Putenemy(40, 256, 1088, 0, -1, chara_state6);
+    Putenemy(40, 1280 - 256 - 128, 1088, 0, -1, chara_state6);
+    break;
+    
+  case FRAME_RATE * 80:
+    Putenemy(42, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
+    break;
+  case FRAME_RATE * 66:
+    Putenemy(41, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
+    break;
+  case FRAME_RATE * 84:
+    Putenemy(42, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
+    break;
+  case FRAME_RATE * 70:
+    Putenemy(41, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
+    break;
+  case FRAME_RATE * 88:
+    Putenemy(42, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
+    break;
+  case FRAME_RATE * 74:
+    Putenemy(41, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
+    break;
+  case FRAME_RATE * 92:
+    Putenemy(42, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
+    break;
+  case FRAME_RATE * 78:
+    Putenemy(41, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
+    break;
+    
+  case FRAME_RATE * 100:
+    Putenemy(41, 256, -128, 0, 1, chara_state7);
+    Putenemy(41, 1280 - 256 - 128, -128, 0, 1, chara_state7);
+    break;
+  case FRAME_RATE * 81:
+    Putenemy(42, 256, -128, 0, 1, chara_state7);
+    Putenemy(42, 1280 - 256 - 128, -128, 0, 1, chara_state7);
+    break;
+  case FRAME_RATE * 104:
+    Putenemy(41, 256, -128, 0, 1, chara_state7);
+    Putenemy(41, 1280 - 256 - 128, -128, 0, 1, chara_state7);
+    break;
+  case FRAME_RATE * 83:
+    Putenemy(42, 256, -128, 0, 1, chara_state7);
+    Putenemy(42, 1280 - 256 - 128, -128, 0, 1, chara_state7);
+    break;
+  case FRAME_RATE * 108:
+    Putenemy(41, 256, -128, 0, 1, chara_state7);
+    Putenemy(41, 1280 - 256 - 128, -128, 0, 1, chara_state7);
+    break;
+  case FRAME_RATE * 85:
+    Putenemy(42, 256, -128, 0, 1, chara_state7);
+    Putenemy(42, 1280 - 256 - 128, -128, 0, 1, chara_state7);
+    break;
+  case FRAME_RATE * 112:
+    Putenemy(41, 256, -128, 0, 1, chara_state7);
+    Putenemy(41, 1280 - 256 - 128, -128, 0, 1, chara_state7);
+    break;
+    
+  case FRAME_RATE * 130:
+    SoundStop();
+    SoundPlay(4);
+    for(p = active_chara_list;p!=NULL;p=p->next)
+      {
+	p->f = FALSE;
+	p->state = delete_chara;
+	p->collision = noaction;
+      }
+    Putenemy(4, 520, -128, 0, 1, chara_state8);	// 1面ボスをPutenemy
+  }
+    */
+  }
+}
+
+ObjProperty enemy[300];
+ObjPropertyPtr e;
+
+void
+create_enemy(SchedTask *s, void *enemy_, void *b)
+{
+  ObjPropertyPtr e = (ObjPropertyPtr)enemy_; 
+  SceneGraphPtr back1, enemy1;
+  back1 = (SceneGraphPtr)e->parent;
+  enemy1 = (SceneGraphPtr)e->root;
+  
+  enemy1->xyz[0] = e->x;
+  enemy1->xyz[1] = e->y;
+
+  back1->addChild(enemy1);
+
+}
+
+void
+Putenemy(int charano, int x, int y, int sx, int sy, int move, int coll, 
+	      SceneGraphPtr node, void *sgroot_)
+{
+  SceneGraphRoot *sgroot = (SceneGraphRoot *)sgroot_;
+  SceneGraphPtr obj = (SceneGraphPtr)charactor[charano].root;
+
+  int ii = 0;
+  e = &enemy[0];
+  while ((e->flag) == 1) {
+    ii++;
+    if (ii == 100)
+      return;
+    e++;
+  }
+  e->x = x;
+  e->y = y;
+  e->vx = sx;
+  e->vy = sy;
+  e->root = obj;
+  e->parent = node;
+  e->flag = 1;
+  e->vital = charactor[charano].vital;
+  //e->move = move;
+  e->score = charactor[charano].score;
+  //e->dt1 = e->dt2 = 0;
+  //e->tama = tf;
+
+  obj->xyz[0] = x;
+  obj->xyz[1] = y;
+  obj->stack_xyz[0] = sx;
+  obj->stack_xyz[1] = sy;
+
+  int size = sizeof(ObjPropertyPtr);
+  //obj->set_move_collision(move, coll);
+  sgroot->set_game_task(move, e, size, create_enemy);
+
+  node->addChild(obj);
+  
+}