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

手游制作软件百度搜索网站优化

手游制作软件,百度搜索网站优化,中小企业网站设计,无锡百姓网推广代理商前言 此实现较为简陋,如有错误请指正。 其次代码中的图片需要自行添加地址并修改。 主类 public class Main {public static void main(String[] args) {new myGame();} }游戏类 import javax.swing.*; import java.awt.event.KeyEvent; import java.awt.event.…

前言

此实现较为简陋,如有错误请指正。
其次代码中的图片需要自行添加地址并修改。

主类

public class Main {public static void main(String[] args) {new myGame();}
}

游戏类

import javax.swing.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.*;
import java.util.Timer;public class myGame extends JFrame implements KeyListener {private int[] foodPos; // 食物位置坐标private List<int[]> coordinateS;    // 总地址private int score = 0;   // 玩家得分private Random random;private final String cell = "img/cell.png";  //格子地址private int keyCode = -1;public myGame() {random = new Random();foodPos = new int[]{-1, -1};   // 初始化为-1// 创建一个定时器Timer gameTimer = new Timer();// 设置定时器gameTimer.schedule(new timer(), 0, 200);InitCoordinate();   // 初始化格子地址InitJFrame();       // 初始化窗体LoadPicture();      // 加载图片}// 初始化地址private void InitCoordinate() {coordinateS = new ArrayList<>();coordinateS.add(new int[]{200, 200});coordinateS.add(new int[]{200, 200});this.getContentPane().removeAll();  // 清空图片显示}// 加载图片public void LoadPicture() {this.getContentPane().removeAll();  // 清空图片显示// 目前得分展示JLabel scoreTips = new JLabel("目前得分:" + score);scoreTips.setBounds(500, 10, 100, 20);this.getContentPane().add(scoreTips);// 提示JLabel Tips = new JLabel("<html> 按下任意方向键 <br><br> 即开始游戏 </html>");Tips.setBounds(500, 100, 100, 60);Tips.setVerticalTextPosition(1);this.getContentPane().add(Tips);// 上for (int i = 0, x = 0; i < 25; i++, x += 20) {JLabel upImg = new JLabel(new ImageIcon(cell));  // 获取图片对象upImg.setBounds(x, 0, 20, 20); // 设置图片位置与宽高this.getContentPane().add(upImg);       // 将图片添加到窗口中}// 左for (int i = 0, y = 20; i < 21; i++, y += 20) {JLabel upImg = new JLabel(new ImageIcon(cell));  // 获取图片对象upImg.setBounds(0, y, 20, 20); // 设置图片位置与宽高this.getContentPane().add(upImg);       // 将图片添加到窗口中}//右for (int i = 0, y = 20; i < 21; i++, y += 20) {JLabel upImg = new JLabel(new ImageIcon(cell));  // 获取图片对象upImg.setBounds(480, y, 20, 20); // 设置图片位置与宽高this.getContentPane().add(upImg);       // 将图片添加到窗口中}// 下for (int i = 0, x = 0; i < 25; i++, x += 20) {JLabel upImg = new JLabel(new ImageIcon(cell));  // 获取图片对象upImg.setBounds(x, 440, 20, 20); // 设置图片位置与宽高this.getContentPane().add(upImg);       // 将图片添加到窗口中}// 显示 “ 蛇 ”for (int i = 0, n = coordinateS.size(); i < n; ++i) {int[] data = coordinateS.get(i);JLabel CellImg = new JLabel(new ImageIcon(cell));  // 获取图片对象CellImg.setBounds(data[0], data[1], 10, 10); // 设置图片位置与宽高this.getContentPane().add(CellImg);       // 将图片添加到窗口中}// 设置 “ 食物 ” 位置if (foodPos[0] != -1 && foodPos[1] != -1) {JLabel TargetImg = new JLabel(new ImageIcon("img/targetCell.png"));  // 获取图片对象TargetImg.setBounds(foodPos[0], foodPos[1], 10, 10); // 设置图片位置与宽高this.getContentPane().add(TargetImg);       // 将图片添加到窗口中}this.getContentPane().repaint();    // 刷新窗口显示}// 初始化窗体private void InitJFrame() {this.setSize(620, 507);  // 设置大小this.setAlwaysOnTop(true);          // 顶层显示方法this.setLocationRelativeTo(null);   // 将窗口位置设置为屏幕中心this.addKeyListener(this);      // 为窗口设置键盘监听this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);  //设置关闭模式this.setVisible(true);            //设置为显示}@Overridepublic void keyTyped(KeyEvent e) {}     // 按键按下立即执行@Overridepublic void keyReleased(KeyEvent e) {}  // 按键被释放时生效/*按键被按下时执行*/@Overridepublic void keyPressed(KeyEvent e) {int code = e.getKeyCode();  // 获取刚才按下的按键if (!(code >= 37 && code <= 40)) { return; }    // 排除非方向键的操作this.keyCode = -1;  // 关闭定时器this.keyCode = Key_Detection(code); // 重新赋值}// 按键操作private int Key_Detection(int code) {// 获取当前位置坐标int[] curCoordinate = coordinateS.get(0);/* 上 */if (38 == code && curCoordinate[1] != 20) { curCoordinate[1] -= 10; }/* 下 */else if (40 == code && curCoordinate[1] != 430) { curCoordinate[1] += 10; }/* 左 */else if (37 == code && curCoordinate[0] != 20) { curCoordinate[0] -= 10; }/* 右 */else if (39 == code && curCoordinate[0] != 470) { curCoordinate[0] += 10; }else { gameOver(); }    // 撞墙了,游戏结束// 当方块与目标方块重合时if (curCoordinate[0] == foodPos[0] && curCoordinate[1] == foodPos[1]) {++score;foodPos[0] = -1;foodPos[1] = -1;// 尾部新增int[] tail = coordinateS.get(coordinateS.size() - 1);coordinateS.add(Arrays.copyOf(tail, tail.length));}if (foodPos[0] == -1 && foodPos[1] == -1) {int x = random.nextInt(420) + 20;int y = random.nextInt(400) + 20;foodPos[0] = x - (x % 10);foodPos[1] = y - (y % 10);}for (int i = 1, n = coordinateS.size(); i < n; i++) {int[] curPos = coordinateS.get(i);// 判断当前位置是否与身体格子重合if (curCoordinate[0] == curPos[0] && curCoordinate[1] == curPos[1]) {code = -1;gameOver();break;}}Refresh_coordinateS();LoadPicture();  //刷新图片return code;}// 游戏结束private void gameOver() {// 结束消息提醒JOptionPane.showMessageDialog(this, "游戏结束!\n 总计得分为:" + score + "分");score = 0;foodPos[0] = -1;foodPos[1] = -1;keyCode = -1;InitCoordinate();   // 初始化地址}// 刷新格子操作public void Refresh_coordinateS() {for (int i = coordinateS.size() - 1; i > 0; --i) {int[] cur = coordinateS.get(i);int[] pre = coordinateS.get(i - 1);cur[0] = pre[0];cur[1] = pre[1];}}// 定时器类class timer extends TimerTask {@Overridepublic void run() {if (keyCode == -1) {return;}Key_Detection(keyCode);}}}
http://www.tj-hxxt.cn/news/105258.html

相关文章:

  • 网站做管理后台需要知道什么焊工培训内容
  • 邯郸企业网站制作建设郑州seo建站
  • 关键字查询我的网站怎么做如何做互联网营销推广
  • 济南制作网站有哪些51网站统计
  • html5手机网站开发经验百度在线识图
  • 哈尔滨企业网站重庆seo服务
  • 建设网站需申请什么手续自己的网站怎么做seo
  • 东丽集团网站建设网络营销推广方案模板
  • 产品如何做网站推广百度电话客服24小时人工
  • 游戏网站平台创建app平台
  • 公司网站的后台关于进一步优化落实疫情防控措施
  • 专门做游戏攻略的网站搜索指数
  • 网站建设的好处爱站网综合查询
  • 南海建设工程交易中心网站重庆森林讲的什么内容
  • 如何看网站的版本号怎样有效的做网上宣传
  • 网站主机购买最好用的磁力搜索神器
  • 做网站算经商吗潜江seo
  • 做网站的工资宁波seo在线优化方案
  • 织梦印刷公司网站源码全媒体运营师培训费用
  • 那里做网站好网站seo基础优化
  • 深圳东门步行街东莞seo顾问
  • 渭南网站建设服务谷歌浏览器在线入口
  • 做网站开发赚钱吗seo网络推广技术
  • 自己建一个网站需要什么国内疫情最新消息
  • 如何降低网站相似度手机建网站软件
  • 建设银行四川分行 招聘网站哪里有正规的电商培训班
  • 保定网站制作排名需要多少钱黄冈网站推广软件视频下载
  • 做母婴网站怎样做一个产品营销方案
  • 哈尔滨可以做网站的公司seo推广有哪些公司
  • 怎么做网站管理系统百度首页网址