#include"variable.h"
int Key[256];
int GHK(){
char tmpKey[256];
GetHitKeyStateAll( tmpKey );
for( int i=0; i<256; i++ ){
if( tmpKey[i] != 0 ){
Key[i]++;
} else {
Key[i] = 0;
}
}
return 0;
}
int GHP(){
if( ( GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_UP ) == 0 ){
botan.up=0;
}
else{
botan.up=1;
}
if( ( GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_DOWN ) == 0 ){
botan.down=0;
}
else{
botan.down=1;
}
if( ( GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_RIGHT ) == 0 ){
botan.right=0;
}
else{
botan.right=1;
}
if( ( GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_LEFT ) == 0 ){
botan.left=0;
}
else{
botan.left=1;
}
if( ( GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_1 ) == 0 ){
botan.b[1]=0;
}
else{
botan.b[1]=1;
}
if( ( GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_2 ) == 0 ){
botan.b[2]=0;
}
else{
botan.b[2]=1;
}
if( ( GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_3 ) == 0 ){
botan.b[3]=0;
}
else{
botan.b[3]=1;
}
if( ( GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_4 ) == 0 ){
botan.b[4]=0;
}
else{
botan.b[4]=1;
}
if( ( GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_5 ) == 0 ){
botan.b[5]=0;
}
else{
botan.b[5]=1;
}
if( ( GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_6 ) == 0 ){
botan.b[6]=0;
}
else{
botan.b[6]=1;
}
if( ( GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_7 ) == 0 ){
botan.b[7]=0;
}
else{
botan.b[7]=1;
}
if( ( GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_8 ) == 0 ){
botan.b[8]=0;
}
else{
botan.b[8]=1;
}
if( ( GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_9 ) == 0 ){
botan.b[9]=0;
}
else{
botan.b[9]=1;
}
if( ( GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_10 ) == 0 ){
botan.b[10]=0;
}
else{
botan.b[10]=1;
}
if( ( GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_11 ) == 0 ){
botan.b[11]=0;
}
else{
botan.b[11]=1;
}
if( ( GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_12 ) == 0 ){
botan.b[12]=0;
}
else{
botan.b[12]=1;
}
if( ( GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_13 ) == 0 ){
botan.b[13]=0;
}
else{
botan.b[13]=1;
}
if( ( GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_14 ) == 0 ){
botan.b[14]=0;
}
else{
botan.b[14]=1;
}
if( ( GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_15 ) == 0 ){
botan.b[15]=0;
}
else{
botan.b[15]=1;
}
if( ( GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_16 ) == 0 ){
botan.b[16]=0;
}
else{
botan.b[16]=1;
}
return 0;
}
int comand(){
if(Key[KEY_INPUT_UP]>0||botan.up>0){
key.up++;
key.up_n=0;
}
else{
key.up=0;
key.up_n++;
}
if(Key[KEY_INPUT_DOWN]>0||botan.down>0){
key.down++;
key.down_n=0;
}
else{
key.down=0;
key.down_n++;
}
if(Key[KEY_INPUT_RIGHT]>0||botan.right>0){
key.right++;
key.right_n=0;
}
else{
key.right=0;
key.right_n++;
}
if(Key[KEY_INPUT_LEFT]>0||botan.left>0){
key.left++;
key.left_n=0;
}
else{
key.left=0;
key.left_n++;
}
if(Key[KEY_INPUT_Z]>0||botan.b[2]>0){
key.shot++;
key.shot_n=0;
}
else{
key.shot=0;
key.shot_n++;
}
if(Key[KEY_INPUT_X]>0||botan.b[3]>0){
key.missile++;
key.missile_n=0;
}
else{
key.missile=0;
key.missile_n++;
}
if(Key[KEY_INPUT_C]>0){
key.seek++;
key.seek_n=0;
}
else{
key.seek=0;
key.seek_n++;
}
if(Key[KEY_INPUT_LSHIFT]>0||Key[KEY_INPUT_RSHIFT]>0||botan.b[8]>0){
key.slow++;
key.slow_n=0;
}
else{
key.slow=0;
key.slow_n++;
}
return 0;
}#include"variable.h"
void move_my(){
if(key.up%5==0)my.xyz.y+=10.0f,my.p++;
if(key.down%5==0)my.xyz.y-=10.0f,my.p--;
if(key.right%5==0)my.xyz.x+=10.0f;
if(key.left%5==0)my.xyz.x-=10.0f;
}
void my_main(){
move_my();
}#include"variable.h"
void render_my(){
MV1SetPosition(my.model,my.xyz) ;
MV1DrawModel(my.model);
}
void render_main(){
render_my();
DrawFormatString(100,50,GetColor(255,255,255),"%f,%f,%f,%d,%d",my.xyz.x,my.xyz.y,my.xyz.z,my.p,key.missile);
}typedef struct{
int up,down,right,left,b[16];
}botan_t;
typedef struct{
int up,down,right,left,shot,missile,slow,seek;
int up_n,down_n,right_n,left_n,shot_n,missile_n,slow_n,seek_n;
}key_t;
typedef struct{
int model,p;
VECTOR xyz;
}my_t;↑キー押すと上に動き↓キー押すと下に動き・・・としたいのですが
逆向きに動いてしまいます。
上のmy.pの増減も逆になってしまいます。
どうしてなのでしょうか?