当前位置: 首页 > news >正文

音乐网站是否可以做浅度链接河源市住房和城乡规划建设局网站

音乐网站是否可以做浅度链接,河源市住房和城乡规划建设局网站,阿里云网站实名认证,苏州网站建设自学目录 1、绘制界面2、打乱石头方块3、移动业务4、游戏判定胜利5、统计步数6、重新游戏7、完整代码#xff1a; 1、绘制界面 上述思路是#xff1a;使用一个二维数组存放图片的编号#xff0c;然后在后持遍历即可获取对应的图片。 代码如下#xff1a; package com.itheima.s… 目录 1、绘制界面2、打乱石头方块3、移动业务4、游戏判定胜利5、统计步数6、重新游戏7、完整代码 1、绘制界面 上述思路是使用一个二维数组存放图片的编号然后在后持遍历即可获取对应的图片。 代码如下 package com.itheima.stonepuzzle; import javax.swing.*;public class MainFrame extends JFrame {//data使用一个二维数组存放图片的编号然后在后持遍历即可获取对应的图片。int[][] data {{1, 2, 3, 4},{5, 6, 7, 8},{9, 10, 11, 12},{13, 14, 15, 0}};/*** 因为初始化窗体 和 绘制游戏界面是在进入游戏就要执行的* 因此只需要在new对象时执行即可而new对象时构造方法一定会执行* 所以在构造方法里调用即可*/public MainFrame(){//初始化窗体initFrame();//绘制游戏界面paintView();//设置窗体可见setVisible(true);}/*** 此方法用于窗体初始化*/public void initFrame(){ // JFrame jf new JFrame(); --因为此类继承了JFrame因此下面的方法可以直接调用//设置窗体大小setSize(514, 595);//设置窗体关闭模式关闭窗口时结束程序setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);//设置窗体标题setTitle(石头迷阵单机版V1.0);//设置窗体永在最上层setAlwaysOnTop(true);//设置窗体居中setLocationRelativeTo(null);//设置取消默认布局setLayout(null);}/*** 此方法用于绘制游戏的界面*/public void paintView(){for (int i 0; i 4; i) {for (int j 0; j 4; j) {JLabel jl new JLabel(new ImageIcon(C:\\Users\\MSZ\\Desktop\\java_test\\dev\\image\\ data[i][j] .jpg));//设置图片对象大小jl.setBounds(50 100 * j, 90 100 * i, 100, 100);//将图片对象塞进窗体getContentPane().add(jl);}}JLabel background new JLabel(new ImageIcon(C:\\Users\\MSZ\\Desktop\\java_test\\dev\\image\\background.jpg));//设置图片对象大小background.setBounds(26, 30, 450, 484);//将图片对象塞进窗体super.getContentPane().add(background);} }运行代码绘制界面的结果如下 2、打乱石头方块 代码 /*** 初始化数据随机打乱石头*/ public void initData(){Random r new Random();//1、遍历二维数组获取每一个元素for (int i 0; i data.length; i) {for (int j 0; j data[i].length; j) {//2、随机获取 (x坐, y坐标)找到其中一个数int x r.nextInt(4);//x坐标int y r.nextInt(4);//y坐标//3、将当前遍历到的元素和随机获取到的元素做交换int temp data[i][j];data[i][j] data[x][y];data[x][y] temp;}} }3、移动业务 /*** 按下键盘时出发事件* param e*/Overridepublic void keyPressed(KeyEvent e) {int keyCode e.getKeyCode();move(keyCode);}/*** 此方法用于处理移动业务* param keyCode*/private static void move(int keyCode) {if (keyCode 37){System.out.println(左移动业务...);} else if (keyCode 38) {System.out.println(上移动业务...);} else if (keyCode 39) {System.out.println(右移动业务...);} else if (keyCode 40) {System.out.println(下移动业务...);}}移动石头块实际上只需要交换二维数组中的两个数即可然后再刷新就实现了移动业务。 做法 //寻找0号元素的位置 lo: for (int i 0; i data.length; i) {for (int j 0; j data[i].length; j) {if (data[i][j] 0) {row i;col j;break lo;}} }下面看下上、下、左、右移动 注意 /*** 此方法用于处理移动业务** param keyCode*/ private void move(int keyCode) {int temp data[row][col];//0号元素if (keyCode 37 col 3) {System.out.println(左移动业务...);//左移动时空白块和右边的数做交换data[row][col] data[row][col 1];data[row][col 1] temp;//记录0号元素的列坐标也要随之改变col;} else if (keyCode 38 row 3) {System.out.println(上移动业务...);//上移动时空白块和下边的数做交换data[row][col] data[row 1][col];data[row 1][col] temp;//记录0号元素的列坐标也要随之改变row;} else if (keyCode 39 col 0) {System.out.println(右移动业务...);//右移动时空白块和左边的数做交换data[row][col] data[row][col - 1];data[row][col - 1] temp;//记录0号元素的列坐标也要随之改变col--;} else if (keyCode 40 row 0) {System.out.println(下移动业务...);//下移动时空白块和上边的数做交换data[row][col] data[row - 1][col];data[row - 1][col] temp;//记录0号元素的列坐标也要随之改变row--;}else if (keyCode 90){//z键//触发作弊器data new int[][]{{1, 2, 3, 4},{5, 6, 7, 8},{9, 10, 11, 12},{13, 14, 15, 0}};}System.out.println(row , col); }4、游戏判定胜利 /*** 判断游戏是否胜利* return*/ public boolean victory(){for (int i 0; i data.length; i) {for (int j 0; j data[i].length; j) {if(data[i][j] ! win[i][j]){return false;}}}//运行到这里表明游戏胜利了return true;}5、统计步数 6、重新游戏 7、完整代码 package com.itheima.stonepuzzle;public class Test {public static void main(String[] args) {//启动器new MainFrame();} }package com.itheima.stonepuzzle; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.util.Random;public class MainFrame extends JFrame implements KeyListener {//data使用一个二维数组存放图片的编号然后在后持遍历即可获取对应的图片。int[][] data {{1, 2, 3, 4},{5, 6, 7, 8},{9, 10, 11, 12},{13, 14, 15, 0}};//胜利的结果int[][] win {{1, 2, 3, 4},{5, 6, 7, 8},{9, 10, 11, 12},{13, 14, 15, 0}};int row; //0号元素的行坐标int col; //0号元素的列坐标int count 0;//记录操作的次数/*** 因为初始化窗体 和 绘制游戏界面是在进入游戏就要执行的* 因此只需要在new对象时执行即可而new对象时构造方法一定会执行* 所以在构造方法里调用即可*/public MainFrame() {//键盘监听//窗体对象.addKeyListener(KeyListener实现类对象)//this:当前对象两个身份//1)窗体对象//2)KeyListener实现类对象this.addKeyListener(this);//初始化窗体initFrame();//初始化数据随机打乱石头initData();//绘制游戏界面paintView();//设置窗体可见setVisible(true);}/*** 此方法用于窗体初始化*/public void initFrame() { // JFrame jf new JFrame(); --因为此类继承了JFrame因此下面的方法可以直接调用//设置窗体大小setSize(514, 595);//设置窗体关闭模式关闭窗口时结束程序setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);//设置窗体标题setTitle(石头迷阵单机版V1.0);//设置窗体永在最上层setAlwaysOnTop(true);//设置窗体居中setLocationRelativeTo(null);//设置取消默认布局setLayout(null);}/*** 初始化数据随机打乱石头*/public void initData() {Random r new Random();//1、遍历二维数组获取每一个元素for (int i 0; i data.length; i) {for (int j 0; j data[i].length; j) {//2、随机获取 (x坐, y坐标)找到其中一个数int x r.nextInt(4);//x坐标int y r.nextInt(4);//y坐标//3、将当前遍历到的元素和随机获取到的元素做交换int temp data[i][j];data[i][j] data[x][y];data[x][y] temp;}}//寻找0号元素的位置lo:for (int i 0; i data.length; i) {for (int j 0; j data[i].length; j) {if (data[i][j] 0) {row i;col j;break lo;}}}}/*** 此方法用于绘制游戏的界面*/public void paintView() {//每次绘制之前都清空之前绘制的界面super.getContentPane().removeAll();//加载胜利图片资源添加到窗体中if (victory()){JLabel victoryJl new JLabel(new ImageIcon(C:\\Users\\MSZ\\Desktop\\java_test\\dev\\image\\victory.jpg));victoryJl.setBounds(124, 230, 266, 100);getContentPane().add(victoryJl);}//加载重新开始按钮if (count 0){JButton jb new JButton(重新开始);jb.setBounds(350, 10, 100, 20);jb.setFocusable(false);//取消焦点jb.addActionListener(new AbstractAction() {Overridepublic void actionPerformed(ActionEvent e) {//统计步数归0count 0;//重新初始化数据initData();//重新绘制游戏界面paintView();}});getContentPane().add(jb);}//加载记录步数组件JLabel stepJl new JLabel(步数 count);stepJl.setBounds(50, 10, 100, 20);getContentPane().add(stepJl);for (int i 0; i 4; i) {for (int j 0; j 4; j) {JLabel jl new JLabel(new ImageIcon(C:\\Users\\MSZ\\Desktop\\java_test\\dev\\image\\ data[i][j] .jpg));//设置图片对象大小jl.setBounds(50 100 * j, 90 100 * i, 100, 100);//将图片对象塞进窗体getContentPane().add(jl);}}//加载背景图JLabel background new JLabel(new ImageIcon(C:\\Users\\MSZ\\Desktop\\java_test\\dev\\image\\background.jpg));//设置图片对象大小background.setBounds(26, 30, 450, 484);//将图片对象塞进窗体super.getContentPane().add(background);//刷新super.getContentPane().repaint();}/*** 按下键盘时出发事件** param e*/Overridepublic void keyPressed(KeyEvent e) {int keyCode e.getKeyCode();move(keyCode);//判断是否胜利victory();//每次移动之后都重新绘制游戏界面paintView();}/*** 此方法用于处理移动业务** param keyCode*/private void move(int keyCode) {//如果游戏胜利了则不允许操作if (victory()){return;}int temp data[row][col];//0号元素if (keyCode 37 col 3) { // System.out.println(左移动业务...);//左移动时空白块和右边的数做交换data[row][col] data[row][col 1];data[row][col 1] temp;//记录0号元素的列坐标也要随之改变col;count;} else if (keyCode 38 row 3) { // System.out.println(上移动业务...);//上移动时空白块和下边的数做交换data[row][col] data[row 1][col];data[row 1][col] temp;//记录0号元素的列坐标也要随之改变row;count;} else if (keyCode 39 col 0) { // System.out.println(右移动业务...);//右移动时空白块和左边的数做交换data[row][col] data[row][col - 1];data[row][col - 1] temp;//记录0号元素的列坐标也要随之改变col--;count;} else if (keyCode 40 row 0) { // System.out.println(下移动业务...);//下移动时空白块和上边的数做交换data[row][col] data[row - 1][col];data[row - 1][col] temp;//记录0号元素的列坐标也要随之改变row--;count;}else if (keyCode 90){//z键//触发作弊器data new int[][]{{1, 2, 3, 4},{5, 6, 7, 8},{9, 10, 11, 12},{13, 14, 15, 0}};count;} // System.out.println(row , col);}/*** 判断游戏是否胜利* return*/public boolean victory(){for (int i 0; i data.length; i) {for (int j 0; j data[i].length; j) {if(data[i][j] ! win[i][j]){return false;}}}//运行到这里表明游戏胜利了return true;}//-------------------------------------Overridepublic void keyTyped(KeyEvent e) {}Overridepublic void keyReleased(KeyEvent e) {}//------------------------------------- }界面图片已放在资源里可下载。
http://www.hkea.cn/news/14278939/

相关文章:

  • 运动类网站旅游网站论文摘要
  • 西安网站搜索引擎优化idc机房
  • 做网站笔记本2014免费做团购网站的软件好
  • 动漫制作和动漫设计哪个好seo赚钱吗
  • 张槎网站建设制作wordpress 更换ip
  • 河北住房和城乡建设厅网站首软件开发app的公司
  • 一些你不知道的网站网站实现功能
  • 怎样才可以知道网站是否优化网站建设内容保障工作个人总结
  • 知识产权教育网站建设百度创建网站吗
  • 网站开发设微网站O2O平台平台开发
  • 建设一个平台网站需要多少钱网页游戏排行榜 传奇
  • 做网站推广的销售发的朋友圈金湖县建设工程质量监督网站
  • 西安网站建设设计公司wordpress404页面更爱
  • 做网站需要注意的事项网页设计与制作教程内容
  • 网站资质证书曼联对利物浦新闻
  • 西宁做网站的公司力请君博d网站app程序制作企业
  • html5企业网站模板企业网站建设方案有那些
  • 如何做网站栏目规划江门市网站建设 熊掌号
  • 网站导航怎么设置搜索引擎优化是免费的吗
  • 网站为什么要续费中山企业网络推广方案
  • 做网站要不要用控件wordpress点击量设置
  • 龙华营销型网站建设公司国内广告设计
  • 本地建网站的详细步骤wordpress版本列表
  • 网站开发需要团队wordpress文章多密码
  • 长沙公司做网站找哪个公司好个人做网站的流程
  • 如何做内网站的宣传栏质感网站系统下载 锐狐
  • 行唐县网站建设公司西部数码网站管理助手2.0
  • 网站建设公司的江西锦宇建设集团有限公司网站
  • 做像58这种分类信息网站赚钱吗php网站开发的发展前景
  • 软件技术属于什么专业类别做网站需要找人优化吗