资源简介
基于OpenGL的3D迷宫漫游程序,游戏的详细说明
![](http://www.nz998.com/pic/47613.jpg)
代码片段和文件信息
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参考手册
- The Secret Path 3D 3D魔方迷宫[源码][scra
-
Actionsc
ript 1.0实现能跟随鼠标运动的 - Qt Creator opengl实现四元数鼠标控制轨迹
- Unity3D登录界面工程
- 3DWebGIS 3DWebGIS
- OpenGL文档,api大全,可直接查询函数
- opengl轮廓字体源代码
- MFC读三维模型obj文件
- 3des加解密_C 实现
- 利用OpenGL写毛笔字算法
- MFC中OpenGL面和体的绘制以及动画效果
- unity3d反编译工具
- 基于OPENGL的光线跟踪源代码368758
- VC 实现三维旋转(源码)
- 自编用openGL实现3D分形树,分形山
- OpenGL球形贴图自旋程序
- Quest3D 2个动画相机切换实例
- 迷宫问题 maze 迷宫算法的实现
- OpenGL导入贴图的Texture类
- 计算机图形学(openGL)代码
- 用OpenGL开发的机械臂运动仿真程序(
- OpenGL-3D坦克模拟
- FLAC3D数值模拟的边坡稳定性
-
UnityWebPla
yerFull - scratch穿越迷宫.sb2
- Scratch:3d飞行模拟器 .sb3
- OPENGL实现世界上最小的3D游戏
- js 迷宫小游戏源码
- scratch可视化编程实现角色走迷宫
评论
共有 条评论