主頁 >  其他 > 【Java】 三國大亂斗部分代碼

【Java】 三國大亂斗部分代碼

2021-09-18 16:24:44 其他

【Java 三國大亂斗部分代碼】

  • 前言
  • 一、游戲最終實作效果是什么?
  • 二、游戲框架
  • 三、游戲代碼
    • 1.GameFrame類
    • 2.GamePanel類
    • 3.ImageUtil類
    • 4.LvBu類
    • 5.ZhaoYun類
    • 6.Music類


前言

提示:三國大亂斗支持鍵盤操控人物趙云對隨機移動的呂布進行攻擊,內設有血條,藍條,目前代碼等內容相關尚未完善,僅供參考,


一、游戲最終實作效果是什么?

在這里插入圖片描述

二、游戲框架

在這里插入圖片描述

在這里插入圖片描述

三、游戲代碼

1.GameFrame類

代碼如下():

package ui;

import java.awt.BorderLayout;
import java.awt.FileDialog;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.concurrent.TimeUnit;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTextArea;




/**
 * 
 * 自定義游戲表單類步驟
 * 1.寫一個類,繼承JFrame 在類名后面加extends JFrame
 * 2.寫一個構造方法,確定表單的特點
 */
public class GameFrame extends JFrame {
	
	
	static String filePath =null;//播放檔案路徑

	JButton btPause, btExit, btPlay, btLoop, btStop;

	JPanel panel;

	JMenuBar mb;

	JMenu menu;

	JMenuItem menuMi1,menuMi2;

	JTextArea textarea;
	
	//音樂播放的構造方法------------------------------------------------------
	public  GameFrame(){
		
		//正常構造方法(模具)
		//設定標題
		setTitle("三國大亂斗");//固定格式
				
		//設定大小
		setSize(1067,600);
				
		//設定位置居中顯示
		setLocationRelativeTo(null);
				
		// 設定關閉表單時關閉游戲-------------------------
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		

	}
	//---------------------------------------------------------------------
	
	
	/**
	 * Java程式入口
	 * @throws InterruptedException 
	 */
	public static void main(String[] args) throws InterruptedException {
		
		//創建游戲表單
		GameFrame frame = new GameFrame();
		
		//創建游戲面板
		GamePanel panel = new GamePanel(frame);
		
		//呼叫開始游戲的方法
		panel.action();
		
		//啟動鍵盤監聽器
		//panel.keyListener();
		
		//將面板加入到表單中
		frame.add(panel);
		
		//顯示表單(true:顯示 ,flase:隱藏)
		frame.setVisible(true);
		//GameFrame gf = new GameFrame();
		
		Music player = new Music("E:/kkkkk/三國戰紀/src/XiongDi.wav");   //創建音樂播放器
        
        player.start(true);//以開始以回圈的形式播放,player(false)為不回圈播放
        
        TimeUnit.SECONDS.sleep(5);
        
        player.stop();                        //暫停播放音頻
        
        TimeUnit.SECONDS.sleep(4);
        
        player.continues();                //繼續開始播放音頻
	}

}






2.GamePanel類

package ui;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.image.BufferedImage;
import java.util.Random;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTextArea;

/**
 * JAVA游戲面板類
 * 自定義游戲面板步驟:
 * 1.寫一個類,繼承JPanel
 * 2.寫一個構造方法,確定面板的特點
 */
public class GamePanel extends JPanel  {
	//定義背景圖片
	BufferedImage bg;
	
	//定義呂布圖片
	//BufferedImage lbImg;
	
	//呼叫模具,制作一個呂布
	LvBu lb = new LvBu();
	
	//呼叫模具,制作一個趙云
	ZhaoYun zy = new ZhaoYun();
	
	//定義一個表單
	GameFrame fr;
	
	
	//構造方法(模具)
	public GamePanel(GameFrame frame) {//使用模具時丟原料(表單)進去
		this.fr = frame;//賦值
		
		// 宣告一個用于放背景圖片的表單
		BufferedImage img;
		
		//呼叫讀取圖片的工具去讀取圖片
		bg = ImageUtil.getImg("/img/bg2.jpg");
		
		//讀取呂布圖片
		//lbImg = ImageUtil.getImg("/img/呂布L1.png");
		
		//設定背景
		//setBackground(Color.green);
		
		//啟動鍵盤監聽器
		keyListener();
	}
	
	
	//畫圖方法(先鍵盤輸入“paint”,按Alt+?鍵,直接回車,彈出以下代碼,非常方便)
	//Graphics g-->畫筆
	@Override
	public void paint(Graphics g) {
		// TODO Auto-generated method stub
		super.paint(g);
		
		//1.畫背景圖(圖片,橫坐標,縱坐標,寬度,高度,null<畫板>)
		g.drawImage(bg, 0, 0, null);
		
		//2.畫血條
		g.setColor(Color.red);
		g.fillRect(100, 0, 350, 30);//趙云
		g.fillRect(617, 0, 350, 30);//呂布
		
		//3.畫藍條
		g.setColor(Color.blue);
		g.fillRect(100, 32, 350, 15);//趙云
		g.fillRect(617, 32, 350, 15);//呂布
		
		//畫趙云呂布頭像
		g.drawImage(ImageUtil.getImg("/img/lvbu.png"), 970, 2, 90, 45, null);
		g.drawImage(ImageUtil.getImg("/img/zy.png"), 3, 2, 90, 45, null);
		
		//畫黃色VS
		g.setColor(Color.yellow);
		g.setFont(new Font("宋體", Font.BOLD, 50));
		g.drawString("VS", 505, 48);
		
		//2.畫呂布(如果在畫圖時不設定寬度和高度,則畫出來就是原圖的大小)
		//圖片,橫坐標,縱坐標,null
		g.drawImage(lb.img, lb.x, lb.y, null);//傳遞變數
		
		//3.畫趙云
		g.drawImage(zy.img, zy.x, zy.y, null);
		
	}
	
	//鍵盤監聽器(使用鍵盤控制趙云移動)
	public void keyListener() {
		/**
		 * 鍵盤監聽器使用步驟
		 * 	1.創建鍵盤配接器(類似于電腦鍵盤USB介面)
		 * 
		 */
		//1.創建鍵盤配接器(類似于電腦鍵盤USB介面)
		KeyAdapter adapter = new KeyAdapter() {
			//先輸入keyPressed,然后按Alt+?鍵就會出現下面的代碼
			
			//監聽鍵盤按下去的操作
			@Override
			public void keyPressed(KeyEvent e) {//KeyEvent:封裝鍵盤的時間
				// TODO Auto-generated method stub
				//當按下鍵盤按鍵時執行的代碼
				char c = e.getKeyChar();
				zy.ZhaoYun_Move_position();
				
				//可以先用它試System.out.println(c);
				if(c == 'a') {
					//趙云向左移動
					zy.x -= 10;//或者zy.x--;
					zy.ZhaoYun_Move_positio2();
					//控制趙云,右臨界點
					if(zy.x <= 0) {
						zy.x = 0;
					}
				}else if(c == 'd') {
					//趙云向右移動
					zy.x += 10;
					//控制趙云,右臨界點
					if(zy.x >= 1067 - zy.w) {
						zy.x = 1067 - zy.w;//界面寬度-趙云寬度
					}
				}else if(c == 'w') {
					//趙云向上移動
					zy.y -= 10;
					if(zy.y <= 0) {
						zy.y = 0;
					}
				}else if(c == 's') {
					//趙云向下移動
					zy.y += 10;
					if(zy.y >= 600 - zy.h) {
						zy.y = 600 - zy.h; 
					}
				}
				repaint();//重繪界面
			}
		};
		
		//2.將鍵盤配接器加入到監聽器中
		fr.addKeyListener(adapter);//只有把監聽器加到表單中才發揮作用
	}
	 //開始游戲的方法
	public void action() {
		//創建并啟動執行緒來控制呂布移動
		//創建啟動執行緒格式:
		/**
		 * new Thread(){
		 * 		public void run(){
		 * 			//需要執行緒干嘛就在這寫什么
		 * 		}
		 * }.start();
		 */
		new Thread() {
			
			public void run() {
				//呂布移動(一直移動)--->while回圈(不知道回圈次數——>死回圈)
				while(true) {
					lb.lb_Move();
					// 宣告一個亂數物件
					Random random = new Random();
					lb.dir = random.nextInt(9 + 1);
					//lb.x-= 5;//向左移動,數字越大移動越快,X坐標減小(到臨界點停止)
					if(lb.dir == 0) {
						//0向左
						lb.x -= 16;
						if(lb.x<=0) {
							//向左移動到邊界后改為向右
							lb.x =0;
							//lb.dir = 1;
						}
					}else if(lb.dir == 1) {
						lb.lb_Move2();
						//1向右
						lb.x += 16;
						if(lb.x >= 1067-lb.w) {
						//向右移動到邊界后改為向左
							lb.x = 1067-lb.w;
							//lb.dir = 0;
						}
						/**
						 * 隨機8個方向移動(0,8)代表8個方向,控制呂布反彈
						 */
					}else if(lb.dir ==2) {
						//2向上
						lb.y -=16;
						if(lb.y<=0) {
							lb.y = 0;
							//lb.dir = 3;
						}
					}else if(lb.dir ==3) {
						//3向下
						lb.y += 16;
						if(lb.y >= 600 - lb.h) {
							lb.y = 600 - lb.h;
							//lb.dir = 2;
						}
						//4左上
					}else if (lb.dir == 4) {
						lb.x -= 16;
						lb.y -= 16;
						// 5左下
					} else if (lb.dir == 5) {
						lb.x -= 16;
						lb.y += 16;
						//6右上
					} else if (lb.dir == 6) {
						lb.x += 16;
						lb.y -= 16;
						//7右下
					} else if (lb.dir == 7) {

						lb.x += 16;
						lb.y += 16;
					} else if (lb.dir == 8) {
						lb.lb_Move3();

					} else if (lb.dir == 9) {
						lb.lb_Move4();
					}
					
					//執行緒休眠(讓呂布移動一次停一次)
					try {//試著休眠160毫秒
						Thread.sleep(160);//改變移動速度
						//重新呼叫paint方法將呂布繪制到新的位置上
						repaint();
					} catch (InterruptedException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
					
			}
		}.start();
	}
	
}

3.ImageUtil類

package ui;

import java.awt.image.BufferedImage;
import java.io.IOException;

import javax.imageio.ImageIO;

/**
 * 讀取圖片的工具類
 * @author gf5971
 *
 */
public class ImageUtil {
	/**
	 * 根據圖片路經讀取圖片
	 * @param path
	 * @return
	 */
	//將圖片路經摻入該方法,自動讀取圖片
	public static BufferedImage getImg(String path) {
		//加載圖片
		try {
			//嘗試拿著地址去找圖片
			BufferedImage img = ImageIO.read(ImageUtil.class.getResource(path));
			//找到了,就將圖片回傳
			return img;
		} catch (IOException e) {
			// TODO Auto-generated catch block
			//找不到,輸出找不到的原因
			e.printStackTrace();
		}
		return null;
	}
}

4.LvBu類

package ui;

import java.awt.image.BufferedImage;
import java.util.ArrayList;
import java.util.List;

//呂布類

public class LvBu {
	BufferedImage img;//呂布圖片
	int x;//呂布橫坐標
	int y;//呂布縱坐標
	int w;//呂布寬度
	int h;//呂布高度
	List<BufferedImage> list, list2, list3, list4;//呂布動作---------
	int dir=0;//呂布移動的方向(<0:向左> <1:向右> <2:向上 > <3:向下>)
	
	//構造方法
	public LvBu() {
		//讀取呂布圖片
		img = ImageUtil.getImg("/img/呂布L1.png");
		
		//規定游戲開始時呂布顯示的位置
		x = 600;
		y = 200;
		
		//規定呂布顯示的大小
		w = img.getWidth();//獲取原圖寬度
		h = img.getHeight();
		
		list = new ArrayList<BufferedImage>();
		for (int i = 1; i <= 7; i++) {
			list.add(ImageUtil.getImg("/img/呂布L" + i + ".png"));

		}
		list2 = new ArrayList<BufferedImage>();
		for (int i = 1; i <= 8; i++) {
			list2.add(ImageUtil.getImg("/img/呂布" + i + ".png"));

		}
		list3 = new ArrayList<BufferedImage>();
		for (int i = 0; i <= 5; i++) {
			list3.add(ImageUtil.getImg("/img/a1-L" + i + ".png"));

		}
		list4 = new ArrayList<BufferedImage>();
		for (int i = 0; i < +5; i++) {
			list4.add(ImageUtil.getImg("/img/a1-R" + i + ".png"));
		}
	}
		//游戲開始,讓呂布向左移動
		

		// 呂布動起來
		public void lb_Move() {
			if (dir >= 7) {
				dir = 1;
			}
			img = list.get(dir);
			dir++;
		}

		// 呂布向后動起來
		public void lb_Move2() {
			if (dir >= 8) {
				dir = 1;
			}
			img = list2.get(dir);
			dir++;
		}

		// 呂布向前攻擊
		public void lb_Move3() {
			if (dir >= 5) {
				dir = 0;
			}
			img = list3.get(dir);
			dir++;
		}

		// 呂布向后攻擊
		public void lb_Move4() {
			if (dir >= 5) {
				dir = 0;
			}
			img = list4.get(dir);
			dir++;
		}

		// 呂布攻擊趙云
		public void AttackZy(ZhaoYun heroZy) {
			if (x - heroZy.x + w <= heroZy.w + w || heroZy.x - x + heroZy.w <= heroZy.w + w
					|| heroZy.x >= x && heroZy.x <= x + w) {
				// 最大值heroZy.w+w
				// 最小值w

				heroZy.x -= 20;
				System.out.println("1");
				}
		}
	}


5.ZhaoYun類

package ui;

import java.awt.image.BufferedImage;
import java.util.ArrayList;
import java.util.List;

//趙云類

public class ZhaoYun {
	BufferedImage img;//趙云圖片
	int x;//趙云橫坐標
	int y;//趙云縱坐標
	int w;//趙云寬度
	int h;//趙云高度
	List<BufferedImage> list,list2;//趙云前進陣列
	
	//構造方法(生產趙云的模具)
	public ZhaoYun() {
		//確定趙云的樣子
		img = ImageUtil.getImg("/img/right-0.png");
		
		//確定趙云游戲開始位置
		x = 150;
		y = 200;
		
		//確定趙云大小
		w = img.getWidth();
		h = img.getHeight();
		
		list = new ArrayList<BufferedImage>();
		for (int i = 0; i < 8; i++) {
			list.add(ImageUtil.getImg("/img/right-" + i + ".png"));
		}
		list2 = new ArrayList<>();
		for (int i = 0; i < 8; i++) {
			list2.add(ImageUtil.getImg("/img/left-" + i + ".png"));
		}
	}
	
	// 趙云向前移動
		int dir = 0;

		public void ZhaoYun_Move_position() {
			if (dir == 7) {
				dir = 0;
			}
			img = list.get(dir);
			dir++;

		}

		// 趙云向后移動
		public void ZhaoYun_Move_positio2() {
			if (dir == 7) {
				dir = 0;
			}
			img = list2.get(dir);
			dir++;
		}
}

6.Music類

package ui;

/**
* 
* Description: 簡易音頻播放器(只支持AU,RA,WAV)
* 			   在不使用JMF的情況下快速實作音頻播放
*/
import javax.sound.sampled.*;
import java.io.*;
import java.util.concurrent.TimeUnit;
 
public class Music {
	private String musicPath; //音頻檔案
	private volatile boolean run = true;  //記錄音頻是否播放
	private Thread mainThread;   //播放音頻的任務執行緒
	
	private AudioInputStream audioStream;
	private AudioFormat audioFormat;
	private SourceDataLine sourceDataLine;
	
	public Music(String musicPath) {
		this.musicPath = musicPath;
		prefetch();
	}
	
	//資料準備
	private void prefetch(){
		try{
		//獲取音頻輸入流
	    audioStream = AudioSystem.getAudioInputStream(new File(musicPath));
		//獲取音頻的編碼物件
		audioFormat = audioStream.getFormat();
		//包裝音頻資訊
		DataLine.Info dataLineInfo = new DataLine.Info(SourceDataLine.class,
				audioFormat,AudioSystem.NOT_SPECIFIED);
		//使用包裝音頻資訊后的Info類創建源資料行,充當混頻器的源
		sourceDataLine = (SourceDataLine)AudioSystem.getLine(dataLineInfo);
		
		sourceDataLine.open(audioFormat);
		sourceDataLine.start();
		
		}catch(UnsupportedAudioFileException ex){
			ex.printStackTrace();
		}catch(LineUnavailableException ex){
			ex.printStackTrace();
		}catch(IOException ex){
			ex.printStackTrace();
		}
		
	}
	//解構式:關閉音頻讀取流和資料行
	protected void finalize() throws Throwable{
		super.finalize();
		sourceDataLine.drain();
		sourceDataLine.close();
		audioStream.close();
	}
	
	//播放音頻:通過loop引數設定是否回圈播放
	private void playMusic(boolean loop)throws InterruptedException {
		try{
				if(loop){
					while(true){
						playMusic();
					}
				}else{
					playMusic();
					//清空資料行并關閉
					sourceDataLine.drain();
					sourceDataLine.close();
					audioStream.close();
				}
			
		}catch(IOException ex){
			ex.printStackTrace();
		}
		
		
	}
	private void playMusic(){
		try{
			synchronized(this){
				run = true;
			}
			//通過資料行讀取音頻資料流,發送到混音器;
			//資料流傳輸程序:AudioInputStream -> SourceDataLine;
			audioStream = AudioSystem.getAudioInputStream(new File(musicPath));
			int count;
			byte tempBuff[] = new byte[1024];
			
				while((count = audioStream.read(tempBuff,0,tempBuff.length)) != -1){
					synchronized(this){
					while(!run)
						wait();
					}
					sourceDataLine.write(tempBuff,0,count);
							
			}
 
		}catch(UnsupportedAudioFileException ex){
			ex.printStackTrace();
		}catch(IOException ex){
			ex.printStackTrace();
		}catch(InterruptedException ex){
			ex.printStackTrace();
		}
		
	}
	
	
	//暫停播放音頻
	private void stopMusic(){
		synchronized(this){
			run = false;
			notifyAll();
		}
	}
	//繼續播放音樂
	private void continueMusic(){
		synchronized(this){
			 run = true;
			 notifyAll();
		}
	}
	
	
	//外部呼叫控制方法:生成音頻主執行緒;
	public void start(boolean loop){
		mainThread = new Thread(new Runnable(){
			public void run(){
				try {
					playMusic(loop);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
			}
		});
		mainThread.start();
	}
	
	//外部呼叫控制方法:暫停音頻執行緒
	public void stop(){
		new Thread(new Runnable(){
			public void run(){
				stopMusic();
				
			}
		}).start();
	}
	//外部呼叫控制方法:繼續音頻執行緒
	public void continues(){
		new Thread(new Runnable(){
			public void run(){
				continueMusic();
			}
		}).start();
	}

 }


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/301123.html

標籤:其他

上一篇:決議C++中std::ref

下一篇:【小Y學演算法】??每日LeetCode打卡??——35. 買賣股票的最佳時機

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more