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

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

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

Андроид ввод данных - Программирование Android

30.06.2015, 23:48. Просмотров 436. Ответов 1
Метки нет (Все метки)

я хочу с андроида вводить данные пользователя
как это сделать?см
Java
1
init game()
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
package es.eduards.pacman.pacmangame;
 
import android.app.AlertDialog;
 
import java.util.InputMismatchException;
import java.util.Scanner;
import java.util.Random;
public class Game extends GameObject{
    /*dimentions of game board*/
    public static final int mFieldX=10;
    public static final int mFieldY=10;
    /*components of object Game*/
    public static GameObject board[][]=new GameObject[mFieldX][mFieldY];//the field of game-2d array
    public static Wall wall =new Wall(-1,rndPosition());;
    static Integer score=0;//the score achievements
    static Double level;//Number between 10 and 80 that signs the percent of walls of the board dimensions to create
    static String player_name;
    static final Pacman pacman1=Pacman.getPacman();
    static final Blinky blinky=Blinky.getInstance();
    static final Pinky pinky=Pinky.getInstance();
    static final Clyde clyde=Clyde.getInstance();
    static final Inky inky=Inky.getInstance();
    private static Coin coin=new Coin(0,rndPosition());
    private static String gameSequence;//pacman game sequence motion
    private static  int coins_cnt=0;
    private static Monster[] arrMonster=new Monster[4];
    AlertDialog.Builder alert;
    /**
     *
     * @param id_number
     * @param position
     * Constructor to call the components from the super abstract
     * class GameObject
     */
    public Game(Integer id_number, Position position) {
        super(id_number, position);
 
    }
    public Game(){
        super();
 
    }
    /**
     * Method checks the free position
     * with the method boolean isAvailable()
     * and returns reference to it's position
     * else returns null
     * @return
     */
 
    public static Position rndPosition()
    {
        Random rand = new Random();
        int x=rand.nextInt(10);
        int y=rand.nextInt(10);
        while (  (x==0 && y==0) || (!isAvailable(x,y))  )
        {
            x=rand.nextInt(10);
            y=rand.nextInt(10);
        }
        Position p= new Position(x,y);
        return p;
    }
    /**
     * This method assigns positions of pacman , monsters,walls,coins and put them on the board
     * @param obj
     */
    public static void Assign(GameObject obj){
 
        if(obj instanceof Pacman){
 
            if(isAvailable(0,0)){
 
                board[0][0]=Pacman.getPacman();
            }
        }
        else  if(obj instanceof Wall)
        {
           /*loop to place the walls in their random positions
               * according to user's input of an appropriate level
               * and persentage of this input and length of the board
               */
              /*help values to check if position is a pacman position*/
 
 
            for(int k=0;k<wall.getNumberOfWalls();k++){
 
                board[rndPosition().getX()][rndPosition().getY()]=new Wall(-1,rndPosition());
                board[0][0]=Pacman.getPacman();//to promiss that wall or Monster will not be randomly placed on pacman's position
                wall.setPosition(rndPosition());
 
            }
        }
 
        else if (obj instanceof Blinky){
            board[rndPosition().getX()][rndPosition().getY()]=Blinky.getInstance();
            Blinky.getInstance().p.setX(rndPosition().getX());
            Blinky.getInstance().p.setY(rndPosition().getY());
        }
        else if(obj instanceof Pinky){
            board[rndPosition().getX()][rndPosition().getY()]=Pinky.getInstance();
            Pinky.getInstance().p.setX(rndPosition().getX());
            Pinky.getInstance().p.setY(rndPosition().getY());
        }
        else if(obj instanceof Clyde){
            board[rndPosition().getX()][rndPosition().getY()]=Clyde.getInstance();
            Clyde.getInstance().p.setX(rndPosition().getX());
            Clyde.getInstance().p.setY(rndPosition().getY());
        }
        else if(obj instanceof Inky){
            board[rndPosition().getX()][rndPosition().getY()]=Inky.getInstance();
            Inky.getInstance().p.setX(rndPosition().getX());
            Inky.getInstance().p.setY(rndPosition().getY());
        }
        else if(obj instanceof Coin){
            for(int i=0;i<board.length;i++){
                for(int j=0;j<board.length;j++){
                    if(board[i][j]==null){
                        board[i][j]=new Coin(0,new Position(i,j));
                        coins_cnt++;
                        coin.setPosition(new Position(i,j));
                        board[0][0]=Pacman.getPacman();
 
                    }
 
                }
            }
 
            coin.setNumberOfCoins(coins_cnt);
 
        }
    }
 
 
    /**
     * return true if position is free
     * else
     * return false
     * @param X
     * @param Y
     * @return
     */
    static boolean isAvailable(Integer X,Integer Y){
 
        return board[X][Y]==null;
    }
 
 
    /**
     * method to init the game
     * player's name
     * board length
     * level-percent of walls to create according to the board's dimensions
     */
    public  void init_game()
    {
 
 
        Scanner input=new Scanner(System.in);
        alert.setTitle("Заголовок");
 
        player_name=input.nextLine();
        do
        {
            System.out.println("Enter your level-the number between 10 and 80:");
            try{
                level=input.nextDouble();
 
            }catch(InputMismatchException e){//InputMismatchException
                System.out.println("You didn't enter a numeric value!!!!");
 
            }
            try
            {
              /*if user entered a string(name or steps sequence) instead of numeric level*/
                if((level<10||level>80)||(level>10||level<80)){
                    //System.out.println("Input is correct");
 
                }
            }
            catch(NullPointerException e){
                System.out.println("Unfortunatelly you can't play!!!!");
                System.exit(0);//stop program after input fault
            }
 
        }while(level<10||level>80);
 
 
        try{
            int walls_number=(int)(mFieldX*mFieldY*level)/100;
            wall.setNumberOfWalls(walls_number);
        }catch(NullPointerException e){
            System.out.println("No any Data!!!");
        }
 
      /*init matrix-empty places are null*/
 
        for(int i=0;i<board.length;i++){
            for(int j=0;j<board[i].length;j++){
 
                board[i][j]=null;
            }
        }
      /*Assign all characters on board*/
        Assign(pacman1);
        Assign(wall);
        Assign(blinky);
        Assign(pinky);
        Assign(inky);
        Assign(clyde);
        Assign(coin);
        System.out.println("Please enter game sequence:");
        gameSequence=input.next();
        gameSequence=gameSequence.toLowerCase();//convert all characters to lower cases
        startGame(gameSequence);
    }
 
 
    /**
     * start game by receiving string of game sequence that define pacman's movement
     * movements of pacman
     */
 
    private static void startGame(String gameSequence){
 
        for(int i=0;i<gameSequence.length();i++){
 
            if(gameSequence.charAt(i)=='u'||gameSequence.charAt(i)=='d'||gameSequence.charAt(i)=='l'||gameSequence.charAt(i)=='r'){
                {
 
                    pacman1.make_a_move(gameSequence.charAt(i));
                      /*loop to move the monsters*/
                    for(int k=0;k<arrMonster.length;k++){
                        clyde.make_a_move(gameSequence.charAt(i));
                        blinky.make_a_move(gameSequence.charAt(i));
                        pinky.make_a_move(gameSequence.charAt(i));
                        inky.make_a_move(gameSequence.charAt(i));
                    }
                    board[pacman1.position.getX()][pacman1.position.getY()]=Pacman.getPacman();//set the new position to pacman
                    score+=1;
                    coin.decreaseCoin();
                    if(coin.getNumberOfCoins()==0){
                        coin.setNumberOfCoins(0);
                        coins_cnt=0;
                        print_game();
                        EndGame(true);
                        break;
                    }
 
 
                                 /*if pacman collides with one of monsters,decrease life!!*/
                    if(Pacman.getPacman().position.getX()==Clyde.getInstance().p.getX()&&Pacman.getPacman().position.getY()==Clyde.getInstance().p.getY()||
                            Pacman.getPacman().position.getX()==Inky.getInstance().p.getX()&&Pacman.getPacman().position.getY()==Inky.getInstance().p.getY()||
                            Pacman.getPacman().position.getX()==Pinky.getInstance().p.getX()&&Pacman.getPacman().position.getY()==Pinky.getInstance().p.getY()||
                            Pacman.getPacman().position.getX()==Blinky.getInstance().p.getX()&&Pacman.getPacman().position.getY()==Blinky.getInstance().p.getY()
                            )
                    {
                        pacman1.decreaseLife();
                        if(pacman1.get_lives()==0){//if no more lives the game is lost
                            pacman1.set_lives(0);
                            print_game();
                            EndGame(false);
                            break;
                        }
 
                    }
 
 
                    else if(Pacman.getPacman().position.getX()==wall.getPosition().getX()&&Pacman.getPacman().position.getY()==wall.getPosition().getY()){
                        print_game();
                        break;//pacman will not move if it collides with wall
                    }
                    else{
                        print_game();
                    }
 
                }
 
            }
 
        }
 
 
    }
    /**
     *
     *  Prints a message according to the result of the current game
     */
 
    public static void EndGame(boolean isWon){
        if(!isWon){
            System.out.println("You lost a game!!!Would you try again??? Enter 'Y' for yes enter 'N' for no");
            Scanner input=new Scanner(System.in);
            char choice=input.next().charAt(0);
 
            if(choice=='Y'||choice=='y'){
                System.out.println("Please enter game sequence:");
                gameSequence=input.next();
                gameSequence=gameSequence.toLowerCase();//convert all characters to lower cases
                startGame(gameSequence);
 
            }
            else
            {
 
                return;
            }
        }
        else{
            System.out.println("Great!!!!!You won the game,do you want to continue??Would you try again??? Enter 'Y' for yes enter 'N' for no");
            Scanner input=new Scanner(System.in);
            char choice=input.next().charAt(0);
 
            if(choice=='Y'||choice=='y'){
                System.out.println("Please enter game sequence:");
                gameSequence=input.next();
                gameSequence=gameSequence.toLowerCase();//convert all characters to lower cases
                startGame(gameSequence);
 
            }
            else
            {
 
                return;
            }
        }
    }
 
 
    /**
     * output name of player his score and state of game board with all objects
     *
     */
 
    public static void print_game(){
        if(coin.getNumberOfCoins()==0){
            coin.setNumberOfCoins(0);
        }
        else if(pacman1.get_lives()==0){
            pacman1.set_lives(0);
        }
        System.out.println("Name:"+player_name+"  "+" Level"+level+"  "+"Score:  "+score+"Coins: "+coin.getNumberOfCoins()+"Lives: "+pacman1.get_lives());
        for(int i=0;i<board.length;i++){
            for(int j=0;j<board.length;j++){
                System.out.print(board[i][j]);
            }
            System.out.println("\n");
        }
 
 
 
    }
 
 
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2015, 23:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Андроид ввод данных (Программирование Android):

Андроид и база данных - Программирование Android
ВОзможна ли работа с серверной базой данных, т.е. я создаю приложение для андроид, которое работает с серверной базой данных, как мне лучше...

Создание базы данных в андроид - Программирование Android
Помогите пожалуйста! Я только-только начинаю изучать программирование на андроид. Хочу взяться за создание базы данных, но не знаю с чего...

Отправка данных из андроид приложения на сервер - Программирование Android
Пишу приложения которое должно собирать кое какую инфу и отправлять её на удалённый сервер. Собственно не понятен процесс взаимодействия...

Локальная база данных в Андроид приложениях - Программирование Android
Здравствуйте программисты. У меня при создании возникла проблема с хранением данных для приложения. Вот мой вопрос: Возможно ли создавать...

Передача данных андроид устр. - stm по bluetooth - Программирование Android
Здравствуйте, есть задача передавать данные с android планшета на на плату с микро-ом stm с bluetooth модулем. У bluetooth модуля...

Обработка данных в Mysql и отправка обратно на андроид - Программирование Android
В приложении есть регистрация и авторизация . регистрацию прохожу и данные сохраняются в базе mysql . приложение мессенджер делаю если я...

1
Adverte
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 7
01.07.2015, 03:37 #2
ну, например
Java
1
String login=login.getText().toString();
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2015, 03:37
Привет! Вот еще темы с ответами:

Отправка массива данных из андроид приложения на сервер по http - Программирование Android
Пишу приложения которое должно собирать кое какую инфу и отправлять её на удалённый сервер. Использую следующий метод отправки: ...

Можно ли написать веб сервер на Яве для клиента на Андроид,имея под рукой только телефон на том самом андроид? - Программирование Android
Уважаемые гуру программирования, если можно, пожалуйста, напишите поподробнее- какой программой компилировать код, какой лучше выбрать...

Имеется база данных mysql (с сайта), в ней данные о товаре, как проще всего сделать онлайн андроид приложение - Программирование Android
Имеется база данных mysql(с сайта), в ней данные о товаре. Как сделать онлайн андроид приложение для быстрого поиска товаров по этой базе...

Ввод данных через AlertDialog - Программирование Android
Здравствуйте уважаемые программисты, подскажите пожалуйста как сделать панель ввода данных Такую чтобы когда я ввел в editText число 2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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