Модераторы: javastic, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не работает логика в игре 
:(
    Опции темы
vlad275
Дата 14.4.2008, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 485
Регистрация: 20.3.2008

Репутация: нет
Всего: -3



Пишу обучащую иностранным языкам игру. Идея такая.
С помощью Random выбираются 3 слова из массива, если одно и тоже слово выпало больше 1 раза то запускается Random снова.

На экран мобильного выводится перевод одного из выбранных слов, в ниже три слова.
При нажатии на клавиши телефона "1","2","3" пользователь выбирает корректный перевод. 
Если клавиша и номер перевода в массиве+1 совпадают, то пользователь выиграл.

Почему-то у меня все глючит. Большая часть сообщений не выводится. Где ошибка? :-(
Код

import javax.microedition.lcdui.*;
import java.util.*;
public class Screen extends Canvas implements CommandListener {
int j=0;
int x = getWidth()-32;
int v=0;
int y=0;
int z=0;
int a=1;
int Schet = 0;
task task;
Timer timer; 
Random rand;
int intRand=7;
int intRand2=8;
int intRand3=9;
int intN=1;
String[] strName = new String[]      {"Низший","Прием","Кивок","Удары","До свидания!","Спасибо","Нет","Сколько стоит?","Я (не) понимаю.","Я из России."};
String[] strEnglishName=new String[] {"inferior","appointment","nod","bashes","Мае саляма!","Шукран","Мафиш","Бекем?","Ана (миш) фэхэм.","Ана мэн Росия."}; 

class task extends TimerTask {
    public void run()    {
        y+=3;
    
        if (y>getHeight()) {
            //Если яблоко падает за нижнюю границу экрана, то позиционировать яблоко на y=0 
            y=0;
            z=0;
            v++;
            Random random=new Random();
            //Случайным образом выбрать из массива слово        
            random = new Random();
            intRand = random.nextInt() %strName.length;
            // Выбрать случайным образом слово и если оно совпадает с предыдущим, то попробовать снова            
            while (intRand==intRand2){
                intRand2 = random.nextInt() %strName.length;
            }
            // Выбрать случайным образом слово и если оно совпадает с предыдущими, то попробовать снова                        
            while (intRand==intRand3 || intRand2==intRand3){
                intRand3 = random.nextInt() %strName.length;
                intN = random.nextInt() % 2+2;
            }
                    }
repaint();             }

}


Screen() {
    timer = new Timer();     //creates a new timer to schedule the blinking
    task = new task();
}

public void commandAction(Command command, Displayable displayable) {                                                                    }
public void paint(Graphics g) {
g.setColor(0x000033);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(0xff0000); 
g.drawLine(11+x, 0+y, 18+x, 0+y); 
g.drawLine(10+x, 1+y, 20+x, 1+y); 
g.drawLine(8+x, 2+y, 22+x, 2+y); 
g.drawLine(8+x, 3+y, 12+x, 3+y); g.drawLine(17+x, 3+y, 23+x, 3+y); 
g.drawLine(7+x, 4+y, 11+x, 4+y); g.drawLine(18+x, 4+y, 24+x, 4+y); 
g.drawLine(6+x, 5+y, 8+x, 5+y); g.drawLine(12+x, 5+y, 16+x, 5+y); g.drawLine(18+x, 5+y, 25+x, 5+y); 
g.drawLine(6+x, 6+y, 26+x, 6+y); 
g.drawLine(7+x, 7+y, 26+x, 7+y); 
g.drawLine(8+x, 8+y, 27+x, 8+y); 
g.drawLine(9+x, 9+y, 27+x, 9+y); 
g.drawLine(9+x, 10+y, 18+x, 10+y); g.drawLine(20+x, 10+y, 27+x, 10+y); 
g.drawLine(5+x, 11+y, 5+x, 11+y); g.drawLine(8+x, 11+y, 21+x, 11+y);g.drawLine(23+x, 11+y, 28+x, 11+y); 
g.drawLine(4+x, 12+y, 5+x, 12+y);g.drawLine(8+x, 12+y, 28+x, 12+y);
g.drawLine(4+x, 13+y, 4+x, 13+y);g.drawLine(7+x, 13+y, 23+x, 13+y);g.drawLine(25+x, 13+y, 27+x, 13+y); 
g.drawLine(3+x, 14+y, 4+x, 14+y); g.drawLine(6+x, 14+y, 24+x, 14+y);g.drawLine(26+x, 14+y, 26+x, 14+y); 
g.drawLine(3+x, 15+y, 25+x, 15+y); 
g.drawLine(3+x, 16+y, 24+x, 16+y); 
g.drawLine(3+x, 17+y, 22+x, 17+y); 
g.drawLine(4+x, 18+y, 21+x, 18+y); 
g.drawLine(6+x, 19+y, 20+x, 19+y); 
g.drawLine(9+x, 20+y, 18+x, 20+y); 
g.setColor(0xffffff); 
g.drawLine(13+x, 3+y, 16+x, 3+y); 
g.drawLine(12+x, 4+y, 17+x, 4+y); 
g.drawLine(11+x, 5+y, 11+x, 5+y); 
g.drawLine(17+x, 5+y, 17+x, 5+y); 
g.setColor(0x800000); 
g.drawLine(6+x, 7+y, 6+x, 7+y); 
g.drawLine(6+x, 8+y, 7+x, 8+y); 
g.drawLine(8+x, 9+y, 8+x, 9+y); 
g.drawLine(8+x, 10+y, 8+x, 10+y); 
g.drawLine(19+x, 10+y, 19+x, 10+y); 
g.drawLine(22+x, 11+y, 22+x, 11+y); 
g.drawLine(6+x, 12+y, 7+x, 12+y); 
g.drawLine(5+x, 13+y, 6+x, 13+y); g.drawLine(24+x, 13+y, 24+x, 13+y); 
g.drawLine(5+x, 14+y, 5+x, 14+y); g.drawLine(25+x, 14+y, 25+x, 14+y);g.drawLine(27+x, 14+y, 27+x, 14+y); 
g.drawLine(26+x, 15+y, 27+x, 15+y); 
g.drawLine(25+x, 16+y, 26+x, 16+y); 
g.drawLine(23+x, 17+y, 25+x, 17+y); 
g.drawLine(22+x, 18+y, 24+x, 18+y); 
g.drawLine(21+x, 19+y, 24+x, 19+y); 
g.drawLine(19+x, 20+y, 24+x, 20+y); 
g.drawLine(4+x, 19+y, 5+x, 19+y); 
g.drawLine(6+x, 20+y, 8+x, 20+y); 
g.drawLine(8+x, 21+y, 23+x, 21+y); 
g.drawLine(10+x, 22+y, 21+x, 22+y); 
g.drawLine(18+x, 23+y, 18+x, 23+y); 
g.setColor(0x000000); 
g.drawLine(5+x, 8+y, 5+x, 8+y); 
g.drawLine(6+x, 19+y, 7+x, 9+y); 
g.drawLine(5+x, 10+y, 7+x, 10+y); 
g.drawLine(6+x, 11+y, 7+x, 11+y); 

g.setColor(0x808000); 
g.drawLine(0+x, 4+y, 1+x, 4+y); 
g.drawLine(0+x, 5+y, 1+x, 5+y); 
g.setColor(0x008000); 
g.drawLine(2+x, 5+y, 7+x, 7+y); 
g.drawLine(2+x, 6+y, 5+x, 9+y); 
g.drawLine(1+x, 6+y, 4+x, 9+y); 

//g.drawString(""+z,  0, 8, Graphics.TOP | Graphics.LEFT );
g.setColor(0xEEEEEE);
    g.fillArc(110,20,20,20,0,360);
g.setColor(0xffffff);
g.drawLine(20, 28, 20, 28);
g.drawLine(60, 48, 60, 48);
g.drawLine(80, 43, 80, 43);
g.setColor(0x336633);
g.fillRect(0, getHeight()-1, getWidth(), getHeight()); //white bottom
g.drawLine(getWidth()-10, getHeight()-4, getWidth()-10, getHeight()-4);
g.drawLine(getWidth()-8, getHeight()-3, getWidth()-12, getHeight()-3);
g.drawLine(getWidth()-9, getHeight()-2, getWidth()-9, getHeight()-1);
g.drawLine(getWidth()-11, getHeight()-2, getWidth()-11, getHeight()-1);
g.setColor(0xff0000);
//Выводятся три случайным образом выпавших слова
g.drawString("1."+strName[intRand],  0, 65, Graphics.TOP | Graphics.LEFT );
g.drawString("2."+strName[intRand2],  0, 75, Graphics.TOP | Graphics.LEFT );
g.drawString("3."+strName[intRand3],  0, 85, Graphics.TOP | Graphics.LEFT );

//В зависимости от выпавшедшего числа выводится перевод слова
g.setColor(0x00FF00);
g.drawString("intRand:"+intRand,  0, 110, Graphics.TOP | Graphics.LEFT );
g.drawString("intRand2:"+intRand2,  0, 120, Graphics.TOP | Graphics.LEFT );
g.drawString("intRand3:"+intRand3,  0, 130, Graphics.TOP | Graphics.LEFT );
g.drawString("intN:"+intN,  0, 140, Graphics.TOP | Graphics.LEFT );
if (intN==1) {g.drawString(strEnglishName[intRand],  0, 0, Graphics.TOP | Graphics.LEFT );}
if (intN==2) {g.drawString(strEnglishName[intRand2],  0, 0, Graphics.TOP | Graphics.LEFT );}
if (intN==3) {g.drawString(strEnglishName[intRand3],  0, 0, Graphics.TOP | Graphics.LEFT );}
g.setColor(0x0000FF);
if (intN==z) {g.drawString("You won!",  (getWidth()-8*5)/2, (getHeight()-11*1)/2, Graphics.TOP | Graphics.LEFT );}
if (intN!=z && z!=0) {g.drawString("You lost!",  (getWidth()-9*5)/2, (getHeight()-8*1)/2, Graphics.TOP | Graphics.LEFT );}

g.setColor(0xffffff);
g.drawString(v+":" + Schet,  70, 0, Graphics.TOP | Graphics.LEFT );

timer.schedule(task, 0, 1);
}

protected void keyPressed(int keyCode){
  
        switch(keyCode) {
            case KEY_NUM1:
                z = 1;
                                if (z==intN) {Schet+=1;}
                break;

            case KEY_NUM2:
                z =2;
                if (z==intN) {Schet+=1;}
                break;

            case KEY_NUM3:
                z=3;
                  if (z==intN) {Schet+=1;}
                break;
                      }
                                 }

}

Обновлено

Это сообщение отредактировал(а) vlad275 - 16.4.2008, 03:40


--------------------
Кто, как и зачем запустил этот механизм уничтожения России:
http://rutube.ru/tracks/54915.html?v=e74a9...c7e5d24da5656d8
PM MAIL   Вверх
math64
Дата 15.4.2008, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 8
Всего: 72



Нет вызова schedule()
repaint() нужно вызывать в конце run()
У тебя 10 вариантов, но ты делаешь rand.nextInt()%9?
Нужно rand.nextInt()%strName.length
Циклы while() теоретически могут длиться бесконечно.
Код

int n = strName.length;
intRand = nextInt(n);
intRand2 = nextInt(n-1);
if (intRand2 == intRand) intRand2 = n-1;
intRand3 = nextInt(n-2);
if (intRand3 == intRand) intRand3 = n-1;
if (intRand3 == intRand2) intRand3 = n-2;

int nextInt(int n) {
int r = rand.nextInt();
return (r&0x7FFFFFFF)%n;
}


Это сообщение отредактировал(а) math64 - 16.4.2008, 07:55
PM   Вверх
vlad275
Дата 15.4.2008, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 485
Регистрация: 20.3.2008

Репутация: нет
Всего: -3



Прорисовка то как раз не глючит. У меня у воде падающее яблоко нормально прорисовывается. А вот текст по большей части не выводится.
Вот эта строка if (intRand3 == intRand) intRand3 = n-1; при совпадении номеров просто отнимает у выпавшего номера 1.
А если там уже 1 или 0? Будет 0 или -1
У меня же в коде заново рандомится и заново проверяется на совпадение.

Все таки почему часто не выводятся строки, а если и выводится то в основном первая строка? 
У меня же строки 
Код

g.drawString("1."+strName[intRand],  0, 65, Graphics.TOP | Graphics.LEFT );
g.drawString("2."+strName[intRand2],  0, 75, Graphics.TOP | Graphics.LEFT );
g.drawString("3."+strName[intRand3],  0, 85, Graphics.TOP | Graphics.LEFT );

Выводятся друг под другом. Почему же первая строка видна по большей части а вторая и третья почти всегда не видны?


--------------------
Кто, как и зачем запустил этот механизм уничтожения России:
http://rutube.ru/tracks/54915.html?v=e74a9...c7e5d24da5656d8
PM MAIL   Вверх
eugine_s
Дата 15.4.2008, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

Репутация: 17
Всего: 17



vlad275, Random.nextInt() числа из какого диапазона генерирует? 
Разве только положительные?

Добавлено через 1 минуту и 12 секунд
Вообще, это легко проверяется.
После того как сгенерировал новые intRandX выведи их в консоль....
PM MAIL   Вверх
vlad275
Дата 16.4.2008, 02:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 485
Регистрация: 20.3.2008

Репутация: нет
Всего: -3



user posted image
Должно быть как на правой картинке, но обычно выглядит как на левой и средней картинках

Это сообщение отредактировал(а) vlad275 - 16.4.2008, 03:26


--------------------
Кто, как и зачем запустил этот механизм уничтожения России:
http://rutube.ru/tracks/54915.html?v=e74a9...c7e5d24da5656d8
PM MAIL   Вверх
vlad275
Дата 16.4.2008, 02:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 485
Регистрация: 20.3.2008

Репутация: нет
Всего: -3



Самое странное что часто текст и без условия не выводится

Код


g.setColor(0x00FF00);
g.drawString("intRand:"+intRand,  0, 110, Graphics.TOP | Graphics.LEFT );
g.drawString("intRand2:"+intRand2,  0, 120, Graphics.TOP | Graphics.LEFT );
g.drawString("intRand3:"+intRand3,  0, 130, Graphics.TOP | Graphics.LEFT );
g.drawString("intN:"+intN,  0, 140, Graphics.TOP | Graphics.LEFT );
if (intN==1) {g.drawString(strEnglishName[intRand],  0, 0, Graphics.TOP | Graphics.LEFT );}
if (intN==2) {g.drawString(strEnglishName[intRand2],  0, 0, Graphics.TOP | Graphics.LEFT );}
if (intN==3) {g.drawString(strEnglishName[intRand3],  0, 0, Graphics.TOP | Graphics.LEFT );}



--------------------
Кто, как и зачем запустил этот механизм уничтожения России:
http://rutube.ru/tracks/54915.html?v=e74a9...c7e5d24da5656d8
PM MAIL   Вверх
math64
Дата 16.4.2008, 07:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 8
Всего: 72



Да, nextInt() может выдавать отрицательные числа, поэтому rand.nextInt()%n не получится.
Для того чтобы выбрать m различных случайных чисел из 0..n-1 нужно заполнить массив new int[n] числоами 0 ... n-1 и (частично) перетасовать их. Как делать перетасовку, см. за что мне поставили +.
Мой пример здесь - отпимизация перетасоки под твой случай (но нужно исправить выборку nextInt()).
В строке if (intRand3 == intRand) intRand3 = n-1; я имитирую эту перетасовку без создания массива (если числа совпали, присваиваем число, которое бы было в массиве).

PM   Вверх
eugine_s
Дата 16.4.2008, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

Репутация: 17
Всего: 17



Код

//Выводятся три случайным образом выпавших слова
g.drawString("1."+strName[intRand],  0, 65, Graphics.TOP | Graphics.LEFT );
g.drawString("2."+strName[intRand2],  0, 75, Graphics.TOP | Graphics.LEFT );
g.drawString("3."+strName[intRand3],  0, 85, Graphics.TOP | Graphics.LEFT );
//В зависимости от выпавшедшего числа выводится перевод слова
g.setColor(0x00FF00);
g.drawString("intRand:"+intRand,  0, 110, Graphics.TOP | Graphics.LEFT );
g.drawString("intRand2:"+intRand2,  0, 120, Graphics.TOP | Graphics.LEFT );
g.drawString("intRand3:"+intRand3,  0, 130, Graphics.TOP | Graphics.LEFT );
g.drawString("intN:"+intN,  0, 140, Graphics.TOP | Graphics.LEFT );
if (intN==1) {g.drawString(strEnglishName[intRand],  0, 0, Graphics.TOP | Graphics.LEFT );}
if (intN==2) {g.drawString(strEnglishName[intRand2],  0, 0, Graphics.TOP | Graphics.LEFT );}
if (intN==3) {g.drawString(strEnglishName[intRand3],  0, 0, Graphics.TOP | Graphics.LEFT );}


поменяй местами код, вот так:

Код

//В зависимости от выпавшедшего числа выводится перевод слова
g.setColor(0x00FF00);
g.drawString("intRand:"+intRand,  0, 110, Graphics.TOP | Graphics.LEFT );
g.drawString("intRand2:"+intRand2,  0, 120, Graphics.TOP | Graphics.LEFT );
g.drawString("intRand3:"+intRand3,  0, 130, Graphics.TOP | Graphics.LEFT );
g.drawString("intN:"+intN,  0, 140, Graphics.TOP | Graphics.LEFT );


//Выводятся три случайным образом выпавших слова
g.drawString("1."+strName[intRand],  0, 65, Graphics.TOP | Graphics.LEFT );
g.drawString("2."+strName[intRand2],  0, 75, Graphics.TOP | Graphics.LEFT );
g.drawString("3."+strName[intRand3],  0, 85, Graphics.TOP | Graphics.LEFT );
if (intN==1) {g.drawString(strEnglishName[intRand],  0, 0, Graphics.TOP | Graphics.LEFT );}
if (intN==2) {g.drawString(strEnglishName[intRand2],  0, 0, Graphics.TOP | Graphics.LEFT );}
if (intN==3) {g.drawString(strEnglishName[intRand3],  0, 0, Graphics.TOP | Graphics.LEFT );}


т.е. сначало значения intRandX выведи, а потом уже массив.
Ну а ошибку с отрицательным числом ты так и не исправил.
intRandX = Math.abs(random.nextInt) %N ;


PM MAIL   Вверх
math64
Дата 16.4.2008, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 8
Всего: 72



Кстати  intN тоже должен выбираться как
intN = Math.abs(rand.nextInt())%3+1;
или
intN = (rand.nextInt()&0x7FFFFFFF)%3+1;
иначе у тебя будет выпадать 2 в вероятностью 1/2, 1 и 3 - с вероятностью 1/4.

PM   Вверх
vlad275
Дата 16.4.2008, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 485
Регистрация: 20.3.2008

Репутация: нет
Всего: -3



А почему не всегда выводится 
Код


g.drawString("1."+strName[intRand],  0, 65, Graphics.TOP | Graphics.LEFT );
g.drawString("2."+strName[intRand2],  0, 75, Graphics.TOP | Graphics.LEFT );
g.drawString("3."+strName[intRand3],  0, 85, Graphics.TOP | Graphics.LEFT );
?
Тут же нет условия?
1.
2.
3.
должны выводится! :-(


--------------------
Кто, как и зачем запустил этот механизм уничтожения России:
http://rutube.ru/tracks/54915.html?v=e74a9...c7e5d24da5656d8
PM MAIL   Вверх
math64
Дата 16.4.2008, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 8
Всего: 72



Если индексы массива отрицательны, выбрасывается исключение.
PM   Вверх
eugine_s
Дата 16.4.2008, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

Репутация: 17
Всего: 17



vlad275, потому что Exception появляется.

strName[intRand] - бросает Exception, когда intRand меньше нуля. 

Только я не вижу где у тебя перехватывается эта ошибка.


PM MAIL   Вверх
vlad275
Дата 16.4.2008, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 485
Регистрация: 20.3.2008

Репутация: нет
Всего: -3



Теперь я понял. Переделаю


--------------------
Кто, как и зачем запустил этот механизм уничтожения России:
http://rutube.ru/tracks/54915.html?v=e74a9...c7e5d24da5656d8
PM MAIL   Вверх
vlad275
Дата 16.4.2008, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 485
Регистрация: 20.3.2008

Репутация: нет
Всего: -3



Все заработало!!! Большое спасибо!!! 

А что в WTK только MIDP 1.0 поддерживается? Мне нужно MIDP 2.0 чтобы вставить .png с головой глотающую яблоки и финальную заставку(не знаю как правильно ее назвать)


--------------------
Кто, как и зачем запустил этот механизм уничтожения России:
http://rutube.ru/tracks/54915.html?v=e74a9...c7e5d24da5656d8
PM MAIL   Вверх
eugine_s
Дата 16.4.2008, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

Репутация: 17
Всего: 17



Цитата(vlad275 @  16.4.2008,  16:43 Найти цитируемый пост)
А что в WTK только MIDP 1.0 поддерживается? Мне нужно MIDP 2.0 чтобы вставить .png с головой глотающую яблоки и финальную заставку(не знаю как правильно ее назвать) 


Смотря какая версия WTK конечно, но скорее всего тебе нужно в Settings выставить нужный тебе MIDP.


PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.1202 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.