3月25號

添加圖片的一些例子:

//    創建一個二維數組,用來管理數據int[][] data = new int[4][4];
//    記錄空白方塊的位置int x=0;int y=0;
//    定義一個變量,記錄當前展示圖片的路徑String path="E:\\java\\jigsawgame\\路飛\\路飛";
//        加載圖片細節:
//        先加載的圖片在上面,后加載的圖片在下面for(int i = 0; i < 4; i++){for(int j = 0; j < 4; j++){
//                創建一個JLabel的對象(管理容器)JLabel jLabel=new JLabel(new ImageIcon(path+data[i][j]+".png"));
//                指定圖片位置jLabel.setBounds(180*j+18,180*i+45,180,180);
//                給圖片添加邊框jLabel.setBorder(new BevelBorder(1));
//                把管理容器添加到界面中this.getContentPane().add(jLabel);}}//        添加背景圖片ImageIcon icon = new ImageIcon("E:\\java\\jigsawgame\\背景.png");JLabel background = new JLabel(icon);background.setBounds(0, 0, 770, 830);
//        把背景圖片添加到界面當中this.getContentPane().add(background);
//        刷新一下界面this.getContentPane().repaint();
加載圖片細節:先加載的圖片在上面,后加載的圖片在下面

代碼運行是這樣的

?還有按鍵的一些操作:

基于完整的圖片為0;以它為基準開始移動

    public void keyReleased(KeyEvent e) {
//        對上下左右進行判斷
//        左:37 上:38 右:39 下:40int keyCode=e.getKeyCode();
//        System.out.println(keyCode);if(keyCode==37){if(y==0){return;}data[x][y]=data[x][y-1];data[x][y-1]=0;y--;initImage();} else if (keyCode==38) {if(x==0){return;}data[x][y]=data[x-1][y];data[x-1][y]=0;x--;initImage();} else if (keyCode==39) {if(y==3){return;}data[x][y]=data[x][y+1];data[x][y+1]=0;y++;initImage();} else if (keyCode==40) {if(x==3){
//                空白方塊已經在最下方了,他的下面沒有圖片在能移動了return;}
//            邏輯:把空白方塊下的數字往上移動
//            x,y表示空白方塊  x+1,y表示空白方塊下面的數字//            把空白方塊下面的數字賦值給空白方塊data[x][y]=data[x+1][y];data[x+1][y]=0;x++;
//            調用方法,按照最新的數字加載圖片initImage();} else if (keyCode==65) {
//            按A鍵查看完整圖片initImage();} else if (keyCode==87) {
//            按W鍵為作弊器,直接通過data=new int[][]{{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,0}};initImage();}}

按下上下左右就可以看出編號

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/74453.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/74453.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/74453.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【機器學習】什么是支持向量機?

什么是支持向量機&#xff1f; 支持向量機&#xff08;SVM&#xff0c;Support Vector Machine&#xff09;是一種強大的機器學習算法&#xff0c;常用于分類問題&#xff0c;也可以用于回歸問題。它的核心思想是通過找到一個最佳的“超平面”來將不同類別的數據分開&#xff…

10分鐘打造專屬AI助手!ToDesk云電腦/順網云/海馬云操作DeepSeek哪家強?

文章目錄 一、引言云計算平臺概覽ToDesk云電腦&#xff1a;隨時隨地用上高性能電腦 二 .云電腦初體驗DeekSeek介紹版本參數與特點任務類型表現 1、ToDesk云電腦2、順網云電腦3、海馬云電腦 三、DeekSeek本地化實操和AIGC應用1. ToDesk云電腦2. 海馬云電腦3、順網云電腦 四、結語…

Spring Boot 一個接口實現任意表的 Excel 導入導出

Java的web開發需要excel的導入導出工具&#xff0c;所以需要一定的工具類實現&#xff0c;如果是使用easypoi、Hutool導入導出excel&#xff0c;會非常的損耗內存&#xff0c;因此可以嘗試使用easyexcel解決大數據量的數據的導入導出&#xff0c;且可以通過Java8的函數式編程解…

QT原子變量:QAtomicInteger、QAtomicPointer、QAtomicFlag

引言&#xff1a;原子變量為何重要&#xff1f; 在多線程編程中&#xff0c;共享數據的原子性訪問是保證線程安全的核心。傳統互斥鎖雖然有效&#xff0c;但會帶來性能損耗和死鎖風險。QT提供的原子類型&#xff08;QAtomicInteger、QAtomicPointer、QAtomicFlag&#xff09;通…

大模型金融企業場景落地應用

一、商業銀行體系 1. 江蘇銀行 企業背景&#xff1a;江蘇銀行是總部位于江蘇南京的全國性股份制商業銀行&#xff0c;在城商行中資產規模位居前列&#xff0c;積極擁抱金融科技&#xff0c;將數字化轉型作為核心戰略之一。近年來&#xff0c;江蘇銀行持續加大在人工智能、大數…

卡特蘭數在數據結構上面的運用

原理 Catalan數是一個數列&#xff0c;其第n項表示n個不同結點可以構成的二叉排序樹的數量。Catalan數的第n項公式為&#xff1a; &#xfffc; 其中&#xff0c;&#xfffc;是組合數&#xff0c;表示從2n個元素中選擇n個元素的組合數。 Catalan數的原理可以通過以下方式理解&…

影視后期工具學習之PR(中)

pr剪輯之旅----聲音設計 第五課 鏡頭語言和綠幕摳像 超級鍵效果(超級鍵通過簡單的吸管取色和參數調整,即可實現專業級摳像與合成效果。無論是綠幕替換背景,還是創意雙重曝光,都能輕松駕馭。建議結合「Alpha 通道」視圖觀察透明區域,逐步優化細節,最終導出高質量視頻。)…

使用BootStrap 3的原創的模態框組件,沒法彈出!估計是原創的bug

最近在給客戶開發一個CRM系統&#xff0c;其中用到了BOOTSTRAP的模態框。版本是3。由于是剛開始用該框架。所以在正式部署到項目中前&#xff0c;需要測試一下&#xff0c;找到框架中的如下部分。需要說明的是。我用的asp.net mvc框架開發。測試也是在asp.net mvc環境下。 復制…

Camera2 與 CameraX 閑談

目錄 &#x1f4c2; 前言 1. &#x1f531; Camera2 2. &#x1f531; CameraX 3. &#x1f531; Camera2 與 CameraX 1&#xff09;使用復雜度與開發效率 2&#xff09;控制能力與應用場景 3&#xff09;設備兼容性與穩定性 4&#xff09;更新與維護 4. &#x1f4a0…

【大語言模型_8】vllm啟動的模型通過fastapi封裝增加api-key驗證

背景&#xff1a; vllm推理框架啟動模型不具備api-key驗證。需借助fastapi可以實現該功能 代碼實現&#xff1a; rom fastapi import FastAPI, Header, HTTPException, Request,Response import httpx import logging# 創建 FastAPI 應用 app FastAPI() logging.basicConfig(…

基于SpringBoot的名著閱讀網站

作者&#xff1a;計算機學姐 開發技術&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源碼”。 專欄推薦&#xff1a;前后端分離項目源碼、SpringBoot項目源碼、Vue項目源碼、SSM項目源碼、微信小程序源碼 精品專欄&#xff1a;…

Langchain 自定義工具和內置工具

使用介紹 自定義工具時的元素概念介紹 在Langchain中&#xff0c;工具&#xff08;Tool&#xff09;是與語言模型交互的基本單元。以下是自定義工具時的關鍵元素&#xff1a; name 定義&#xff1a;工具的名稱&#xff0c;用于唯一標識該工具。作用&#xff1a;當工具被集成…

Gitee上庫常用git命令

Gitee上庫常用git命令 1、Fork 項目2、個人倉庫修改3、追加提交4、創建PR5、多筆commit合一 1、Fork 項目 2、個人倉庫修改 git add . // -s 表示自動添加郵箱簽名信息&#xff0c;-m表示其后跟隨commit描述 git commit -sm “add transition freeze” git push origin [目標…

Java 大視界 -- Java 大數據在智慧農業精準灌溉與施肥決策中的應用(144)

&#x1f496;親愛的朋友們&#xff0c;熱烈歡迎來到 青云交的博客&#xff01;能與諸位在此相逢&#xff0c;我倍感榮幸。在這飛速更迭的時代&#xff0c;我們都渴望一方心靈凈土&#xff0c;而 我的博客 正是這樣溫暖的所在。這里為你呈上趣味與實用兼具的知識&#xff0c;也…

Redux,React-redux。基礎

狀態管理庫&#xff0c;集中式存儲狀態&#xff0c;管理狀態 ? redux //簡單實現 redux源碼 export function createStore(reducer) {// reducer由用戶編寫&#xff0c; 必須是一個函數&#xff0c;dispatch的時候&#xff0c;reducer要執行if (typeof reducer ! function) t…

5.2 位運算專題:LeetCode 268. 丟失的數字

1. 題目鏈接 LeetCode 268. 丟失的數字 2. 題目描述 給定一個包含 [0, n] 范圍內 n 個不同整數的數組 nums&#xff08;實際長度為 n&#xff09;&#xff0c;找出數組中缺失的那個數字。 示例&#xff1a; 輸入&#xff1a;nums [3,0,1] → 輸出&#xff1a;2&#xff08;…

基于第三方庫的人臉識別系統的設計與實現

標題:基于第三方庫的人臉識別系統的設計與實現 內容:1.摘要 本文針對傳統人臉識別系統開發復雜、效率低的問題&#xff0c;旨在設計并實現基于第三方庫的人臉識別系統。通過選用合適的第三方人臉識別庫&#xff0c;利用其成熟的算法和接口&#xff0c;簡化系統開發流程。對收集…

【Android】VehiclePropertyAccess引起CarService崩潰

VehiclePropertyAccess引起CarService崩潰 VehiclePropertyAccess VehiclePropertyAccess屬性&#xff0c;用于定義車輛屬性的訪問權限。權限包括 讀&#xff1a;READ&#xff0c;只可以讀取&#xff0c;不能寫入。 VehiclePropertyAccess:READ寫&#xff1a;WRITE&#xf…

【Go】Go語言并發模型:MPG

Go 語言并發模型&#xff1a;MPG Go 的并發模型主要由三個部分構成&#xff1a; M (Machine) 系統線程&#xff0c;用于實際執行任務。 P (Processor) 邏輯處理器&#xff0c;負責管理和調度 goroutine。每個 P 擁有一個本地隊列和關聯的全局 G 隊列。 G (Goroutine) Go 語言…

SpringCloud配置中心:Config Server與配置刷新機制

文章目錄 引言一、Config Server基礎架構1.1 Server端配置1.2 配置文件命名規則 二、Config Client配置2.1 Client端配置2.2 配置注入與使用 三、配置刷新機制3.1 手動刷新配置3.2 使用Spring Cloud Bus實現自動刷新3.3 配置倉庫Webhook自動觸發刷新 四、高級配置管理策略4.1 配…