помогите с разработкой алгоритма на java
|
|
d3mk | Дата: Пятница, 30 Марта 2012, 17:24 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Здравствуйте. Вот недавно начал создавать игру и получилось так что, в игре надо сделать расстановку квадратов. Делать циклом плохо потому что, сделал цикл и он крутится и крутится не доходя до нажатий клавиши. Чем заменить цикл?
Сообщение отредактировал d3mk - Пятница, 30 Марта 2012, 17:25 |
|
| |
vasua99 | Дата: Пятница, 30 Марта 2012, 18:44 | Сообщение # 2 |
GNU follower
Сейчас нет на сайте
| А можно кусок кода из нужного момента и вообще вот пример на С++: char c; while((c = cin.get())!= 'Q') { switch© { case 'W': .... case ..... .... default: update(); // или что нужно } }
Сорри за оформление,пишу со смартфона...)
Жизнь игра, и мы в ней пешки... А я кушаю пельмешки)
|
|
| |
d3mk | Дата: Пятница, 30 Марта 2012, 19:46 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| Code while(true){ for(int i=40;i<540;i++){ i=i+40; g.fillRect(i,0 , 40, 40); } }break; ну вопрос не в ошибке а в на что заменить этот цикл.
Сообщение отредактировал d3mk - Пятница, 30 Марта 2012, 19:58 |
|
| |
vasua99 | Дата: Пятница, 30 Марта 2012, 21:21 | Сообщение # 4 |
GNU follower
Сейчас нет на сайте
| а зачем заменять,ставишь проверку нажатия клавишы в цикле,если есть клавиша то читаем ее,и делаем свои дела.
Жизнь игра, и мы в ней пешки... А я кушаю пельмешки)
|
|
| |
d3mk | Дата: Пятница, 30 Марта 2012, 21:29 | Сообщение # 5 |
был не раз
Сейчас нет на сайте
| не с этим все нормально но в идеале квадраты должны двигаться
|
|
| |
vasua99 | Дата: Пятница, 30 Марта 2012, 21:37 | Сообщение # 6 |
GNU follower
Сейчас нет на сайте
| ну двигаться всмысле по клавише?(вообще совет: в таких ситуациях проанализируй,и построй алгоритм на псевдокоде,или блок схему.иногда очень помогают.)
Жизнь игра, и мы в ней пешки... А я кушаю пельмешки)
|
|
| |
d3mk | Дата: Воскресенье, 01 Апреля 2012, 13:56 | Сообщение # 7 |
был не раз
Сейчас нет на сайте
| возникла ещё проблема теперь я занялся реализацией движения ГГ. И теперь не могу реализовать остановку ГГ. вот кусок кода Code boolean mvRight = false, mvLeft = false;
public void keyPressed(KeyEvent ke) { if (mvRight == false && ke.getKeyCode() == KeyEvent.VK_RIGHT) { if (mvLeft) { mvLeft = false; // TODO: исправить cancel shipTimer.cancel(); } mvRight = true; shipTimer.scheduleAtFixedRate( Canv.new MoveShip(Canv.getGraphics(), 1), 0, 20); }
if (mvLeft == false && ke.getKeyCode() == KeyEvent.VK_LEFT) { if (mvRight) { mvRight = false; // TODO: исправить cancel shipTimer.cancel(); } mvLeft = true; shipTimer.scheduleAtFixedRate( Canv.new MoveShip(Canv.getGraphics(), -1), 0, 20); }
}
сразу извинюсь за табуляцию но почему то она не обрабатывается сайтом
Сообщение отредактировал d3mk - Воскресенье, 01 Апреля 2012, 14:09 |
|
| |
Red_Squirrel | Дата: Воскресенье, 01 Апреля 2012, 21:27 | Сообщение # 8 |
участник
Сейчас нет на сайте
| d3mk, не совсем разобрался в твоём коде, но всё же попробуй так Code if (mvRight == false && mvLeft == false){ player.stop() }
Сообщение отредактировал Red_Squirrel - Воскресенье, 01 Апреля 2012, 21:27 |
|
| |
d3mk | Дата: Понедельник, 02 Апреля 2012, 12:26 | Сообщение # 9 |
был не раз
Сейчас нет на сайте
| Red_Squirrel, нет это не работает но ты подкинул хорошую идею
|
|
| |