Вниз  Java-программирование (1-ые посты)
- 10.07.2014 / 11:50
Magatino
  Администратор

Magatino 
Сейчас: Offline
Пожалуйста, если не сложно, выдайте алгоритм "Заливки" из PaintCAD или ProPaintMobile :dum:
- 10.07.2014 / 12:10
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Magatino, FloodFill
  1. private int w, h;
  2. private int[] rgb;
  3.  
  4. private void floodFill(int x, int y, int newColor, int oldColor) {
  5.     if ( (x >= 0 && x < w) &&
  6.          (y >= 0 && y < h) &&
  7.          (rgb[y*w+x] == oldColor) &&
  8.          (rgb[y*w+x] != newColor) ) {
  9.         rgb[y*w+x] = newColor;
  10.  
  11.         floodFill(x + 1, y, newColor, oldColor);
  12.         floodFill(x - 1, y, newColor, oldColor);
  13.         floodFill(x, y + 1, newColor, oldColor);
  14.         floodFill(x, y - 1, newColor, oldColor);
  15.     }    
  16. }

__________________
 let live

Изменено aNNiMON (10.07 / 12:36) (всего 3 раза)
- 11.07.2014 / 00:08
PLUTONiUM
  Пользователь

PLUTONiUM 
Сейчас: Offline
Может вопрос вам покажется глупым, но запись звука в формате AMR и его изменение в Java ME программе на телефоне - может ли нарушить условия лицензирования кодека AMR? http://en.wikipedia.org/wiki/Adaptive_Multi-Rate_audio_codec (Licensing and patent issues)

Изменено PLUTONiUM (11.07 / 00:09) (всего 2 раза)
- 11.07.2014 / 00:15
vl@volk
  Пользователь

vl@volk 
Сейчас: Offline
Не знаю как в старых мобилах, но в новых нокиа есть лицензионное соглашение, где всё подробно расписано.
__________________
 знает толк
- 13.07.2014 / 23:03
Kalter
  Пользователь

Kalter 
Сейчас: Offline
Как проверить единичное нажатие в GameCanvas? Ниже предоставлен код решения, однако он работает не везде...
  1. import javax.microedition.lcdui.game.GameCanvas;
  2.  
  3. public class Kalter extends GameCanvas{
  4.  
  5.     public void keyPressed(int keyCode){
  6.  
  7.         switch(keyCode){
  8.  
  9.             case GameCanvas.FIRE:
  10.                 System.out.println("FIRE pressed");
  11.         }
  12.     }
  13. }

__________________
 Homo homini penis est.
- 13.07.2014 / 23:06
vl@volk
  Пользователь

vl@volk 
Сейчас: Offline
getGameAction(int keyCode) забыл
Напиши:
switch(getGameAction(keyCode)) {
__________________
 знает толк
- 14.07.2014 / 04:06
Kalter
  Пользователь

Kalter 
Сейчас: Offline
Да, точно... Это я в примере забыл. Вообще всё дело обстоит так:
  1. public class Canvas extends GameCanvas{
  2.  
  3.     public void keyPressed(int keyCode){
  4.  
  5.         screen[screenId].keyClicked(getGameAction(keyCode));
  6.     }
  7. }
  1. public class Menu extends Screen{
  2.  
  3.     public void keyClicked(int keyCode){
  4.  
  5.         switch(keyCode){
  6.  
  7.             case GameCanvas.UP:
  8.                 if(position>0){
  9.  
  10.                     position--;
  11.                 }
  12.             break;
  13.  
  14.             case GameCanvas.DOWN:
  15.                 if(position<2){
  16.  
  17.                     position++;
  18.                 }
  19.             break;
  20.  
  21.             case GameCanvas.FIRE:
  22.                 switch(position){
  23.  
  24.                     case 0:
  25.                         canvas.setScreenId((byte)3);
  26.                     break;
  27.  
  28.                     case 1:
  29.                         canvas.setScreenId((byte)2);
  30.                     break;
  31.  
  32.                     case 2:
  33.                         canvas.stop();
  34.                 }
  35.         }
  36.     }
  37. }
То есть всё, вроде, правильно, но... У некоторых человечков не работает.
__________________
 Homo homini penis est.
- 14.07.2014 / 05:19
vl@volk
  Пользователь

vl@volk 
Сейчас: Offline
А если position выйдет за пределы допустимого? Сделать надо так:
  1. case UP:
  2.     position--;
  3.     if (position < 0) position = 0;
  4.     break;
  5. case DOWN:
  6.     position++;
  7.     if (position > 2) position = 2;
  8.     break;

__________________
 знает толк
- 14.07.2014 / 20:07
Kalter
  Пользователь

Kalter 
Сейчас: Offline
vl@volk, не выйдет, inc/dec то на 1 (хотя хз что может случится). Но мне почему то кажется, что проблема не в этом. Попробую...
__________________
 Homo homini penis est.
- 19.07.2014 / 11:03
Kalter
  Пользователь

Kalter 
Сейчас: Offline
Что делать, если организовывается подобная зависимость классов? Как провести инициализацию?

  1. class A{
  2.  
  3.     A(B b){
  4.  
  5.  
  6.     }
  7. }
  1. class B{
  2.  
  3.     B(A a){
  4.  
  5.  
  6.     }
  7. }
  1. class C{
  2.  
  3.     C(){
  4.  
  5.         A a; //a=new A(b);
  6.         B b; //b=new B(a);
  7.     }
  8. }

__________________
 Homo homini penis est.

Изменено Kalter (19.07 / 11:03) (всего 1 раз)
Наверх  Всего сообщений: 16875
Фильтровать сообщения
Поиск по теме
Файлы топика (794)