导航:首页 > 编程语言 > java拼图算法

java拼图算法

发布时间:2021-10-26 02:33:22

① 如何用java编写一个图片的拼图游戏

说说思路:
1 本身他不是一个完整的图片,应该被切分成数组,该数组为拼图成功的标准
2 将该数组复制,然后打散元素的顺序
3 初始化一个二维数组方格矩阵
4 允许用户通过鼠标事件将 备选图案中的某个元素放置到二维数组方格矩阵中,并记载其顺序
5 直到所有的方格被填满,与答案数组的元素顺序比较,给出结果
以上是实现拼图的关键思路,其他情况还要考虑,如允许从方格中撤出图像或者与其他图像调整位置,仅代表个人不成熟的想法,希望对你能有所帮助,祝你好运!

② 怎么用Java实现拼图游戏,求思维和代码

用ImageIO可以尝试哈。

③ 请问java怎样实现拼图游戏图片的载入,就是图片怎么分割成一小张一小张的,请详讲。谢谢,最好有代码

public static void cut(String srcImageFile, String descDir, int destWidth,
int destHeight) {
try {
Image img;
ImageFilter cropFilter;
// 读取源图像
BufferedImage bi = ImageIO.read(new File(srcImageFile));
int srcWidth = bi.getHeight(); // 源图宽度
int srcHeight = bi.getWidth(); // 源图高度
if (srcWidth > destWidth && srcHeight > destHeight) {
Image image = bi.getScaledInstance(srcWidth, srcHeight,
Image.SCALE_DEFAULT);
destWidth = 200; // 切片宽度
destHeight = 150; // 切片高度
int cols = 0; // 切片横向数量
int rows = 0; // 切片纵向数量
// 计算切片的横向和纵向数量
if (srcWidth % destWidth == 0) {
cols = srcWidth / destWidth;
} else {
cols = (int) Math.floor(srcWidth / destWidth) + 1;
}
if (srcHeight % destHeight == 0) {
rows = srcHeight / destHeight;
} else {
rows = (int) Math.floor(srcHeight / destHeight) + 1;
}
// 循环建立切片
// 改进的想法:是否可用多线程加快切割速度
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
// 四个参数分别为图像起点坐标和宽高
// 即: CropImageFilter(int x,int y,int width,int height)
cropFilter = new CropImageFilter(j * 200, i * 150,
destWidth, destHeight);
img = Toolkit.getDefaultToolkit().createImage(
new FilteredImageSource(image.getSource(),
cropFilter));
BufferedImage tag = new BufferedImage(destWidth,
destHeight, BufferedImage.TYPE_INT_RGB);
Graphics g = tag.getGraphics();
g.drawImage(img, 0, 0, null); // 绘制缩小后的图
g.dispose();
// 输出为文件
ImageIO.write(tag, "JPEG", new File(descDir
+ "pre_map_" + i + "_" + j + ".jpg"));
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}

④ 我要完成一个java拼图游戏3*3

不一定崔在只是给每个人的想法不一样的只要你相信那就是有联系不相信就额是没联系一切都由你自己决定只有自己知道才是真的

⑤ JAVA 编程,算法,详细在图里, 求代码、详细解答

(a)It is insert sort algorithm of the above code segment.上面的代码是插入排序算法

(b)

EXAMPLE

AEXMPLE

AEMXPLE

AEMPXLE

AELMPXE

AEELMPX

(c)

Require 6 sorting steps.

补充完整的插入排序算法的Java程序如下

public class A{

public static void main(String[] args){

char[] a={'E','X','A','M','P','L','E'};

char v;

int i,j,n=a.length,count=0;

for (i =1; i < n; i++){

v = a[i];

j = i;

while(j > 0 && a[j-1] > v) {

a[j] = a[j-1];

j--;

}

a[j] = v;

count++;

System.out.println(new String(a));

}

System.out.println("Require "+count+" sorting steps.");

}

}

⑥ java 数字拼图 算法

要想得到最优的就需要使用广度优先搜索,九宫的所有排列有9!种,也就是362880种排法,数据量是非常大的,使用广度搜索,需要记住每一个结点的排列形式,要是用数组记录的话会占用很多的内存,可以把数据进行适当的压缩。使用dword形式保存,压缩形式是每个数字用3位表示,这样就是3×9=27个字节,由于8的二进制表示形式1000,不能用3位表示,使用了一个小技巧就是将8表示为000,然后用多出来的5个字表示8所在的位置,就可以用dword表示了。用移位和或操作将数据逐个移入,比乘法速度要快点。定义了几个结果来存储遍历到了结果和搜索完成后保存最优路径。

⑦ 1200分跪求JAVA数字拼图游戏源代码!

我有两个拼图游戏,代码太多了,贴不上来。
可以在网络在线问我拿,如果看了代友有什么地方不懂也可以问我。

⑧ Java的图像算法

//没听懂你的需求,能更清楚一些吗?

我以前的一个程序使用BufferedImage读取图像像素点的RGB值,例子在下面。

你从例子中了解一下用一个整数表示RGB颜色的方法。然后用setRGB方法满足你的要求。

方法:
java.awt.image.BufferedImage

public int getRGB(int x,int y)
返回默认 RGB 颜色模型 (TYPE_INT_ARGB) 和默认 sRGB 颜色空间中的整数像素。如果此默认模型与该图像的 ColorModel 不匹配,则发生颜色转换。在使用此方法所返回的数据中,每个颜色分量只有 8 位精度。

public void setRGB(int x, int y,int rgb)
将此 BufferedImage 中的像素设置为指定的 RGB 值。假定该像素使用默认 RGB 颜色模型、TYPE_INT_ARGB 和默认 sRGB 颜色空间。对于具有 IndexColorModel 的图像,则选择最接近的颜色的索引。
参数:
x - 要设置的像素的 X 坐标
y - 要设置的像素的 Y 坐标
rgb - RGB 值

例子:(获取RGB值)---了解一下用一个整数表示RGB颜色的方法
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.*;

public class Test{
public static void main(String args[]) {
int[] rgb = new int[3];

File file = new File("a.bmp");
BufferedImage bi=null;
try{
bi = ImageIO.read(file);
}catch(Exception e){
e.printStackTrace();
}

int width=bi.getWidth();
int height=bi.getHeight();
int minx=bi.getMinX();
int miny=bi.getMinY();
System.out.println("width="+width+",height="+height+".");
System.out.println("minx="+minx+",miniy="+miny+".");

for(int i=minx;i<width;i++){
for(int j=miny;j<height;j++){
//System.out.print(bi.getRGB(jw, ih));
int pixel=bi.getRGB(i, j);
rgb[0] = (pixel & 0xff0000 ) >> 16 ;
rgb[1] = (pixel & 0xff00 ) >> 8 ;
rgb[2] = (pixel & 0xff );
System.out.println("i="+i+",j="+j+":("+rgb[0]+","+rgb[1]+","+rgb[2]+")");

}
}

}

}

⑨ 这是java拼图游戏代码中的一部分,谁能帮我解读一下啊 我根本看不明白啊

生成不重复的乱序标识,切割图片,用乱序的标识生成随机的图片

阅读全文

与java拼图算法相关的资料

热点内容
电影院评价在哪里看 浏览:85
kk3影院 浏览:817
小电影从哪里看 浏览:514
下载电影的好网址11153 浏览:107
花都之乱txt下载 浏览:891
韩国孕妇生孩子电视剧大肚子 浏览:389
主角把自己母亲收入后宫 浏览:25
李恩美演医生 浏览:326
香港电影女主被救到船上 浏览:527
一个恐怖电影女人被咬掉胸部 浏览:95
分娩风险韩国电影 浏览:528
港台真军电影 浏览:489
红妆刀下留糖全文txt 浏览:495
住在一楼楼的女人韩国电影 浏览:764
阿尔法战士电影全集 浏览:301
穿越到港综鬼片世界的小说 浏览:46
国外网站电影 浏览:79
禁播的电影在什么网站可以看到 浏览:763
真实电影里面的马尾女孩是谁 浏览:352
电影中的黑丝美女 浏览:410

友情链接