annotate Renderer/Test/gaplant_action.cc @ 1029:22d7263cec2d

copy script add.
author tkaito
date Mon, 15 Nov 2010 22:39:25 +0900
parents d0b8860c17f8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 #include <iostream>
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 #include <cmath>
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 #include "SceneGraphRoot.h"
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 #include "gaplant.h"
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 using namespace std;
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 void
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 move_right(SceneGraphPtr node)
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 {
628
306c9a7717c3 change gaplan.cc
yutaka@henri.cr.ie.u-ryukyu.ac.jp
parents: 578
diff changeset
10 /*cout << "右を押したんだ " << node->angle[2] << "\n";*/
306c9a7717c3 change gaplan.cc
yutaka@henri.cr.ie.u-ryukyu.ac.jp
parents: 578
diff changeset
11 node->angle[1] -= 10;
306c9a7717c3 change gaplan.cc
yutaka@henri.cr.ie.u-ryukyu.ac.jp
parents: 578
diff changeset
12 /* if (node->angle[2] < -30) {
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 node->angle[2] = -30;
628
306c9a7717c3 change gaplan.cc
yutaka@henri.cr.ie.u-ryukyu.ac.jp
parents: 578
diff changeset
14 }
306c9a7717c3 change gaplan.cc
yutaka@henri.cr.ie.u-ryukyu.ac.jp
parents: 578
diff changeset
15 node->xyz[0] += 5;*/
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 }
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 void
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 move_left(SceneGraphPtr node)
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 {
628
306c9a7717c3 change gaplan.cc
yutaka@henri.cr.ie.u-ryukyu.ac.jp
parents: 578
diff changeset
21 /*cout << "左を押したんだ " << node->angle[2] << "\n";*/
306c9a7717c3 change gaplan.cc
yutaka@henri.cr.ie.u-ryukyu.ac.jp
parents: 578
diff changeset
22 node->angle[1] += 10;
306c9a7717c3 change gaplan.cc
yutaka@henri.cr.ie.u-ryukyu.ac.jp
parents: 578
diff changeset
23 /* if (node->angle[2] > 30) {
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 node->angle[2] = 30;
628
306c9a7717c3 change gaplan.cc
yutaka@henri.cr.ie.u-ryukyu.ac.jp
parents: 578
diff changeset
25 }
306c9a7717c3 change gaplan.cc
yutaka@henri.cr.ie.u-ryukyu.ac.jp
parents: 578
diff changeset
26 node->xyz[0] -= 5;*/
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 }
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 void
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 move_down(SceneGraphPtr node)
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 {
628
306c9a7717c3 change gaplan.cc
yutaka@henri.cr.ie.u-ryukyu.ac.jp
parents: 578
diff changeset
32 /*cout << "下だって押したくなる時はある "<< node->angle[0] << "\n";*/
306c9a7717c3 change gaplan.cc
yutaka@henri.cr.ie.u-ryukyu.ac.jp
parents: 578
diff changeset
33 node->angle[0] += 10;
306c9a7717c3 change gaplan.cc
yutaka@henri.cr.ie.u-ryukyu.ac.jp
parents: 578
diff changeset
34 /*if (node->angle[0] > -60) {
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 node->angle[0] = -60;
628
306c9a7717c3 change gaplan.cc
yutaka@henri.cr.ie.u-ryukyu.ac.jp
parents: 578
diff changeset
36 }
306c9a7717c3 change gaplan.cc
yutaka@henri.cr.ie.u-ryukyu.ac.jp
parents: 578
diff changeset
37 node->xyz[1] += 5;*/
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 }
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 void
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 move_up(SceneGraphPtr node)
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 {
628
306c9a7717c3 change gaplan.cc
yutaka@henri.cr.ie.u-ryukyu.ac.jp
parents: 578
diff changeset
43 /*cout << "上を押したんだ "<< node->angle[0] << "\n";*/
306c9a7717c3 change gaplan.cc
yutaka@henri.cr.ie.u-ryukyu.ac.jp
parents: 578
diff changeset
44 node->angle[0] -= 10;
306c9a7717c3 change gaplan.cc
yutaka@henri.cr.ie.u-ryukyu.ac.jp
parents: 578
diff changeset
45 /*if (node->angle[0] < -120) {
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 node->angle[0] = -120;
628
306c9a7717c3 change gaplan.cc
yutaka@henri.cr.ie.u-ryukyu.ac.jp
parents: 578
diff changeset
47 }
306c9a7717c3 change gaplan.cc
yutaka@henri.cr.ie.u-ryukyu.ac.jp
parents: 578
diff changeset
48 node->xyz[1] -= 5;*/
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 }
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
50
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 void
656
d0b8860c17f8 remove global variable "sgroot" , add SgChange.{cc, h} SgMain.cc SgRootChange.{cc, h}
hiroki@henri.cr.ie.u-ryukyu.ac.jp
parents: 628
diff changeset
52 gaplant_move(SceneGraphPtr node, void *sgroot_, int w, int h)
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 {
656
d0b8860c17f8 remove global variable "sgroot" , add SgChange.{cc, h} SgMain.cc SgRootChange.{cc, h}
hiroki@henri.cr.ie.u-ryukyu.ac.jp
parents: 628
diff changeset
54 SceneGraphRoot *sgroot = (SceneGraphRoot *)sgroot_;
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 Pad *pad = sgroot->getController();
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
56
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 if (pad->right.isHold() || pad->left.isHold() || pad->down.isHold() || pad->up.isHold()) {
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 if (pad->right.isHold()) {
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 move_right(node);
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 } else if (pad->left.isHold()) {
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 move_left(node);
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 } else if (pad->down.isHold()) {
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 move_down(node);
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 } else if (pad->up.isHold()) {
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 move_up(node);
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 }
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
67 }
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
68
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
69 if (pad->cross.isHold() || pad->circle.isHold()) {
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
70 if (pad->cross.isHold()) {
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
71 node->xyz[2] += 5;
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
72 } else if (pad->circle.isHold()) {
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
73 node->xyz[2] -= 5;
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 }
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
75 }
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
76 }
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
77
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 void
656
d0b8860c17f8 remove global variable "sgroot" , add SgChange.{cc, h} SgMain.cc SgRootChange.{cc, h}
hiroki@henri.cr.ie.u-ryukyu.ac.jp
parents: 628
diff changeset
79 gaplant_coll(SceneGraphPtr node, void *sgroot_, int w, int h, SceneGraphPtr tree)
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
80 {
656
d0b8860c17f8 remove global variable "sgroot" , add SgChange.{cc, h} SgMain.cc SgRootChange.{cc, h}
hiroki@henri.cr.ie.u-ryukyu.ac.jp
parents: 628
diff changeset
81 SceneGraphRoot *sgroot = (SceneGraphRoot *)sgroot_;
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 SceneGraphIteratorPtr it = sgroot->getIterator(tree);
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 //static int damage = 0;
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
84
578
a068627a0bc6 ps3 move
game@localhost.localdomain
parents: 560
diff changeset
85 for (; it->hasNext(sgroot->getSgid("Ball"));) {
a068627a0bc6 ps3 move
game@localhost.localdomain
parents: 560
diff changeset
86 it->next(sgroot->getSgid("Ball"));
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 SceneGraphPtr ball = it->get();
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
88
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
89 double dis_x = node->xyz[0] - ball->xyz[0];
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
90 double dis_y = node->xyz[1] - ball->xyz[1];
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
91 double dis_z = node->xyz[2] - ball->xyz[2];
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 double distance = sqrt(dis_x*dis_x + dis_y*dis_y + dis_z*dis_z);
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
93
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 if (distance < CHECK_HIT_RAD + BALL_RAD) {
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
95 cout << "今からもっと細かく判定するよ ^q^\n";
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
96 ball->remove();
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
97 }
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
98 }
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
99 }