Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Как строить лабиринт?


Автор: BezImeni 28.9.2006, 20:40
   Кто знает ссылки на темы - желательно на русском - как строить лабиринт
и на код, если есть тоже - Java. Если есть разные типы лабиринтов - тоже интересно.
 smile 

Автор: LesnoyChelovek 28.9.2006, 20:48
В прицнипе это уже было. Кто-то из форумчан писал код:
Код

<b>Генерация лабиринта.</b> Обновление создаёт новое расположение стен.<br>
    
<style>.l0,.l1,.l2,.l3
    
  {border:1px solid white;font-size:10px;width:14px;height:14px;}
    
.l1{border-right-color:black}
    
.l2{border-bottom-color:black;}
    
.l3{border-bottom-color:black;border-right-color:black}
    
td{color:#bbbbbb}
    
</style>
    
<script>
    
d=document;
    
genLab=function(){
    
nx=((d.all?d.body.clientWidth:innerWidth)-30)/14;
    
ny=((d.all?d.body.clientHeight:innerHeight)-80)/14;
    
s='<table cellspacing=0 cellpadding=0 style="border:1px solid black;'
    
  +'border-bottom-width:0;border-right-width:0">';
    
for(i=0;i<ny;i++){s+='<tr>';
    
  for(j=0;j<nx;j++){
    
    s+='<td><div class=l'+(k=Math.floor((Math.random()*1.5)+0.96))+'>&nbsp;</div></td>';
    
  }s+='</tr>';
    
}s+='</table>';
    
d.getElementById('d1').innerHTML=(d.all?'':'<style>.l0,.l1,.l2,.l3{width:12px;height:12px;}</style>')+s;}
    
onload=genLab;
    
</script><div id=d1></div>

Автор: LSD 28.9.2006, 21:13
BezImeni, поподробней, о каких лабиринтах идет речь.

LesnoyChelovek, этот пример на JavaScript, а не на Java.

Автор: BezImeni 29.9.2006, 22:05
Цитата

...поподробней, о каких лабиринтах идет речь.


   Чтобы был из них только один выход - обычные плоские лабиринты, т.е. смысл игры - человек ищет выход

Автор: Antropoid 30.9.2006, 00:02
[I]Алгоритм – решение:[/I]
Разбиваем прямоугольник на квадлатики, потом прокладываем главный коридор – решение(от входа к выходу); затем соединяем все остальные квадратики с главным коридором. Кроме того следим, чтобы коридор не пересекал себя (тем самым достигается единственность решения).

Автор: BezImeni 19.10.2006, 20:44
 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)