funcode(c++)--不一样的黄金矿工
苍茫大地一剑尽挽破,何处繁华笙歌落。斜倚云端千壶掩寂寞,纵使他人空笑我。
为什么不能上传资源???
悲催的我只能共享了?
下面代码请开始你的表演:
LessonX.cpp
/
//
//
//
//
/
#include <Stdio.h>
#include "CommonClass.h"
#include "LessonX.h"
#include<vector>
using namespace std;
CGameMain g_GameMain;
// 构造函数
CGameMain::CGameMain()
{m_fEmptyHookSpeed = 15.f;m_iGoldCount = 0;sum=0;t1=0;t2=0;t3=0;m_iGoldBornMinX = 0;m_iGoldBornMaxX = 0;m_iGoldBornMinY = 0;m_iGoldBornMaxY = 0;m_iGetGoldState=0;m_fHookRotation=0.f;m_iHookRotToLeft=1;m_fHookStartPosX=0.f;m_fHookStartPosY=0.f;m_iInitedHookPos=0;m_pGoldenTemplate = new CSprite("GoldTemplate");m_pGameBegin = new CSprite("GameBegin");m_count = new CTextSprite("count");m_score = new CTextSprite("score");m_time = new CTextSprite("time");m_pGoldenHook=new CSprite("GoldHook");m_pGoldenMan=new CAnimateSprite("GoldMan");m_voice=new CSound("mztknz.wav",true,1.f);m_voice=new CSound("BLIP.wav",true,1.f);mcp =new CSprite("mcp");// 重设钩子从0度、由右往左自动旋转
}
//析构函数
CGameMain::~CGameMain()
{m_voice->StopSound();
}
// 游戏主循环,此函数将被不停的调用,引擎每刷新一次屏幕,此函数即被调用一次
// 用以处理游戏的开始、进行中、结束等各种状态.
// 函数参数fDeltaTime : 上次调用本函数到此次调用本函数的时间间隔,单位:秒
void CGameMain::GameMainLoop( float fDeltaTime )
{switch( GetGameState() ){// 初始化游戏,清空上一局相关数据case 1:{GameInit();SetGameState(2); // 初始化之后,将游戏状态设置为进行中}break;// 游戏进行中,处理各种游戏逻辑case 2:{// TODO 修改此处游戏循环条件,完成正确游戏逻辑if(m_iGoldCount>0){GameRun( fDeltaTime );}else // 游戏结束。调用游戏结算函数,并把游戏状态修改为结束状态{SetGameState(0);GameEnd();}}break;// 游戏结束/等待按空格键开始case 0:default:break;};DrawHookLine();
}
// 每局开始前进行初始化,清空上一局相关数据
void CGameMain::GameInit()
{m_iGoldCount=18;m_fHookRotation = 0.f;m_iHookRotToLeft = 1;// 初始化抓取状态m_iGetGoldState = 0;// 以下变量只需要初始化一次。m_iInitedHookPos = 0;sum=1;if( 0 == m_iInitedHookPos ){//钩子可以发出碰撞m_pGoldenHook->SetSpriteCollisionSend(true);//金子可以接收碰撞m_pGoldenTemplate->SetSpriteCollisionReceive(true);mcp->SetSpriteCollisionReceive(true);m_iGoldBornMinX = CSystem::GetScreenLeft() + 5;m_iGoldBornMaxX = CSystem::GetScreenRight() - 5;m_iGoldBornMinY = CSystem::GetScreenTop() + 20;m_iGoldBornMaxY = CSystem::GetScreenBottom() - 5;m_iInitedHookPos = 1;// 钩子初始位置值初始化m_fHookStartPosX = m_pGoldenHook->GetSpritePositionX();m_fHookStartPosY = m_pGoldenHook->GetSpritePositionY();//钩子的世界边界初始化m_pGoldenHook->SetSpriteWorldLimit(WORLD_LIMIT_NULL,CSystem::GetScreenLeft(),CSystem::GetScreenTop(),CSystem::GetScreenRight(),CSystem::GetScreenBottom());m_pGoldenMan->AnimateSpritePlayAnimation("GolderManAnimation2", 0);}int iLoop = 0;// const char *szName = new char[15];int iSize = 4, iPosX = 0, iPosY = 0;for( iLoop = 0; iLoop < m_iGoldCount; iLoop++ ){if( iLoop < 10 )iSize = 4;else if( iLoop >= 10 && iLoop < 16 )iSize = 6;elseiSize = 8;// 初始化金子精灵实例char* tmpBlock;tmpBlock=CSystem::MakeSpriteName("GoldBlock",iLoop);CSprite *tmpGlodenBlock=new CSprite(tmpBlock);tmpGlodenBlock->CloneSprite("GoldTemplate");tmpGlodenBlock->SetSpriteWidth((float)iSize );tmpGlodenBlock->SetSpriteHeight((float)iSize);// 随机一个位置iPosX = CSystem::RandomRange(m_iGoldBornMinX, m_iGoldBornMaxX);iPosY = CSystem::RandomRange(m_iGoldBornMinY, m_iGoldBornMaxY);tmpGlodenBlock->SetSpritePosition((float)iPosX, (float)iPosY);m_vGoldenBlock.push_back(*tmpGlodenBlock);}char* tmpBlock1;tmpBlock1=CSystem::MakeSpriteName("mcp1",1);CSprite *tmpGlodenBlock1=new CSprite(tmpBlock1);tmpGlodenBlock1->CloneSprite("mcp");tmpGlodenBlock1->SetSpriteWidth(10);tmpGlodenBlock1->SetSpriteHeight(8); // 随机一个位置tmpGlodenBlock1->SetSpritePosition(-5, -10);m_vmyname.push_back(*tmpGlodenBlock1); // 播放挖金者的动作(恢复初始守候动作)m_pGoldenMan->AnimateSpritePlayAnimation("GolderManAnimation2", 0); // 隐藏游戏开始的提示m_pGameBegin->SetSpriteVisible(0);
}
// 每局游戏进行中
void CGameMain::GameRun( float fDeltaTime )
{int flag=0;if(flag==0){m_voice->GetName();m_voice->PlaySound();flag=1;}t3+=fDeltaTime;m_time->SetTextValue((int)t3);if( 0 == m_iGetGoldState ){const float fRotateSpeed = 100.f; // 摇摆速度,单位度/秒float fThisRotate = fRotateSpeed * fDeltaTime; // 本次旋转的度数if( m_iHookRotToLeft ){m_fHookRotation += fThisRotate;if( m_fHookRotation >= 180.f ){m_fHookRotation = 180.f;m_iHookRotToLeft = 0;}}else{m_fHookRotation -= fThisRotate;if( m_fHookRotation <= 0.f ){m_fHookRotation = 0.f;m_iHookRotToLeft = 1;}}m_pGoldenHook->SetSpriteRotation(m_fHookRotation);}else if( 2 == m_iGetGoldState || 3 == m_iGetGoldState ){// 判断是否移动到终点(判断的依据是XY方向的移动速度为0,即金子是否已经停止移动)float fSpeedX = m_pGoldenHook->GetSpriteLinearVelocityX();float fSpeedY = m_pGoldenHook->GetSpriteLinearVelocityY();// 当前速度不为0,还在运动中// 浮点数是否为0,不能直接判断 == != 0if( fSpeedX > 0.00001f || fSpeedX < -0.00001f || fSpeedY > 0.00001f || fSpeedY < -0.00001f )return;// 速度为0,钩子回到初始点,开始下一轮的抓取// 当前抓取到金子,将抓取到的金子释放并删除之。然后将金子数量减一if(3 == m_iGetGoldState&&stricmp(m_szCurGetGold,"GoldBlock")==1){t1++;CSprite *Glodennow=new CSprite(m_szCurGetGold);float gd=Glodennow->GetSpriteHeight();if(gd==4)t2+=10;if(gd==6)t2+=50;if(gd==8)t2+=100;m_score->SetTextValue(t2);m_count->SetTextValue(t1);m_iGoldCount--;GetCurGoldenSprite( m_szCurGetGold ).SpriteDismount();GetCurGoldenSprite( m_szCurGetGold ).DeleteSprite();}if(3 == m_iGetGoldState&&stricmp(m_szCurGetname,"mcp1")==1){sum--;GetCurGoldenSprite1( m_szCurGetname ).SpriteDismount();GetCurGoldenSprite1( m_szCurGetname ).DeleteSprite();}m_iGetGoldState = 0;m_pGoldenMan->AnimateSpritePlayAnimation("GolderManAnimation2", 0);}
}
void CGameMain::GameEnd()
{t1=0;t2=0;t3=0;m_pGameBegin->SetSpriteVisible(1);
}
// 键盘按下
// 参数 iKey:被按下的键,值见 enum KeyCodes 宏定义
// 参数 iAltPress, iShiftPress,iCtrlPress:键盘上的功能键Alt,Ctrl,Shift当前是否也处于按下状态(0未按下,1按下)
void CGameMain::OnKeyDown( const int iKey, const bool bAltPress, const bool bShiftPress, const bool bCtrlPress )
{if( KEY_SPACE == iKey && false == m_iGameState ){m_iGameState = true;m_pGameBegin->SetSpriteVisible(false);}else if( KEY_DOWN == iKey && 2 == m_iGameState && 0 == m_iGetGoldState ){// 设置抓取状态为:钩子往外伸m_iGetGoldState = 1;// 以当前朝向给钩子一个向前的速度m_pGoldenHook->SetSpriteLinearVelocityPolar(m_fEmptyHookSpeed, m_fHookRotation);// 播放挖金者的动作(一个胳膊往下压的动作)m_pGoldenMan->AnimateSpritePlayAnimation("GolderManAnimation1", 0);}
}
//获得绳子
void CGameMain::DrawHookLine()
{// 首先,从矿工精灵上获取一个缆绳链接点作为绳子的起始点(该链接点在编辑器里编辑好)float fStartX = m_pGoldenMan->GetSpriteLinkPointPosX(1);float fStartY = m_pGoldenMan->GetSpriteLinkPointPosY(1);// 绳子终点在钩子精灵上获取(该链接点在编辑器里编辑好)float fEndX = m_pGoldenHook->GetSpriteLinkPointPosX(1);float fEndY = m_pGoldenHook->GetSpriteLinkPointPosY(1);// 在这两点之间划线.线的颜色红绿蓝值都为50,即灰色CSystem::DrawLine( fStartX, fStartY, fEndX, fEndY, 2.f, 0, 50, 50, 50, 255 );
}
CSprite CGameMain::GetCurGoldenSprite(const char* goldenname)
{for(int i=0; i<m_vGoldenBlock.size(); i++)if(strcmp(goldenname,m_vGoldenBlock[i].GetName())==0)return m_vGoldenBlock[i];return NULL;
}
CSprite CGameMain::GetCurGoldenSprite1(const char* goldenname)
{for(int i=0; i<10; i++)if(strcmp(goldenname,m_vmyname[i].GetName())==0)return m_vmyname[i];return NULL;
}
// 精灵与世界边界碰撞
// 参数 szName:碰撞到边界的精灵名字
// 参数 iColSide:碰撞到的边界 0 左边,1 右边,2 上边,3 下边
void CGameMain::OnSpriteColWorldLimit( const char *szName, const int iColSide )
{// 判断是否是钩子碰到边界,往回收if( stricmp( szName, "GoldHook" ) == 0 ){// 设置抓取状态为:钩子往回收,未抓取到东西m_iGetGoldState = 2;// 钩子往初始位置移动m_pGoldenHook->SpriteMoveTo(m_fHookStartPosX, m_fHookStartPosY, m_fEmptyHookSpeed, 1);// 播放挖金者的动作(胳膊来回动的动作)m_pGoldenMan->AnimateSpritePlayAnimation("GolderManAnimation3", 0);}}
// 精灵与精灵碰撞
// 参数 szSrcName:发起碰撞的精灵名字
// 参数 szTarName:被碰撞的精灵名字
void CGameMain::OnSpriteColSprite( const char *szSrcName, const char *szTarName )
{if( 2 != m_iGameState || 1 != m_iGetGoldState )return;if( stricmp( "GoldHook", szSrcName ) != 0 && stricmp( "GoldHook", szTarName ) != 0 )return;// 找到哪个是金子的名字const char *szGoldName = NULL;if( strstr( szSrcName, "GoldBlock" ) )szGoldName = szSrcName;else if( strstr( szTarName, "GoldBlock" ) )szGoldName = szTarName;elsereturn;CSprite tmpSprite= GetCurGoldenSprite(szGoldName);tmpSprite.SpriteMountToSpriteLinkPoint("GoldHook",2);m_iGetGoldState = 3;strcpy( m_szCurGetGold, szGoldName );float fWidth;fWidth= GetCurGoldenSprite( szGoldName ).GetSpriteWidth();float fSpeed = ((10.f - fWidth) / 10.f) * m_fEmptyHookSpeed;// 钩子往初始位置移动m_pGoldenHook->SpriteMoveTo(m_fHookStartPosX, m_fHookStartPosY, fSpeed, 1);// 播放挖金者的动作(胳膊来回动的动作)m_pGoldenMan->AnimateSpritePlayAnimation("GolderManAnimation3", 0 );}
void CGameMain::OnSpriteColSprite1( const char szSrcName[], const char szTarName[] )
{if( 2 != m_iGameState || 1 != m_iGetGoldState ) return;if( stricmp( "goldHook", szSrcName ) != 0 && stricmp( "goldHook", szTarName ) != 0) return;const char *myName = NULL;if( strstr( szTarName, "mcp1" ) ) myName = szTarName;else if( strstr( szSrcName, "mcp1" ) ) myName = szSrcName;else return;CSprite tmpSprite1= GetCurGoldenSprite1(myName);tmpSprite1.SpriteMountToSpriteLinkPoint("goldHook",2);m_iGetGoldState = 3;strcpy( m_szCurGetname, myName );float fSpeed = 10;m_pGoldenHook->SpriteMoveTo(m_fHookStartPosX, m_fHookStartPosY, fSpeed, 1); // 播放挖金者的动作(胳膊来回动的动作)m_pGoldenMan->AnimateSpritePlayAnimation("GolderManAnimation3", 0 );
}
Main.cpp
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
#include "CommonClass.h"
#include "LessonX.h"
///
//
// 主函数入口
//
//
int PASCAL WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{// 初始化游戏引擎if( !CSystem::InitGameEngine( hInstance, lpCmdLine ) )return 0;// To do : 在此使用API更改窗口标题CSystem::SetWindowTitle("LessonX");// 引擎主循环,处理屏幕图像刷新等工作while( CSystem::EngineMainLoop() ){// 获取两次调用之间的时间差,传递给游戏逻辑处理float fTimeDelta = CSystem::GetTimeDelta();// 执行游戏主循环g_GameMain.GameMainLoop( fTimeDelta );};// 关闭游戏引擎CSystem::ShutdownGameEngine();return 0;
}//==========================================================================
//
// 引擎捕捉鼠标移动消息后,将调用到本函数
// 参数 fMouseX, fMouseY:为鼠标当前坐标
//
void CSystem::OnMouseMove( const float fMouseX, const float fMouseY )
{// 可以在此添加游戏需要的响应函数
// g_GameMain.OnMouseMove(fMouseX, fMouseY);
}
//==========================================================================
//
// 引擎捕捉鼠标点击消息后,将调用到本函数
// 参数 iMouseType:鼠标按键值,见 enum MouseTypes 定义
// 参数 fMouseX, fMouseY:为鼠标当前坐标
//
void CSystem::OnMouseClick( const int iMouseType, const float fMouseX, const float fMouseY )
{// 可以在此添加游戏需要的响应函数
// g_GameMain.OnMouseClick(iMouseType, fMouseX, fMouseY);
}
//==========================================================================
//
// 引擎捕捉鼠标弹起消息后,将调用到本函数
// 参数 iMouseType:鼠标按键值,见 enum MouseTypes 定义
// 参数 fMouseX, fMouseY:为鼠标当前坐标
//
void CSystem::OnMouseUp( const int iMouseType, const float fMouseX, const float fMouseY )
{// 可以在此添加游戏需要的响应函数//g_GameMain.OnMouseUp(iMouseType, fMouseX, fMouseY);
}
//==========================================================================
//
// 引擎捕捉键盘按下消息后,将调用到本函数
// 参数 iKey:被按下的键,值见 enum KeyCodes 宏定义
// 参数 iAltPress, iShiftPress,iCtrlPress:键盘上的功能键Alt,Ctrl,Shift当前是否也处于按下状态(0未按下,1按下)
//
void CSystem::OnKeyDown( const int iKey, const bool bAltPress, const bool bShiftPress, const bool bCtrlPress )
{// 可以在此添加游戏需要的响应函数g_GameMain.OnKeyDown(iKey, bAltPress, bShiftPress, bCtrlPress);
}
//==========================================================================
//
// 引擎捕捉键盘弹起消息后,将调用到本函数
// 参数 iKey:弹起的键,值见 enum KeyCodes 宏定义
//
void CSystem::OnKeyUp( const int iKey )
{// 可以在此添加游戏需要的响应函数
// g_GameMain.OnKeyUp(iKey);
}//===========================================================================
//
// 引擎捕捉到精灵与精灵碰撞之后,调用此函数
// 精灵之间要产生碰撞,必须在编辑器或者代码里设置精灵发送及接受碰撞
// 参数 szSrcName:发起碰撞的精灵名字
// 参数 szTarName:被碰撞的精灵名字
//
void CSystem::OnSpriteColSprite( const char *szSrcName, const char *szTarName )
{// 可以在此添加游戏需要的响应函数g_GameMain.OnSpriteColSprite(szSrcName, szTarName);g_GameMain.OnSpriteColSprite1(szSrcName,szTarName);
}//===========================================================================
//
// 引擎捕捉到精灵与世界边界碰撞之后,调用此函数.
// 精灵之间要产生碰撞,必须在编辑器或者代码里设置精灵的世界边界限制
// 参数 szName:碰撞到边界的精灵名字
// 参数 iColSide:碰撞到的边界 0 左边,1 右边,2 上边,3 下边
//
void CSystem::OnSpriteColWorldLimit( const char *szName, const int iColSide )
{// 可以在此添加游戏需要的响应函数g_GameMain.OnSpriteColWorldLimit(szName, iColSide);
}
LessonX.h
/
//
//
//
//
/
#ifndef _LESSON_X_H_
#define _LESSON_X_H_
//
#include <Windows.h>
#include<vector>
using namespace std;
// 游戏总管类。负责处理游戏主循环、游戏初始化、结束等工作
class CGameMain
{
private:vector<CSprite> m_vGoldenBlock; //金子精灵数组vector<CSprite> m_vmyname; //名字精灵数组CSprite* m_pGameBegin; //GameBegin精灵实例CSprite* m_pGoldenHook; //钩子精灵实例CTextSprite* m_count;//文字实例CTextSprite* m_score;//文字实例CTextSprite* m_time;//文字实例CTextSprite* m_zzr;//文字实例CTextSprite* m_xm;//文字实例CAnimateSprite* m_pGoldenMan;CSprite* mcp; //挖金人实CSprite* m_shuliang;CSprite* m_pGoldenTemplate; //默认绑定的金子精灵,用来创建其他金子CSound* m_voice;//声音CSound* m_voice1;//声音int sum;int m_iGameState; // 游戏状态,0:结束或者等待开始;1:初始化;2:游戏进行中int m_igoldCount;int t1,t2;float t3;int m_iGoldCount ;int m_iGoldBornMinX ;int m_iGoldBornMaxX ;int m_iGoldBornMinY ;int m_iGoldBornMaxY ;int m_iGetGoldState ;// 抓取金子状态:0 -- 等待按键开始抓金子;1 -- 钩子伸出去;2 -- 钩子往回伸,未抓到东西;3 -- 钩子往回伸,带着金子float m_fHookRotation; // 钩子当前转动的朝向int m_iHookRotToLeft; // 钩子当前是往左摆动还是往右摆动( 1 右-左, 0 左-右 )float m_fHookStartPosX; // 钩子初始位置。在刚开始的时候初始化一次,用于钩子复位float m_fHookStartPosY;int m_iInitedHookPos;char m_szCurGetGold[64]; // 当前抓取到的金子名字float m_fEmptyHookSpeed ; // 空的钩子的移动速度char m_szCurGetname[1];char sy;
public:CGameMain(); //构造函数~CGameMain(); //析构函数// Get方法int GetGameState(){return m_iGameState;}// Set方法void SetGameState( const int iState ){m_iGameState = iState;}void SetTextValue( int iValue );void GameMainLoop( float fDeltaTime );void GameInit();void GameRun( float fDeltaTime );void GameEnd();void OnKeyDown( const int iKey, const bool bAltPress, const bool bShiftPress, const bool bCtrlPress );void DrawHookLine();void OnMouseMove( const float fMouseX, const float fMouseY );void OnMouseClick( const int iMouseType, const float fMouseX, const float fMouseY );void OnMouseUp( const int iMouseType, const float fMouseX, const float fMouseY );void OnKeyUp( const int iKey );void OnSpriteColSprite( const char *szSrcName, const char *szTarName );void OnSpriteColWorldLimit( const char *szName, const int iColSide );CSprite GetCurGoldenSprite(const char* goldenname);//以下为自定义函数void OnSpriteColSprite1( const char szSrcName[], const char szTarName []);CSprite GetCurGoldenSprite1(const char* goldenname);
};
extern CGameMain g_GameMain;
#endif // _LESSON_X_H_
funcode(c++)--不一样的黄金矿工相关推荐
- funcode实验--黄金矿工(c++实现)
C++语言课程设计一黄金矿工 一.实验内容 玩家通过键盘的按键控制矿工抓取金块,将钩子碰触到的金块抓取过来. 要求如下: 1. 单机键盘上的空格键进入游戏,金块的总数是20,大小位置是随机的. 2. ...
- 黄金矿工游戏demo
试玩地址: http://www.adanghome.com/js_demo/13/ 请使用chrome.firefox或safari.ie的话,请大于ie8. 按空格键扔出钩子,按左右键控制矿工移 ...
- 2018级C语言大作业 - 黄金矿工
黄金矿工 C语言作业 分享18级同学大一上学期用C语言实现的黄金矿工.分步骤代码.图片音乐素材.可执行程序可从百度网盘下载: 链接:https://pan.baidu.com/s/1xCy1l2-7Q ...
- 【源码+教程】Java课设项目_12款最热最新Java游戏项目_Java游戏开发_Java小游戏_飞翔的小鸟_王者荣耀_超级玛丽_推箱子_黄金矿工_贪吃蛇
马上就要期末了,同学们课设做的如何了呢?本篇为大家带来了12款热门Java小游戏项目的源码和教程,助力大家顺利迎接暑假![源码+教程]Java课设项目_12款最热最新Java游戏项目_Java游戏开发 ...
- 你的记忆里有黄金矿工吗?
黄金矿工是大概是我初中时候玩的游戏吧,记忆中的样子是一群人围在一个电脑傍边,两人一组,输了就换下一组,虽然它不上现在游戏的丰富的游戏内容.但是就是让人欲罢不能,成为一款经典! Java游戏项目黄金矿工 ...
- 项目二 黄金矿工 1
黄金矿工 第一部分 1 绘制窗口 2 背景绘制 3 红线绘制 4 线的延长和收回 6 金块绘制 7 闪动问题解决 8 抓取判定与返回 9 添加多个金块 10 解决金块消失的bug 11 创建石块类 第 ...
- Java练手小游戏---黄金矿工
你玩过4399曾经最火的黄金矿工小游戏吗,黄金矿工小游戏是一款休闲娱乐的一个挖宝游戏,在游戏中地下会有许多的宝藏,你得想办法把它们都挖出来,作为矿工的你,对你来说是轻车熟路的,能不能挖到宝,看你抓取的 ...
- 【小游戏】2D游戏黄金矿工GoldMiner(关卡模式)
难度系数: ★★★☆☆ 游戏玩法: 黄金矿工,在恰当的时机点击屏幕放出钩子捡金块 项目简介: 功能完善,关卡模式,适合初中级练手学习 本文内容: 简单记录一下主要代码逻辑 转向机钩子的逻辑设定 1.钩 ...
- LeetCode:1219.黄金矿工(Java语言)
不要自卑,去提升实力 互联网行业谁技术牛谁是爹 如果文章可以带给你能量,那是最好的事!请相信自己 加油o~ 1219.黄金矿工 你要开发一座金矿,地质勘测学家已经探明了这座金矿中的资源分布,并用大小为 ...
最新文章
- 经验 | 深度学习优化背后的数学基础
- 关于ASP.NET MVC的一些工作中遇到的问题
- Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Find/undo事件)
- Python 字典dict操作定义
- Ubuntu12.04 配置JDK7
- 计算机做无线AP共享文件,Windows 7妙用 笔记本变无线AP轻松共享
- 「建议观看」史上超长,前端css晦涩难懂的点都在这啦
- 基于snowfall的玫瑰花瓣飘落效果
- android t9搜索算法,T9拨号盘搜索和排序算法
- 斐讯n1遥控器app(支持休眠和唤醒)——WiFi篇
- 搬家后计算机总重启,电脑老是开机后不久(几分钟)自动重启,重启一两遍后就可以正常运行...
- 非常详细的微信跳一跳“黑科技”脚本
- OpenCV + CPP 系列(卌二)图像特征匹配( KAZE/AKAZE)
- 定义符号常量pi.const float pi= 3.1415926f; 这句话是否正确
- M100自动吞吐式读写器读卡器在C#程序如何通过函数调用读取社保卡卡号
- mac如何卸载python2.7_mac python环境的安装与卸载
- 使用Spreadsheet导出表格时,设置样式
- Android P非SDK接口限制
- python自动化测试 | 接口自动化测试脚本如何写好?
- 苏宁易购总裁侯恩龙:让每一款新品都成爆款
热门文章
- 小程序富文本解析利器mp-html
- 阿里云基本概念与基础架构(一)
- 关于WirelessKey的一些说明
- 虚拟机VMware9上网设置
- android 2.2下载地址,Windows下载android2.2完整源码
- java获取计算机cpu利用率和内存使用信息
- 曾国藩秘而不宣,老实人有这3个软肋,再闷头苦干也不会被重用
- AI Security3-通用漏洞披露(CVE: Common Vulnerabilities and Exposures)
- openwrt编译固件流程
- foc 电流环解耦_永磁同步电机矢量控制的解耦及电流环的设计