当前位置: 首页> 教育> 培训 > 虚拟主机和云服务器的区别_天元建设集团有限公司审计项目_图片外链在线生成_如何做好市场推广

虚拟主机和云服务器的区别_天元建设集团有限公司审计项目_图片外链在线生成_如何做好市场推广

时间:2025/7/27 23:56:10来源:https://blog.csdn.net/m0_70587611/article/details/142769039 浏览次数:0次
虚拟主机和云服务器的区别_天元建设集团有限公司审计项目_图片外链在线生成_如何做好市场推广

文章目录

  • 前言
  • 1 项目介绍
    • 1.1 注册页面
    • 1.2 登录界面
    • 1.3 游戏主界面
      • 1.3.1 功能模块
      • 1.3.2 查看最终效果和作弊码
  • 2.项目实现
    • 2.1 验证码
    • 2.2 作弊码
  • 3 项目代码


前言

“千官望长安,万国拜含元”   — 崔立之《南至隔仗望含元殿香炉》

在这里插入图片描述

1 项目介绍

项目包括三个部分

  • 注册界面
  • 登录界面
  • 游戏界面

1.1 注册页面

1. 注册规则

  • 用户名,密码不能为空
  • 判断两次密码输入是否一致
  • 判断用户名和密码的格式是否正确
  • 判断用户名是否存在

2. 用户名和密码规则

  • 用户名:4-16位,只能大写字母,小写字母,数字
  • 密码:至少包含1个小写字母,1个数字,长度至少6位

在这里插入图片描述

1.2 登录界面

1. 登录规则

  • 判断用户名是否为空
  • 判断密码是否为空
  • 判断验证码是否为空

2. 默认登录用户名和密码

  • 用户名:admin
  • 密码:123456

在这里插入图片描述

1.3 游戏主界面

1.3.1 功能模块

功能模块主要包括:更换图片,重新游戏,重新登陆,关闭游戏,存档,读档,关于我们

  • 更换图片:图片有美女,动物,运动三种
  • 重新游戏:点击之后回到游戏初始状态
  • 重新登陆:点击后回退到登陆界面
  • 关闭游戏:点击之后关闭游戏并停止代码运行
  • 存档和读档:执行读档和存档操作
  • 关于我们:显示博主微信二维码,愿同诸君一道,共同学习,共同进步

1.3.2 查看最终效果和作弊码

  • 查看最终效果:快捷键A
  • 作弊码:快捷键W

在这里插入图片描述

在这里插入图片描述

2.项目实现

       由于拼图小游戏涉及知识比较多,本文仅提供验证码、作弊码功能。

2.1 验证码

1. 验证码规则

  • 长度为5
  • 由4位大写或者小写字母和1位数字组成,同一个字母可重复
  • 数字可以出现在任意位置
  • 比如:aQa1K

2. 代码演示

package com.itheima.util;import java.util.ArrayList;
import java.util.Random;/*** 生成验证码*/
public class CodeUtil {public static String getCode() {// 1.创建一个集合ArrayList<Character> list = new ArrayList<>();// 2.添加字母 a - z  A - Zfor (int i = 0; i < 26; i++) {list.add((char) ('a' + i));list.add((char) ('A' + i));}// 3.生成4个随机字母String result = "";Random r = new Random();for (int i = 0; i < 4; i++) {int randomIndex = r.nextInt(list.size());char c = list.get(randomIndex);result = result + c;}// 4.在后面拼接数字 0~9int number = r.nextInt(10);result = result + number;// 5.把字符串变成字符数组char[] chars = result.toCharArray();//[A,B,C,D,5]// 6.在字符数组中生成一个随机索引int index = r.nextInt(chars.length);// 7.拿着4索引上的数字,跟随机索引上的数字进行交换char temp = chars[4];chars[4] = chars[index];chars[index] = temp;// 8.把字符数组再变回字符串String code = new String(chars);return code;}
}

2.2 作弊码

1. 作弊码的作用

       按下作弊码后松开,即可一键通关

2. 实现步骤

  • 给整个界面添加键盘事件
  • 在GameJFrame类中的keyReleased()方法中书写松开的逻辑,当按下W的时候一键通关。

3. 代码演示

@Override
public void keyReleased(KeyEvent e) {// 1.判断游戏是否胜利,如果胜利,此方法需要直接结束,不能再执行下面的移动代码了if (victory()) {return;}// 2.对上,下,左,右进行判断(左:37 上:38 右:39 下:40)int code = e.getKeyCode();System.out.println(code);if (code == 37) {System.out.println("向左移动");if (y == 3) {return;}// 把空白方块右方的数字往左移动data[x][y] = data[x][y + 1];data[x][y + 1] = 0;y++;// 每移动一次,计数器就自增一次。step++;// 调用方法按照最新的数字加载图片initImage();} else if (code == 38) {System.out.println("向上移动");if (x == 3) {// 表示空白方块已经在最下方了,他的下面没有图片再能移动了return;}//逻辑:把空白方块下方的数字往上移动// x,y  表示空白方块// x + 1, y 表示空白方块下方的数字// 把空白方块下方的数字赋值给空白方块data[x][y] = data[x + 1][y];data[x + 1][y] = 0;x++;// 每移动一次,计数器就自增一次。step++;//调用方法按照最新的数字加载图片initImage();} else if (code == 39) {System.out.println("向右移动");if (y == 0) {return;}//逻辑:把空白方块左方的数字往右移动data[x][y] = data[x][y - 1];data[x][y - 1] = 0;y--;// 每移动一次,计数器就自增一次。step++;// 调用方法按照最新的数字加载图片initImage();} else if (code == 40) {System.out.println("向下移动");if (x == 0) {return;}// 逻辑:把空白方块上方的数字往下移动data[x][y] = data[x - 1][y];data[x - 1][y] = 0;x--;// 每移动一次,计数器就自增一次。step++;// 调用方法按照最新的数字加载图片initImage();} else if (code == 65) {initImage();} else if (code == 87) {data = new int[][]{{1, 2, 3, 4},{5, 6, 7, 8},{9, 10, 11, 12},{13, 14, 15, 0}};initImage();}
}

3 项目代码

       由于代码量比较大,所以放于gitee代码仓库,代码地址如下:
       https://gitee.com/poetize/puzzlegame

关键字:虚拟主机和云服务器的区别_天元建设集团有限公司审计项目_图片外链在线生成_如何做好市场推广

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: