Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Robot_Rock
1 / 1 / 0
Регистрация: 07.05.2013
Сообщений: 5
#1

onToughEvent - Программирование Android

07.05.2013, 19:38. Просмотров 365. Ответов 2
Метки нет (Все метки)

Написал игру пятнашки, вот кусок когда. Но есть проблема цифры не меняются местами. запрашиваю помощь.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
public boolean onTouchEvent(MotionEvent e){
    
    int Action = e.getAction();
    // String ActionString="";
    float startx=0, starty=0;
     float endx=0, endy=0;
     int posi=0 , posj=0 ;
    
    switch (Action) 
    {
    case MotionEvent.ACTION_DOWN:
        //ActionString="ACTION_DOWN";
        posi = (int) e.getX();
        posj = (int) e.getY();
         startx = (float) e.getX();
         starty = (float) e.getY();
        break;
 
    case MotionEvent.ACTION_MOVE:
        //ActionString="ACTION_MOVE";
         endx=(float) e.getX();
         endy=(float) e.getY();
         float shiftx=endx-startx;
         float shifty=endy-starty;
         if(Math.abs(shiftx)>Math.abs(shifty))
           {
            //определяем направление движения по оси х
            if(shiftx>0)
            {//впрово
 
             //если это не крайние правые кнопки
             //и правая кнопка пустая
             //меняем местами кнопку с пустой кнопкой
             if((posj != 3) && (matrix[posi][posj+1] == 0))
             {
              matrix[posi][posj+1] = matrix[posi][posj];
              matrix[posi][posj]=0;
              buttons[posi][posj].setText("");
              buttons[posi][posj+1].setText(""+matrix[posi][posj+1]);
              //status.setText("good turn");
             } //status.setText("it is impossible");
            }
            else
            {//влево
 
             //если это не крайние левые кнопки
             //и левая кнопка пустая
             //меняем местами кнопку с пустой кнопкой
             if((posj != 0) && (matrix[posi][posj-1] == 0))
             {
              matrix[posi][posj-1] = matrix[posi][posj];
              matrix[posi][posj]=0;
              buttons[posi][posj].setText("");
              buttons[posi][posj-1].setText(""+matrix[posi][posj-1]);
             // status.setText("good turn");
             }//else status.setText("it is impossible");
            }
           }
           else
           {
            //определяем направление движения по оси y
            if(shifty>0)
            {//вниз
 
             //если это не крайние нижние кнопки
             //и нижняя кнопка пустая
             //меняем местами кнопку с пустой кнопкой
             if((posi != 3) && (matrix[posi+1][posj] == 0))
             {
              matrix[posi+1][posj] = matrix[posi][posj];
              matrix[posi][posj]=0;
              buttons[posi][posj].setText("");
              buttons[posi+1][posj].setText(""+matrix[posi+1][posj]);
              //status.setText("good turn");
             }//else status.setText("it is impossible");
            }
            else
            {//вверх
 
             //если это не крайние верхние кнопки
             //и верхняя кнопка пустая
             //меняем местами кнопку с пустой кнопкой
             if((posi != 0) && (matrix[posi-1][posj] == 0))
             {
              matrix[posi-1][posj] = matrix[posi][posj];
              matrix[posi][posj]=0;
              buttons[posi][posj].setText("");
              buttons[posi-1][posj].setText(""+matrix[posi-1][posj]);
             // status.setText("good turn");
             }//else status.setText("it is impossible");
            }
        }
    
        break;
    }
    
    //Log.v("myTag","View OTL:\n"+"Coords: "+endx+" x "+endy+"\nAction type: "+ActionString);
    return true;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
07.05.2013, 19:41 #2
дебаг вам в помощь.
0
Robot_Rock
1 / 1 / 0
Регистрация: 07.05.2013
Сообщений: 5
08.05.2013, 17:51  [ТС] #3
Цитата Сообщение от Robot_Rock Посмотреть сообщение
posi = (int) e.getX();
posj = (int) e.getY();
это не из этой оперы, случайно скопипастил
0
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru