`
chenyuxiaoxiao
  • 浏览: 71292 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java 迷宫1

    博客分类:
  • java
阅读更多
package com.my.test;

import java.util.Arrays;
import java.util.Scanner;
/**
 * @author Administrator
 *   4       3         2
 * 1111111 11111
 * 1222221 12221    
 * 1233321 12321  -> -> 111 
 * 1234321 12221        121
 * 1233321 11111        111
 * 1222221
 * 1111111
 * 的算法
 */
public class Test1 {

	private enum direct{
		left,right,up,down
	}
	public void init(){
		
		Scanner sc  = new Scanner(System.in);
		System.out.print("请输入回旋的阶数:");
		String level = "1";
		Integer level_no = 1; 
		try {
			level = sc.next();
			level_no = Integer.parseInt(level);
		} catch (RuntimeException e) {
			e.printStackTrace();
		}
		
		next_step1(level_no);
		
	}
	private void next_step1(Integer level_no) {
		int high = level_no * 2 -1;
		String[][] nums = new String[high][high];
		if(high == 1){
			for (int i = 0; i < nums.length; i++) {
				for(int j = 0;j<nums[i].length;j++){
					nums[i][j] = add_zero(1, level_no);
				}
			}
		}else{
			int temp = 1;
			for (int i = 0; i < nums.length; i++) {
				
				if(i < (high / 2  )){
					//上半部分
					int t1 = 1;
					for(int j = 0;j<nums[i].length;j++){
						
						if(i == 0){
							nums[i][j] = add_zero(t1,level_no);
						}else{
							if(j < (high / 2 + 1)){
								
								nums[i][j] = add_zero(t1,level_no);
								t1++;
								if(t1>=temp){
									t1 = temp;
								}
							}else{
								if(t1>=temp){
									t1=temp;
								}
								nums[i][j] = add_zero(t1,level_no);
								if(j >= (high - temp)){
									t1--;
								}
							}
						}
					}	
					temp++;
				}else if(i == (high / 2 )){
					int t1 = 1;
					for(int j = 0;j<nums[i].length;j++){
						if(j < (high / 2 + 1)){
							
							nums[i][j] = add_zero(t1,level_no);
							t1++;
							if(t1>=temp){
								t1 = temp;
							}
						}else{
							if(t1>=temp){
								t1=temp;
							}
							t1--;
							nums[i][j] = add_zero(t1,level_no);
						}
					}
					
				}else{
					//下半部分
					temp--;
					int t1 = 1;
					for(int j = 0;j<nums[i].length;j++){
						if(j < (high / 2 + 1)){
							
							nums[i][j] = add_zero(t1,level_no);
							t1++;
							if(t1>=temp){
								t1 = temp;
							}
						}else{
							if(t1>=temp){
								t1=temp;
							}
							nums[i][j] = add_zero(t1, level_no);
							if(j >= (high - temp)){
								t1--;
							}
						}
					}	
				}
				
			}
		}
		for (int i = 0; i < nums.length; i++) {
			
			System.out.println(Arrays.toString(nums[i]));
		}
	}
	
	private String add_zero(Integer t1,int level_no) {
		 Integer temp = level_no;  
	        String s = temp.toString();   
	        Integer len = s.length();  
	        Integer l = t1.toString().length();  
	        String zero = "";  
	        for(int i = 1;i<=len -l;i++ ){  
	            zero = zero + "0";  
	        }  
	        return zero + t1;   
	}
	public static void main(String args[]){
		new Test1().init();
	}
}

分享到:
评论

相关推荐

    java迷宫 java迷宫 java迷宫

    在本文中,我们将深入探讨如何使用Java编程语言创建一个迷宫游戏。...通过学习和理解这些基本概念,你可以进一步完善这个Java迷宫游戏,增加更多特性,如多级难度、计时功能、动态迷宫生成等,从而提升游戏体验。

    Java迷宫算法 Java迷宫算法

    Java迷宫算法;Java迷宫算法;Java迷宫算法;Java迷宫算法;Java迷宫算法;Java迷宫算法;Java迷宫算法

    java迷宫课程设计

    Java迷宫课程设计是一项常见的编程练习,旨在帮助初学者掌握Java编程语言以及图形用户界面(GUI)开发。在这个项目中,我们使用了JavaFX库来创建用户界面,它是一个强大的工具,提供了丰富的功能来构建现代、动态的...

    java迷宫课程设计.zip

    通过java实现的迷宫课程设计。分成算法部分和界面部分,算法部分涉及到迷宫生成算法,深度优先,广度优先,运用了栈和队列等容器。界面部分采用javafx实现。有显示迷宫路线,更改迷宫大小,展示迷宫解谜动画过程。...

    一个简单的java迷宫生成程序

    标题中的“一个简单的java迷宫生成程序”表明我们要讨论的是一个使用Java编程语言实现的算法,该算法用于创建迷宫。迷宫生成是计算机图形学和算法设计的一个有趣领域,通常涉及深度优先搜索(DFS)或Prim算法等方法...

    java迷宫小游戏

    Java迷宫小游戏是一种基于编程语言Java开发的娱乐项目,它结合了编程逻辑和游戏设计,为学习者提供了实践编程技能的机会。在这个游戏中,玩家需要控制一个角色在迷宫中找到出路,通过解决路径问题来完成游戏。下面...

    java迷宫小游戏源码打包

    【标题】"java迷宫小游戏源码打包"指的是一个基于Java编程语言开发的迷宫类游戏,它包含游戏的核心逻辑和界面设计。开发者为游戏增加了不同的难度选择,以适应不同玩家的需求,同时还提供了自动演示功能,让玩家可以...

    java 迷宫 随机生成 自动寻找路径 用到树的深度遍历

    Java语言在游戏开发和算法实现中常常被用来创建各种有趣的应用,其中之一就是迷宫生成与解谜。在这个项目中,我们将深入探讨如何使用Java来实现一个迷宫的随机生成以及自动寻找路径的方法,同时会涉及树的深度遍历这...

    java迷宫程序及代码

    本主题将深入探讨使用Java实现的基于深度优先搜索(DFS)和广度优先搜索(BFS)的迷宫生成与游戏玩法。这两种算法都是解决迷宫问题的有效工具,各有其特点和适用场景。 首先,让我们从深度优先搜索(DFS)开始。DFS...

    java实现的求迷宫最短路径算法

    1. `Node`类:表示迷宫中的一个节点,包含当前位置、父节点(用于回溯路径)、代价(g值)和估计代价(f值)。 2. `openList`和`closedList`:分别用于存储待处理节点和已处理节点,通常使用优先队列来高效管理。 3....

    java迷宫、面板、寻路

    在本课程设计中,我们将深入探讨Java编程语言在构建迷宫生成、面板显示以及路径寻找算法方面的应用。这个项目不仅涵盖了基本的编程概念,还涉及到了数据结构、算法设计以及图形用户界面(GUI)的创建,是提升Java...

    JAVA迷宫 JAVA程序设计

    当我们谈论“JAVA迷宫”时,这是一个典型的编程问题,它涉及到算法设计、路径查找以及可能的数据结构应用。让我们深入探讨Java如何用于解决迷宫问题。 首先,迷宫可以被抽象为一个二维数组或矩阵,其中每个元素代表...

    java图形界面迷宫问题

    1. 游戏开发:Java图形界面迷宫问题可以用于开发迷宫游戏,例如寻找隐藏的宝石或逃离迷宫。 2. 机器人导航:Java图形界面迷宫问题可以用于机器人导航,例如机器人如何避免障碍物并找到目标位置。 3. 智能家居:Java...

    java 2D迷宫源码

    1. **迷宫生成**:迷宫的生成通常涉及算法,比如深度优先搜索(DFS)或宽度优先搜索(BFS)。在这个项目中,开发者可能选择了一种方法,随机地切割空间来创建复杂且连通的路径。算法的实现需要理解数据结构,例如...

    java编写的迷宫游戏支持自定义迷宫

    1. **定义数据结构**:创建表示迷宫的类,包含迷宫的大小、节点、路径等属性,以及相应的操作方法,如生成迷宫、查找路径等。 2. **实现迷宫生成**:根据选定的算法,编写生成迷宫的函数。这通常涉及到随机化操作,...

    JAVA 迷宫算法——老鼠走迷宫

    老鼠走迷宫,用数组跌打计算。 老鼠走迷宫,用数组跌打计算。

    java迷宫设计模式

    利用设计模式对java迷宫进行改写,采用了单例、策略、工厂模式

    【原创】Java迷宫生成器

    【原创】Java迷宫生成器是一个使用Java编程语言编写的程序,它的主要功能是自动生成迷宫。迷宫生成器通常包含算法设计和图形界面展示两大部分。在这个项目中,开发者利用了名为SimpleCanvas.java的类来实现图形界面...

    基于JAVA的迷宫自动寻路算法实现

    在本文中,我们将深入探讨如何使用Java实现基于迷宫的自动寻路算法。这个项目的目标是设计一个系统,允许用户通过鼠标点击设定目的地,然后由一个方块角色自动找到从起点到终点的路径。该系统利用了Java的...

    Java课程设计走迷宫.zip_Java课程设计走迷宫_java课程设计_paymx9_迷宫 java_迷宫Java设计

    1. **基础语法与面向对象编程**:在Java中,编写迷宫游戏需要掌握基本的语法结构,如类、对象、方法、变量等。同时,要理解封装、继承和多态等面向对象特性,以便创建游戏中的各种元素,如玩家、迷宫、墙壁等。 2. ...

Global site tag (gtag.js) - Google Analytics