版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
#defineSPACE0x20
#defineESC0x1b
#defineANT_CHAR_EMPTY'+'#defineANT_CHAR_FOOD153#defineHOME_CHAR'H'#defineFOOD_CHAR'F'#defineFOOD_CHAR2'f'
#defineFOOD_HOME_COLOR12
#defineBLOCK_CHAR177#defineMAX_ANT50
#defineINI_SPEED3
#defineMAXX80
#defineMAXY23
#defineMAX_FOOD10000#defineTARGET_FOOD200#defineMAX_SMELL5000#defineSMELL_DROP_RATE0.05#defineANT_ERROR_RATE0.02#defineANT_EYESHOT3
#defineSMELL_GONE_SPEED50#defineSMELL_GONE_RATE0.05#defineTRACE_REMEMBER50#defineMAX_BLOCK100
#defineNULL0
#defineUP1
#defineDOWN2
#defineLEFT3
#defineRIGHT4
#defineSMELL_TYPE_FOOD0#defineSMELL_TYPE_HOME1#include"stdio.h"
#include"conio.h"
#include"dos.h"
#include"stdlib.h"
#include"dos.h"
#include"process.h"
#include"ctype.h"
#include"math.h"
voidWorldInitial(void);voidBlockInitial(void);voidCreatBlock(void);
voidHomeFoodInitial(void);
voidAntInitial(void);
voidWorldChange(void);
voidAntMove(void);
voidAntOneStep(void);voidDealKey(charkey);
voidClearSmellDisp(void);
voidDispSmell(inttype);
intAntNextDir(intxxx,intyyy,intddir);
intGetMaxSmell(inttype,intxxx,intyyy,intddir);intIsTrace(intxxx,intyyy);
intMaxLocation(intnum1,intnum2,intnum3);
intCanGo(intxxx,intyyy,intddir);
intJudgeCanGo(intxxx,intyyy);
intTurnLeft(intddir);
intTurnRight(intddir);
intTurnBack(intddir);
intMainTimer(void);
charWaitForKey(intsecnum);voidDispPlayTime(void);
intTimeUse(void);voidHideCur(void);voidResetCur(void);
structHomeStruct
{
intxxx,yyy;
intamount;
intTargetFood;
}home;
structFoodStruct
{
intxxx,yyy;
intamount;
}food;
structAntStruct
{
intxxx,yyy;
intdir;
intspeed;
intSpeedTimer;
intfood;
intSmellAmount[2];
inttracex[TRACE_REMEMBER];
inttracey[TRACE_REMEMBER];intTracePtr;
intIQ;
}ant[MAX_ANT];
intAntNow;inttimer10ms;structtimestarttime,endtime;
intSmell[2][MAXX+1][MAXY+1];
intblock[MAXX+1][MAXY+1];
intSmellGoneTimer;
intSmellDispFlag;intCanFindFood;
intHardtoFindPath;
voidmain(void)
{
charKeyPress;inttu;
clrscr();HideCur();
WorldInitial();
do{
timer10ms=MainTimer();if(timer10ms)AntMove();if(timer10ms)WorldChange();
tu=TimeUse();if(tu>=60&&!CanFindFood)
{gotoxy(1,MAXY+1);printf("Cannotfindfood,maybeablockworld.");WaitForKey(10);
WorldInitial();
}if(tu>=180&&home.amount<100&&!HardtoFindPath)
{gotoxy(1,MAXY+1);printf("God!itissodifficulttofindapath.");if(WaitForKey(10)==0x0d)WorldInitial();else
{
");
HardtoFindPath=1;gotoxy(1,MAXY+1);printf("
if(home.amount>=home.TargetFood){
gettime(&endtime);KeyPress=WaitForKey(60);DispPlayTime();WaitForKey(10);WorldInitial();
}elseif(kbhit())
{KeyPress=getch();DealKey(KeyPress);
}elseKeyPress=NULL;
}while(KeyPress!=ESC);gettime(&endtime);DispPlayTime();WaitForKey(10);clrscr();
ResetCur();
}
intMainTimer(void)
{
staticintoldhund,oldsec;structtimet;
inttimeuse;gettime(&t);timeuse=0;if(t.ti_hund!=oldhund)
{if(t.ti_sec!=oldsec)
{timeuse+=100;oldsec=t.ti_sec;
}timeuse+=t.ti_hund-oldhund;oldhund=t.ti_hund;
}elsetimeuse=0;return(timeuse);
charWaitForKey(intsecnum)
{
intsecin,secnow;
intminin,minnow;
inthourin,hournow;
intsecuse;
structtimet;gettime(&t);secin=t.ti_sec;
minin=t.ti_min;
hourin=t.ti_hour;
do
{if(kbhit())return(getch());gettime(&t);
secnow=t.ti_sec;minnow=t.ti_min;hournow=t.ti_hour;
if(hournow!=hourin)minnow+=60;if(minnow>minin)secuse=(minnow-1-minin)+(secnow+60-secin);elsesecuse=secnow-secin;
if(secuse<0)
{gotoxy(1,MAXY+1);printf("Timeconutingerror,anykeytoexit...");getch();
exit(3);
}
}while(secuse<=secnum);return(NULL);
}
voidDispPlayTime(void)
{
intph,pm,ps;
ph=endtime.ti_hour-starttime.ti_hour;
pm=endtime.ti_min-starttime.ti_min;
ps=endtime.ti_sec-starttime.ti_sec;
if(ph<0)ph+=24;
if(pm<0){ph--;pm+=60;}if(ps<0){pm--;ps+=60;}gotoxy(1,MAXY+1);
printf("Timeuse:%dhour-%dmin-%dsec",ph,pm,ps);
intTimeUse(void)
{
intph,pm,ps;
gettime(&endtime);
ph=endtime.ti_hour-starttime.ti_hour;
pm=endtime.ti_min-starttime.ti_min;
ps=endtime.ti_sec-starttime.ti_sec;
if(ph<0)ph+=24;
if(pm<0){ph--;pm+=60;}if(ps<0){pm--;ps+=60;}return(ps+(60*(pm+60*ph)));
}
voidHideCur(void)
{
unionREGSregs0;regs0.h.ah=1;regs0.h.ch=0x30;regs0.h.cl=0x31;int86(0x10,®s0,®s0);
}
voidResetCur(void)
{
unionREGSregs0;
regs0.h.ah=1;regs0.h.ch=0x06;
regs0.h.cl=0x07;int86(0x10,®s0,®s0);
}
voidWorldInitial(void)
{
intk,i,j;
randomize();
clrscr();
HomeFoodInitial();for(AntNow=0;AntNow<MAX_ANT;AntNow++){
AntInitial();
};
BlockInitial();
for(k=0;k<=1;k++)
for(i=0;i<=MAXX;i++)
for(j=0;j<=MAXY;j++)
Smell[k][i][j]=0;
SmellGoneTimer=0;
gettime(&starttime);
SmellDispFlag=0;
CanFindFood=0;
HardtoFindPath=0;
}
voidBlockInitial(void)
{
inti,j;
intbn;
for(i=0;i<=MAXX;i++)
for(j=0;j<=MAXY;j++)
block[i][j]=0;
bn=1+MAX_BLOCK/2+random(MAX_BLOCK/2);
for(i=0;i<=bn;i++)CreatBlock();
}
voidCreatBlock(void)
{
intx1,y1,x2,y2;
intdx,dy;
inti,j;
x1=random(MAXX)+1;
y1=random(MAXY)+1;
dx=random(MAXX/10)+1;
dy=random(MAXY/10)+1;
x2=x1+dx;
y2=y1+dy;
if(x2>MAXX)x2=MAXX;
if(y2>MAXY)y2=MAXY;if(food.xxx>=x1&&food.xxx<=x2&&food.yyy>=y1&&food.yyy<=y2)return;if(home.xxx>=x1&&home.xxx<=x2&&home.yyy>=y1&&home.yyy<=y2)return;for(i=x1;i<=x2;i++)
for(j=y1;j<=y2;j++)
{
block[i][j]=1;
gotoxy(i,j);
putch(BLOCK_CHAR);
}
voidHomeFoodInitial(void)
{
intrandnum;
inthomeplace;
randnum=random(100);
if(randnum<25)homeplace=1;
elseif(randnum>=25&&randnum<50)homeplace=2;
elseif(randnum>=50&&randnum<75)homeplace=3;
elsehomeplace=4;
switch(homeplace)
{
case1:home.xxx=random(MAXX/3)+1;
home.yyy=random(MAXY/3)+1;
food.xxx=random(MAXX/3)+2*MAXX/3+1;
food.yyy=random(MAXY/3)+2*MAXY/3+1;
break;
case2:home.xxx=random(MAXX/3)+1;
home.yyy=random(MAXY/3)+2*MAXY/3+1;
food.xxx=random(MAXX/3)+2*MAXX/3+1;
food.yyy=random(MAXY/3)+1;
break;
case3:home.xxx=random(MAXX/3)+2*MAXX/3+1;
home.yyy=random(MAXY/3)+1;
food.xxx=random(MAXX/3)+1;
food.yyy=random(MAXY/3)+2*MAXY/3+1;
break;
case4:home.xxx=random(MAXX/3)+2*MAXX/3+1;
home.yyy=random(MAXY/3)+2*MAXY/3+1;
food.xxx=random(MAXX/3)+1;
food.yyy=random(MAXY/3)+1;
break;
}
food.amount=random(MAX_FOOD/3)+2*MAX_FOOD/3+1;
home.amount=0;
home.TargetFood=(food.amount<TARGET_FOOD)?food.amount:TARGET_FOOD;if(home.xxx<=0||home.xxx>MAXX||home.yyy<=0||home.yyy>MAXY||food.xxx<=0||food.xxx>MAXX||food.yyy<=0||food.yyy>MAXY||food.amount<=0)
{
gotoxy(1,MAXY+1);
printf("Worldinitialfail,anykeytoexit...");
getch();
exit(2);
gotoxy(home.xxx,home.yyy);putch(HOME_CHAR);gotoxy(food.xxx,food.yyy);putch(FOOD_CHAR);
}
voidAntInitial(void)
{
intrandnum;
inti;ant[AntNow].xxx=home.xxx;ant[AntNow].yyy=home.yyy;
randnum=random(100);if(randnum<25)ant[AntNow].dir=UP;
elseif(randnum>=25&&randnum<50)ant[AntNow].dir=DOWN;
elseif(randnum>=50&&randnum<75)ant[AntNow].dir=LEFT;elseant[AntNow].dir=RIGHT;
ant[AntNow].speed=2*(random(INI_SPEED/2)+1);ant[AntNow].SpeedTimer=0;
ant[AntNow].food=0;ant[AntNow].SmellAmount[SMELL_TYPE_FOOD]=0;ant[AntNow].SmellAmount[SMELL_TYPE_HOME]=MAX_SMELL;ant[AntNow].IQ=1;
for(i=0;i<TRACE_REMEMBER;i++)
{
ant[AntNow].tracex[i]=0;
ant[AntNow].tracey[i]=0;
}
ant[AntNow].TracePtr=0;
}
voidWorldChange(void)
{
intk,i,j;
intsmelldisp;
SmellGoneTimer+=timer10ms;if(SmellGoneTimer>=SMELL_GONE_SPEED){
SmellGoneTimer=0;for(k=0;k<=1;k++)
for(i=1;i<=MAXX;i++)for(j=1;j<=MAXY;j++)
{
if(Smell[k][i][j])
{
smelldisp1+((10*Smell[k][i][j])/(MAX_SMELL*SMELL_DROP_RATE));
if(smelldisp>=30000||smelldisp<0)smelldisp=30000;if(SmellDispFlag)
{gotoxy(i,j);
if((i==food.xxx&&j==food.yyy)||(i==home.xxx&&j==home.yyy));
else
{if(smelldisp>9)putch('#');elseputch(smelldisp+'0');
}
}
Smell[k][i][j]-=1+(Smell[k][i][j]*SMELL_GONE_RATE);if(Smell[k][i][j]<0)Smell[k][i][j]=0;
if(SmellDispFlag)
{if(Smell[k][i][j]<=2){
gotoxy(i,j);putch(SPACE);
}
}
}
}
}
}
voidAntMove(void)
{
intantx,anty;
intsmelltodrop,smellnow;for(AntNow=0;AntNow<MAX_ANT;AntNow++)
{ant[AntNow].SpeedTimer+=timer10ms;if(ant[AntNow].SpeedTimer>=ant[AntNow].speed)
{ant[AntNow].SpeedTimer=0;gotoxy(ant[AntNow].xxx,ant[AntNow].yyy);putch(SPACE);
AntOneStep();gotoxy(ant[AntNow].xxx,ant[AntNow].yyy);
if(ant[AntNow].food)putch(ANT_CHAR_FOOD);
elseputch(ANT_CHAR_EMPTY);ant[AntNow].tracex[ant[AntNow].TracePtr]=ant[AntNow].xxx;ant[AntNow].tracey[ant[AntNow].TracePtr]=ant[AntNow].yyy;if(++(ant[AntNow].TracePtr)>=TRACE_REMEMBER)ant[AntNow].TracePtr=0;antx=ant[AntNow].xxx;
anty=ant[AntNow].yyy;
if(ant[AntNow].food)
{if(ant[AntNow].SmellAmount[SMELL_TYPE_FOOD]){
smellnow=Smell[SMELL_TYPE_FOOD][antx][anty];smelltodrop=ant[AntNow].SmellAmount[SMELL_TYPE_FOOD]*SMELL_DROP_RATE;
if(smelltodrop>smellnow)Smell[SMELL_TYPE_FOOD][antx][anty]=smelltodrop;ant[AntNow].SmellAmount[SMELL_TYPE_FOOD]-=smelltodrop;if(ant[AntNow].SmellAmount[SMELL_TYPE_FOOD]<0)ant[AntNow].SmellAmount[SMELL_TYPE_FOOD]=0;
}
}
else
{if(ant[AntNow].SmellAmount[SMELL_TYPE_HOME]){
smellnow=Smell[SMELL_TYPE_HOME][antx][anty];smelltodrop=ant[AntNow].SmellAmount[SMELL_TYPE_HOME]*SMELL_DROP_RATE;
if(smelltodrop>smellnow)Smell[SMELL_TYPE_HOME][antx][anty]=smelltodrop;ant[AntNow].SmellAmount[SMELL_TYPE_HOME]-=smelltodrop;if(ant[AntNow].SmellAmount[SMELL_TYPE_HOME]<0)ant[AntNow].SmellAmount[SMELL_TYPE_HOME]=0;
}
}
}
}
textcolor(FOOD_HOME_COLOR);
gotoxy(home.xxx,home.yyy);putch(HOME_CHAR);
gotoxy(food.xxx,food.yyy);
if(food.amount>0)putch(FOOD_CHAR);
elseputch(FOOD_CHAR2);
textcolor(7);
gotoxy(1,MAXY+1);
printf("Food%d,Home%d",food.amount,home.amount);
voidAntOneStep(void)
{
intddir,tttx,ttty;
inti;
ddir=ant[AntNow].dir;
tttx=ant[AntNow].xxx;
ttty=ant[AntNow].yyy;
ddir=AntNextDir(tttx,ttty,ddir);switch(ddir)
{
caseUP: ttty--;
break;
caseDOWN:ttty++;
break;
caseLEFT:tttx--;
break;
caseRIGHT:tttx++;
break;
default:break;
}
ant[AntNow].dir=ddir;
ant[AntNow].xxx=tttx;ant[AntNow].yyy=ttty;
if(ant[AntNow].food)
{if(tttx==home.xxx&&ttty==home.yyy)
{home.amount++;AntInitial();
}if(tttx==food.xxx&&ttty==food.yyy)ant[AntNow].SmellAmount[SMELL_TYPE_FOOD]=MAX_SMELL;
}
else
{if(tttx==food.xxx&&ttty==food.yyy)
{if(food.amount>0)
{ant[AntNow].food=1;food.amount--;ant[AntNow].SmellAmount[SMELL_TYPE_FOOD]=MAX_SMELL;
ant[AntNow].SmellAmount[SMELL_TYPE_HOME]=0;ant[AntNow].dir=TurnBack(ant[AntNow].dir);for(i=0;i<TRACE_REMEMBER;i++)
{
ant[AntNow].tracex[i]=0;
ant[AntNow].tracey[i]=0;
}
ant[AntNow].TracePtr=0;
}
}
CanFindFood=1;
if(tttx==home.xxx&&ttty==home.yyy)ant[AntNow].SmellAmount[SMELL_TYPE_HOME]=MAX_SMELL;
}
}
voidDealKey(charkey)
{
inti;
switch(key)
{
case'p':
gettime(&endtime);
DispPlayTime();
getch();
gotoxy(1,MAXY+1);
for(i=1;i<=MAXX-1;i++)putch(SPACE);break;
case't':
if(SmellDispFlag)
{
SmellDispFlag=0;
ClearSmellDisp();
}
elseSmellDispFlag=1;break;
case'1':
DispSmell(SMELL_TYPE_FOOD);
getch();
ClearSmellDisp();
break;
case'2':
DispSmell(SMELL_TYPE_HOME);
getch();
ClearSmellDisp();
break;
case'3':
DispSmell(2);getch();
ClearSmellDisp();
break;
default:gotoxy(1,MAXY+1);for(i=1;i<=MAXX-1;i++)putch(SPACE);
}
}
voidClearSmellDisp(void)
{
intk,i,j;
for(k=0;k<=1;k++)for(i=1;i<=MAXX;i++)
for(j=1;j<=MAXY;j++){
if(Smell[k][i][j])
{gotoxy(i,j);putch(SPACE);
}}
}
voidDispSmell(inttype)
{
intk,i,j;
intfromk,tok;
intsmelldisp;switch(type)
{
case0:fromk=0;tok=0;break;
case1:fromk=1;tok=1;break;
case2:fromk=0;tok=1;break;
default:fromk=0;tok=1;break;
}SmellGoneTimer=0;
for(k=fromk;k<=tok;k++)
for(i=1;i<=MAXX;i++)for(j=1;j<=MAXY;j++)
{if(Smell[k][i][j]){
smelldisp=1+((10*Smell[k][i][j])/(MAX_SMELL*SMELL_DROP_RATE));if(smelldisp>=30000||smelldisp<0)smelldisp=30000;gotoxy(i,j);
if(i!=food.xxx||j!=food.yyy){
if((i==food.xxx&&j==food.yyy)||(i==home.xxx&&j==home.yyy));
else{
if(smelldisp>9)putch('#');
elseputch(smelldisp+'0');
}
}
}
}
}
intAntNextDir(intxxx,intyyy,intddir)
{
intrandnum;
inttestdir;
intCanGoState;
intcangof,cangol,cangor;
intmsf,msl,msr,maxms;
inttype;
CanGoState=CanGo(xxx,yyy,ddir);if(CanGoState==0||CanGoState==2||CanGoState==3||CanGoState==6)cangof=1;elsecangof=0;
if(CanGoState==0||CanGoState==1||CanGoState==3||CanGoState==5)cangol=1;elsecangol=0;
if(CanGoState==0||CanGoState==1||CanGoState==2||CanGoState==4)cangor=1;elsecangor=0;
if(ant[AntNow].food)type=SMELL_TYPE_HOME;
elsetype=SMELL_TYPE_FOOD;
msf=GetMaxSmell(type,xxx,yyy,ddir);
msl=GetMaxSmell(type,xxx,yyy,TurnLeft(ddir));
msr=GetMaxSmell(type,xxx,yyy,TurnRight(ddir));maxms=MaxLocation(msf,msl,msr);
testdir=NULL;switch(maxms)
case0:break;
case1:if(cangof)
testdir=ddir;
else
if(msl>msr)if(cangol)testdir=TurnLeft(ddir);elseif(cangor)testdir=TurnRight(ddir);break;
case2:if(cangol)
testdir=TurnLeft(ddir);
else
if(msf>msr)if(cangof)testdir=ddir;elseif(cangor)testdir=TurnRight(ddir);
break;
case3:if(cangor)
testdir=TurnRight(ddir);
else
if(msf>msl)if(cangof)testdir=ddir;elseif(cangol)testdir=TurnLeft(ddir);
break;default:break;
}
randnum=random(1000);
if(randnum<SMELL_DROP_RATE*1000||testdir==NULL)
{
randnum=random(100);switch(CanGoState){
case0:if(randnum<90)testdir=ddir;
elseif(randnum>=90&&randnum<95)testdir=TurnLeft(ddir);elsetestdir=TurnRight(ddir);
break;
case1:if(randnum<50)testdir=TurnLeft(ddir);
elsetestdir=TurnRight(ddir);break;
case2:if(randnum<90)testdir=ddir;elsetestdir=TurnRight(ddir);break;
case3:if(randnum<90)testdir=ddir;
elsetestdir=TurnLeft(ddir);break;
case4:testdir=TurnRight(ddir);
break;
case5:testdir=TurnLeft(ddir);
break;
case6:testdir=ddir;
break;
case7:testdir=TurnBack(ddir);
break;default:testdir=TurnBack(ddir);
}
}return(testdir);
}
intGetMaxSmell(inttype,intxxx,intyyy,intddir)
{
inti,j;
intms;
ms=0;
switch(ddir)
{
caseUP:for(i=xxx-ANT_EYESHOT;i<=xxx+ANT_EYESHOT;i++)for(j=yyy-ANT_EYESHOT;j<yyy;j++){
if(!JudgeCanGo(i,j))continue;if((i==food.xxx&&j==food.yyy&&type==SMELL_TYPE_FOOD)||
(i==home.xxx&&j==home.yyy&&type==SMELL_TYPE_HOME))
{
ms=MAX_SMELL;
break;
}if(IsTrace(i,j))continue;if(Smell[type][i][j]>ms)ms=Smell[type][i][j];
}
break;
caseDOWN:for(i=xxx-ANT_EYESHOT;i<=xxx+ANT_EYESHOT;i++)for(j=yyy+1;j<=yyy+ANT_EYESHOT;j++){
if(!JudgeCanGo(i,j))continue;if((i==food.xxx&&j==food.yyy&&type==SMELL_TYPE_FOOD)||(i==home.xxx&&j==home.yyy&&type==SMELL_TYPE_HOME))
{
ms=MAX_SMELL;
break;
}if(IsTrace(i,j))continue;if(Smell[type][i][j]>ms)ms=Smell[type][i][j];
break;
caseLEFT:for(i=xxx-ANT_EYESHOT;i<xxx;i++)for(j=yyy-ANT_EYESHOT;j<=yyy+ANT_EYESHOT;j++){
if(!JudgeCanGo(i,j))continue;if((i==food.xxx&&j==food.yyy&&type==SMELL_TYPE_FOOD)||(i==home.xxx&&j==home.yyy&&type==SMELL_TYPE_HOME))
{
ms=MAX_SMELL;
break;
}
if(IsTrace(i,j))continue;if(Smell[type][i][j]>ms)ms=Smell[type][i][j];
}break;
caseRIGHT:for(i=xxx+1;i<=xxx+ANT_EYESHOT;i++)for(j=yyy-ANT_EYESHOT;j<=yyy+ANT_EYESHOT;j++){
if(!JudgeCanGo(i,j))continue;if((i==food.xxx&&j==food.yyy&&type==SMELL_TYPE_FOOD)||(i==home.xxx&&j==home.yyy&&type==SMELL_TYPE_HOME))
{
ms=MAX_SMELL;
break;
}
if(IsTrace(i,j))continue;if(Smell[type][i][j]>ms)ms=Smell[type][i][j];
}
break;
default:break;
}
return(ms);
}
intIsTrace(intxxx,intyyy)
{
inti;for(i=0;i<TRACE_REMEMBER;i++)
if(ant[AntNow].tracex[i]==xxx&&ant[AntNow].tracey[i]==yyy)return(1);return(0);
}
intMaxLocation(intnum1,intnum2,intnum3){
intmaxnum;if(num1==0&&num2==0&&num3==0)return(0);maxn
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 理貨基礎(chǔ)知識培訓(xùn)課件
- 哮喘專業(yè)知識培訓(xùn)課件
- 加快發(fā)展我國現(xiàn)代流通業(yè)的經(jīng)濟分析
- 輕醫(yī)美面診知識培訓(xùn)課件
- 修車養(yǎng)護知識培訓(xùn)課件
- 臨床葡萄糖酸鈣藥物適應(yīng)癥、常規(guī)劑量、特殊人群用藥、不良反應(yīng)、禁忌癥及注意事項
- 四川省眉山市東坡區(qū)眉山育英實驗學(xué)校2024-2025學(xué)年高二上學(xué)期1月期末地理試題( 含答案)
- 消防知識內(nèi)部培訓(xùn)課件
- 全國浙教版信息技術(shù)高中選修3新授課 第三節(jié) 網(wǎng)絡(luò)中的信息載體、通信線路和連接設(shè)備 說課稿
- 二零二五年度分手協(xié)議情感恢復(fù)咨詢服務(wù)匯編2篇
- 舉辦活動的申請書范文
- 瑤醫(yī)目診圖-望面診病現(xiàn)用圖解-目診
- 2022年四級反射療法師考試題庫(含答案)
- 新《安全生產(chǎn)法》培訓(xùn)測試題
- 政務(wù)禮儀-PPT課件
- 特種涂料類型——耐核輻射涂料的研究
- 化工裝置常用英語詞匯對照
- 物資采購管理流程圖
- 無牙頜解剖標志
- 標準《大跨徑混凝土橋梁的試驗方法》
- 格拉斯哥昏迷評分(GCS)--表格-改良自用
評論
0/150
提交評論