• 大小: 1.39MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-26
  • 语言: 其他
  • 标签: 3D  opengl  迷宫  

资源简介

基于OpenGL的3D迷宫漫游程序,游戏的详细说明

资源截图

代码片段和文件信息

package com;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Stack;


//java版本深度优先迷宫生成算法
public class Maze {

Stack goon = new Stack();

Stack passed = new Stack();

int[][] squ = new int[11][11];
boolean[][] visited = new boolean[11][11];

public void init()
{
for(int i=0;i<11;i++)
{
for(int j=0;j<11;j++)
{
squ[i][j]=1;
visited[i][j]= false;
}
}
}

public void workOut()
{
Node start = new Node(00);
goon.push(start);

while(true)
{
if(goon.empty()  && passed.empty())
{
break;
}else if(goon.empty() && !passed.empty())
{
Node temp2 = passed.pop();
temp2.visited = false;

goon.push(temp2);
//continue;
}

Node temp = goon.pop();
if(visited[temp.x][temp.y])
{
continue;
}


squ[temp.x][temp.y] = 0;//有助后面检测,一定先设为0
passed.add(temp);
visited[temp.x][temp.y] = true;


List all=new ArrayList();

int a=test(temp1);
if(a!=0)
all.add(new Node(temp.x - 1 temp.y));
//goon.push(new Node(temp.x - 1 temp.y));


int b=test(temp2);
if(b!=0)
all.add(new Node(temp.x + 1 temp.y));
//goon.push(new Node(temp.x + 1 temp.y));


int c=test(temp3);
if(c!=0)
all.add(new Node(temp.x temp.y - 1));
//goon.push(new Node(temp.x temp.y - 1));

int d=test(temp4);
if(d!=0)
all.add(new Node(temp.x temp.y + 1));
//goon.push(new Node(temp.x temp.y + 1));
if(all.size()==0 || all==null)
{
continue;
}else{


//Random dom= new Random(100);

//int index = dom.nextInt();
double r=Math.random()*5;//
int index = (int)r;
//System.out.println(index);
index=index%all.size();
goon.push(all.get(index));
all.remove(index);

if(all.size()>0)        
{
if(index%2==0)
{
for(int i=0;i {
goon.push(all.get(i));        
}   
}else{
for(int i=all.size()-1;i>=0;i--)
{
goon.push(all.get(i));
}
}
}
}



}
}

//1 2 3 4 对应上下左右
public int test(Node c int sign) {
if (sign == 1) {
if (isIn(c.x - 1 c.y) && !visited[c.x - 1][c.y]) {
Node temp = new Node(c.x - 1 c.y);
if (isOk(temp))
{
return 1;
}else{
visited[c.x - 1][c.y] = true;

}
}
return 0;
} else if (sign == 2) {

if (isIn(c.x + 1 c.y) && !visited[c.x + 1][c.y]) {
Node temp = new Node(c.x + 1 c.y);
if (isOk(temp))
{
return 2;
}else{
visited[c.x + 1][c.y] = true;

}
}
return 0;

} else if (sign == 3) {

if (isIn(c.x c.y - 1) && !visited[c.x][c.y - 1]) {
Node temp = new Node(c.x c.y - 1);
if (isOk(temp))
{
return 3;
}e

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     278016  2009-12-12 11:09  20073001268-吴昆亮-实验三\20073001268-吴昆亮-实验3.doc

     文件       6051  1999-02-23 18:46  20073001268-吴昆亮-实验三\Maze2\anorms.h

     文件      49180  2009-11-26 16:20  20073001268-吴昆亮-实验三\Maze2\data\floor.bmp

     文件     113166  2009-11-28 07:00  20073001268-吴昆亮-实验三\Maze2\data\floor.jpg

     文件     196636  2009-11-26 22:02  20073001268-吴昆亮-实验三\Maze2\data\GenericMech.bmp

     文件     196652  2009-11-26 18:55  20073001268-吴昆亮-实验三\Maze2\data\GenericMech.tga

     文件     196652  2005-10-22 23:34  20073001268-吴昆亮-实验三\Maze2\data\GenericMech2.tga

     文件     320236  2005-09-23 12:14  20073001268-吴昆亮-实验三\Maze2\data\knight.md2

     文件     261308  1998-07-02 17:54  20073001268-吴昆亮-实验三\Maze2\data\tris.md2

     文件     247740  2005-10-21 10:58  20073001268-吴昆亮-实验三\Maze2\data\WalkMech.md2

     文件     196664  2009-11-26 14:12  20073001268-吴昆亮-实验三\Maze2\data\wall.bmp

     文件      23574  2009-11-13 08:33  20073001268-吴昆亮-实验三\Maze2\demo.cpp

     文件        888  2009-11-30 22:07  20073001268-吴昆亮-实验三\Maze2\demo.h

     文件        484  2009-12-05 21:01  20073001268-吴昆亮-实验三\Maze2\map\map0.dat

     文件        484  2009-12-05 21:01  20073001268-吴昆亮-实验三\Maze2\map\map1.dat

     文件        484  2009-12-05 21:01  20073001268-吴昆亮-实验三\Maze2\map\map10.dat

     文件        484  2009-12-05 21:01  20073001268-吴昆亮-实验三\Maze2\map\map11.dat

     文件        484  2009-12-05 21:01  20073001268-吴昆亮-实验三\Maze2\map\map12.dat

     文件        484  2009-12-05 21:01  20073001268-吴昆亮-实验三\Maze2\map\map13.dat

     文件        484  2009-12-05 21:01  20073001268-吴昆亮-实验三\Maze2\map\map14.dat

     文件        484  2009-12-05 21:01  20073001268-吴昆亮-实验三\Maze2\map\map15.dat

     文件        484  2009-12-05 21:01  20073001268-吴昆亮-实验三\Maze2\map\map16.dat

     文件        484  2009-12-05 21:01  20073001268-吴昆亮-实验三\Maze2\map\map17.dat

     文件        484  2009-12-05 21:01  20073001268-吴昆亮-实验三\Maze2\map\map18.dat

     文件        484  2009-12-05 21:01  20073001268-吴昆亮-实验三\Maze2\map\map19.dat

     文件        484  2009-12-05 21:01  20073001268-吴昆亮-实验三\Maze2\map\map2.dat

     文件        484  2009-12-05 21:01  20073001268-吴昆亮-实验三\Maze2\map\map20.dat

     文件        484  2009-12-05 21:01  20073001268-吴昆亮-实验三\Maze2\map\map3.dat

     文件        484  2009-12-05 21:01  20073001268-吴昆亮-实验三\Maze2\map\map4.dat

     文件        484  2009-12-05 21:01  20073001268-吴昆亮-实验三\Maze2\map\map5.dat

............此处省略25个文件信息

评论

共有 条评论