Суббота, 23 Ноября 2024, 16:43

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
помогите с разработкой алгоритма на 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, нет это не работает но ты подкинул хорошую идею biggrin
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг