资源简介
基于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个文件信息
- 上一篇:天气预报的获取qt
- 下一篇:Parsing Techniques
相关资源
- OpenGL绘制三维地形图184196
- Unity3d传送门模型
- Unity3d UGUI
- d3d方块透视外部透明窗口
- C3D2016本地化包
- unity3d 美食游戏模板
- Unity刮刮乐效果、绘制透明工程
- opengl烟花
- 欢乐麻将3DMAX模型整理
- COLLADAMaxNew插件,opencollada导出DAE文件
- unity3d答题系统
- 鼠标控制物体缩放旋转opengl+glut
- U3D从入门到精通PDF和资源文件
- QT+OpenGL开发而成,能以点,线,面,
- 3D场景漫游
- glu3d 3dmax流体插件
- 深度图以及基于DIBR的2D转3D资料
- 3D排3胆码王.rar
- 平面变压器3D仿真资料
- FUN3D手册,非结构求解器的编译过程及
- vs用opengl环境搭建freeglut+glew 64位 包自
- unity3d 一个简单的足球demo
- SimplePath 1.11(最新完整版)
- 城市生长插件的使用方法附插件
- md3loader,导入md3模型源程序
- Magic cube.rar
- OpenGL三维建模与坐标变换
- OpenGL 雪景与雪人的绘制
- opengl_shader_鱼眼校正
- opengl 雪花飞舞
评论
共有 条评论