C++俄羅斯方塊程序設(shè)計(jì)詳細(xì)說(shuō)明
《C++俄羅斯方塊程序設(shè)計(jì)詳細(xì)說(shuō)明》由會(huì)員分享,可在線閱讀,更多相關(guān)《C++俄羅斯方塊程序設(shè)計(jì)詳細(xì)說(shuō)明(34頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、該實(shí)驗(yàn)制作的是小游戲----俄羅斯方塊 1.可實(shí)現(xiàn)以下基本功能: 用戶可自定義添加或刪除方塊樣式及顏色; 用戶可自定義修改游戲背景顏色及按鍵設(shè)置。 2.另增加了幾個(gè)功能: 按鍵設(shè)置改變后點(diǎn)擊保存,會(huì)彈出對(duì)話框提示“保存成功” ; 點(diǎn)擊“開(kāi)始”運(yùn)行游戲,背景音樂(lè)自動(dòng)播放,點(diǎn)擊暫停后,背景音樂(lè)也隨之停止; 每消除一行,會(huì)有特效聲音提示消除成功; 根據(jù)消行多少會(huì)自動(dòng)加分并顯示。 游戲界面效果圖如下: 配置窗體效果圖如下: 磚塊樣式配置效果圖如下: 游戲設(shè)計(jì)分為如下九個(gè)部分:
2、一, 新建窗體“配置窗體”(TrmConfig) 添加TabControl控件 (1) 磚塊樣式配置 I.abel控件(lblMode) 點(diǎn)擊“事件”,選擇“Paint” Graphics gp=e.Graphics; gp.Clear(Color.Black); Pen p=new Pen(Color.White); for (int i=31;i<155;i=i+31) gp.DrawLine(p,1,i,155,i); for (int i=31;i<155;i=i+31) gp.DrawLine(p,i,1,i,155); SolidBrush s=new So
3、lidBrush(blockColor); for (int x=0;x<5;x++) { for(int y=0;y<5;y++) { if(struArr[x,y]) { gp.FillRectangle(s,31*x+1,31*y+1,30,30); } } } 點(diǎn)擊“事件”,選擇“MouseClick” private bool[,] struArr=new bool[5,5]; private Color blockColor=Color.Red; ----------------------------------------------------
4、---- if (e.Button!=MouseButtons.Left) return; int xPos,yPos; xPos=e.X/31; yPos=e.Y/31; struArr[xPos,yPos]=!struArr[xPos,yPos]; bool b=struArr[xPos,yPos]; Graphics gp=lblMode.CreateGraphics(); SolidBrush s=new SolidBrush(b ? blockColor:Color.Black); gp.FillRectangle(s,31*xPos+1,31*yPos+1,30
5、,30); gp.Dispose(); II.添加ColorDialog控件 添加label(lblColor)控件 點(diǎn)擊“事件”,選擇“click” colorDialog1.ShowDialog(); blockColor=colorDialog1.Color; lblColor.BackColor=colorDialog1.Color; lblMode.Invalidate(); III.添加listView控件(lsvBlockSet) 點(diǎn)擊“事件”,選擇“ItemSelectionChanged” if (e.IsSelected) { blockC
6、olor=Color.FromArgb(int.Parse(e.Item.SubItems[1].Text));
lblColor.BackColor=blockColor;
string s=e.Item.SubItems[0].Text;
for(int i=0;i 7、if(i)
{
isEmpty=true;
break;
}
}
if (!isEmpty)
{
MessageBox.Show("圖案為空,請(qǐng)先用鼠標(biāo)點(diǎn)擊左邊窗口繪制圖案!","提示窗口",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
return;
}
StringBuilder sb=new StringBuilder(25);
foreach (bool i in struArr)
{
sb.Append(i?"1":"0");
}
string blockString=sb.ToString 8、();
foreach(ListViewItem item in lsvBlockSet.Items)
{
if (item.SubItems[0].Text==blockString)
{
MessageBox.Show("該圖案已經(jīng)存在!","提示窗口",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
return;
}
}
ListViewItem myItem=new ListViewItem();
myItem=lsvBlockSet.Items.Add(blockString);
myItem.Sub 9、Items.Add(Convert.ToString(blockColor.ToArgb()));
V.“刪除”按鈕(btnDel)
if(lsvBlockSet.SelectedItems.Count==0)
{
MessageBox.Show("請(qǐng)?jiān)谟疫叴翱谶x擇一個(gè)條目進(jìn)行刪除!","提示窗口",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
return;
}
lsvBlockSet.Items.Remove(lsvBlockSet.SelectedItems[0]);
btnClear.PerformCli 10、ck();
VI.“清空”(btnClear)
for (int x=0;x<5;x++)
{
for(int y=0;y<5;y++)
{
struArr[x,y]=false;
}
}
lblMode.Invalidate();
VII.“修改”(btnUpdate)
if(lsvBlockSet.SelectedItems.Count==0)
{
MessageBox.Show("請(qǐng)?jiān)谟疫叴翱谶x擇一個(gè)條目進(jìn)行修改!","提示窗口",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
retur 11、n;
}
bool isEmpty=false;
foreach (bool i in struArr)
{
if(i)
{
isEmpty=true;
break;
}
}
if (!isEmpty)
{
MessageBox.Show("圖案為空,請(qǐng)先用鼠標(biāo)點(diǎn)擊左邊窗口繪制圖案再進(jìn)行修改!","提示窗口",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
return;
}
StringBuilder sb=new StringBuilder(25);
foreach (bool i in stru 12、Arr)
{
sb.Append(i?"1":"0");
}
lsvBlockSet.SelectedItems[0].SubItems[0].Text=sb.ToString();
lsvBlockSet.SelectedItems[0].SubItems[1].Text=Convert.ToString(blockColor.ToArgb());
(2) 參數(shù)配置
I.添加GroupBox1控件(gbKeySet)“鍵盤(pán)設(shè)置”
i.拖入六個(gè)label控件
ii.拖入六個(gè)TextBox控件(改名)
全部選中,選擇“事件”,選擇“KeyDown”
if((e 13、.KeyValue>=33 && e.KeyValue<=36)||(e.KeyValue>=45 && e.KeyValue<=46)||
(e.KeyValue>=48 && e.KeyValue<=57)||(e.KeyValue>=65 && e.KeyValue<=90)||
(e.KeyValue>=96 && e.KeyValue<=107)||(e.KeyValue>=109 && e.KeyValue<=111)||
(e.KeyValue>=186 && e.KeyValue<=192)||(e.KeyValue>=219 && e.KeyValue<=222))
14、{
foreach(Control c in gbKeySet.Controls)
{
Control TempC=c as TextBox;
if(TempC!=null &&((TextBox)TempC).Text!="")
{
if(((int)((TextBox)TempC).Tag)==e.KeyValue)
{
((TextBox)TempC).Text="";
((TextBox)TempC).Tag=Keys.None;
}
}
}
((TextBox)sender).Text=e.KeyCode.ToString();
((TextBox)sen 15、der).Tag=(Keys)e.KeyValue;
}
II.添加GroupBox2控件(gbEnvironmentSet)“環(huán)境設(shè)置”
i.拖入四個(gè)label控件
ii.拖入三個(gè)TextBox控件(改名)
一個(gè)label控件(lblBackColor)
選擇“事件”,選擇“click”
colorDialog1.ShowDialog();
lblBackColor.BackColor=colorDialog1.Color;
III.
i.參數(shù)初始化設(shè)置
為配置窗體的代碼窗口添加私有成員變量
private Config config=new Con 16、fig();
初始化
config.LoadFromXmlFile();
InfoArr info = config.Info;
ListViewItem myItem=new ListViewItem();
for(int i=0;i 17、tring();
txtDown.Tag=config.DownKey;
txtDrop.Text=((Keys)config.DropKey).ToString();
txtDrop.Tag=config.DropKey;
txtLeft.Text=((Keys)config.MoveLeftKey).ToString();
txtLeft.Tag=config.MoveLeftKey;
txtRight.Text=((Keys)config.MoveRightKey).ToString();
txtRight.Tag=config.MoveRightKey;
txtDeas 18、il.Text=((Keys)config.DeasilRotateKey).ToString();
txtDeasil.Tag=config.DeasilRotateKey;
txtContra.Text=((Keys)config.ContraRotateKey).ToString();
txtContra.Tag=config.ContraRotateKey;
txtCoorWidth.Text=config.CoorWidth.ToString();
txtCoorHeight.Text=config.CoorHeight.ToString();
txtRectPix. 19、Text=config.RectPix.ToString();
lblBackColor.BackColor=config.BackColor;
ii.保存更改
選擇“事件”,選擇“click”
保存用戶更改的設(shè)置
InfoArr info=new InfoArr();
foreach(ListViewItem item in lsvBlockSet.Items)
{
info.Add(item.SubItems[0].Text,item.SubItems[1].Text);
}
config.Info=info;
config.DownKey=(Keys)txtDo 20、wn.Tag;
config.DropKey=(Keys)txtDrop.Tag;
config.MoveLeftKey=(Keys)txtLeft.Tag;
config.MoveRightKey=(Keys)txtRight.Tag;
config.DeasilRotateKey=(Keys)txtDeasil.Tag;
config.ContraRotateKey=(Keys)txtContra.Tag;
config.CoorWidth=int.Parse(txtCoorWidth.Text);
config.CoorHeight=int.Parse(txtCoorHei 21、ght.Text);
config.RectPix=int.Parse(txtRectPix.Text);
config.BackColor=lblBackColor.BackColor;
config.SaveToXmlFile();
二, 信息保存
解決方案中添加BlockSet.Xml文件
22、0000000000
23、000000
24、8
25、>-16777216 26、r BColor
{
get
{
return _bColor;
}
set
{
_bColor=value;
}
}
public string GetIdStr()
{
StringBuilder s=new StringBuilder(25);
foreach(bool b in _id)
{
s.Append(b?"1":"0");
}
return s.ToString();
}
public string GetColorStr()
{
return Convert.ToString(_bColor.ToArgb());
}
由于使用 27、到了Color類,要添加命名空間
using Syetem.Drawing;
由于使用了StringBuilder類以及BitArray類
using System.Collections.Generic;
-->using System.Collections;
四, 多個(gè)磚塊信息類
解決方案中添加InfoArr.cs類
I .各個(gè)方塊信息類
private ArrayList info = new ArrayList();
private int _length=0;
public int Length
{
get
{
return _length;
28、}
}
public BlockInfo this[int index]
{
get
{
return (BlockInfo)info[index];
}
}
public string this[string id]
{
set
{
if(value =="")
{
return;
}
for(int i=0;i 29、oInt32(value));
}
catch(System.FormatException)
{
MessageBox.Show("顏色信息錯(cuò)誤!請(qǐng)刪除BlockSet.xml文件,并重新啟動(dòng)程序","錯(cuò)誤信息",
MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
}
}
}
}
//由于使用到了ArrayList,要添加命名空間
using System.Collections.Generic;
-->using System.Collections;
//由于使用到了MessageBox,要添加命名空間
usin 30、g System.Windows.Forms;
由于使用到了Color類,還要添加
using Syetem.Drawing;
II.添加字符轉(zhuǎn)換成員方法
private BitArray StrToBit(string id)
{
if(id.Length !=25)
{
throw new System.FormatException("磚塊樣式信息不合法!請(qǐng)刪除BlockSet.xml文件,并重新啟動(dòng)程序");
}
BitArray ba =new BitArray(25);
for(int i=0;i<25;i++)
{
ba[i]=(id[i]==0)? 31、false:true;
}
return ba;
}
III.添加磚塊信息成員方法
public void Add(BitArray id,Color bColor)
{
if(id.Length !=25)
{
throw new System.FormatException("磚塊樣式信息不合法!請(qǐng)刪除BlockSet.xml文件,并重新啟動(dòng)程序");
}
info.Add(new BlockInfo(id,bColor));
_length++;
}
IV.對(duì)上面方法重載
public void Add(string id,string bColor 32、)
{
Color temp;
if(!(bColor==""))
{
temp=Color.FromArgb(Convert.ToInt32(bColor));
}
else
{
temp=Color.Empty;
}
info.Add(new BlockInfo(StrToBit(id),temp));
_length++;
}
五, 新建配置類
解決方案中添加 Config.cs類
private Keys _downKey;
private Keys _dropKey;
private Keys _moveLeftKey;
private 33、Keys _moveRightKey;
private Keys _deasilRotateKey;
private Keys _contraRotateKey;
private int _coorWidth;
private int _coorHeight;
private int _rectPix;
private Color _backColor;
private InfoArr info=new InfoArr();
I.私有變量屬性
#region 私有變量相應(yīng)的屬性
public Keys DownKey
{
get
{
return _downKey; 34、
}
set
{
_downKey=value;
}
}
public Keys DropKey
{
get
{
return _dropKey;
}
set
{
_dropKey=value;
}
}
public Keys MoveLeftKey
{
get
{
return _moveLeftKey;
}
set
{
_moveLeftKey=value;
}
}
public Keys MoveRightKey
{
get
{
return _moveRightKey;
}
set
{
_moveRightKey 35、=value;
}
}
public Keys DeasilRotateKey
{
get
{
return _deasilRotateKey;
}
set
{
_deasilRotateKey=value;
}
}
public Keys ContraRotateKey
{
get
{
return _contraRotateKey;
}
set
{
_contraRotateKey=value;
}
}
public int CoorWidth
{
get
{
return _coorWidth;
}
set
{
if(va 36、lue>=10&&value<=50)
_coorWidth=value;
}
}
public int CoorHeight
{
get
{
return _coorHeight;
}
set
{
if(value>=15&&value<=50)
_coorHeight=value;
}
}
public int RectPix
{
get
{
return _rectPix;
}
set
{
if(value>=10&&value<=30)
_rectPix=value;
}
}
public Color BackColor
{
37、get
{
return _backColor;
}
set
{
_backColor=value;
}
}
public InfoArr Info
{
get
{
return info;
}
set
{
info=value;
}
}
#endregion
II.從xml讀取信息
public void LoadFromXmlFile()//從xml讀取信息
{
XmlTextReader reader;
if (File.Exists("BlockSet.xml"))
{
reader=new XmlTextReader("Blo 38、ckSet.xml");
}
else
{
Assembly asm=Assembly.GetExecutingAssembly();
Stream sm=asm.GetManifestResourceStream("Tetris.BlockSet.xml");
reader=new XmlTextReader(sm);
}
string key="";
try
{
while(reader.Read())
{
if(reader.NodeType ==XmlNodeType.Element)
{
if(reader.Name =="ID")
{
key=re 39、ader.ReadElementString().Trim();
info.Add(key,"");
}
else if (reader.Name =="Color")
{
info[key]=reader.ReadElementString().Trim();
}
else if (reader.Name =="DownKey")
{
_downKey=(Keys)Convert.ToInt32(reader.ReadElementString().Trim());
}
else if (reader.Name =="DropKey")
{
_dropKey=(Ke 40、ys)Convert.ToInt32(reader.ReadElementString().Trim());
}
else if (reader.Name =="MoveLeftKey")
{
_moveLeftKey=(Keys)Convert.ToInt32(reader.ReadElementString().Trim());
}
else if (reader.Name =="MoveRightKey")
{
_moveRightKey=(Keys)Convert.ToInt32(reader.ReadElementString().Trim());
}
else 41、if (reader.Name =="DeasilRotateKey")
{
_deasilRotateKey=(Keys)Convert.ToInt32(reader.ReadElementString().Trim());
}
else if (reader.Name =="ContraRotateKey")
{
_contraRotateKey=(Keys)Convert.ToInt32(reader.ReadElementString().Trim());
}
else if (reader.Name =="CoorWidth")
{
_coorWidth=Conv 42、ert.ToInt32(reader.ReadElementString().Trim());
}
else if (reader.Name =="CoorHeight")
{
_coorHeight=Convert.ToInt32(reader.ReadElementString().Trim());
}
else if (reader.Name =="RectPix")
{
_rectPix=Convert.ToInt32(reader.ReadElementString().Trim());
}
else if (reader.Name =="BackColor")
43、
{
_backColor=Color.FromArgb(Convert.ToInt32(reader.ReadElementString().Trim()));
}
}
}
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
if(reader !=null)
reader.Close();
}
III.把信息保存為xml文件
public void SaveToXmlFile() //把信息保存為xml文件
{
XmlDocument doc =new XmlDocu 44、ment();
doc.LoadXml(" 45、XmlElement xelColor=doc.CreateElement("Color");
xelColor.InnerText=((BlockInfo)info[i]).GetColorStr();
xelType.AppendChild(xelColor);
root.AppendChild(xelType);
}
//寫(xiě)快捷鍵
XmlElement xelKey=doc.CreateElement("Key");
XmlElement xelDownKey=doc.CreateElement("DownKey");
xelDownKey.InnerText=Con 46、vert.ToInt32(_downKey).ToString();
xelKey.AppendChild(xelDownKey);
XmlElement xelDropKey=doc.CreateElement("DropKey");
xelDropKey.InnerText=Convert.ToInt32(_dropKey).ToString();
xelKey.AppendChild(xelDropKey);
XmlElement xelMoveLeftKey=doc.CreateElement("MoveLeftKey");
xelMoveLeftKey.Inner 47、Text=Convert.ToInt32(_moveLeftKey).ToString();
xelKey.AppendChild(xelMoveLeftKey);
XmlElement xelMoveRightKey=doc.CreateElement("MoveRightKey");
xelMoveRightKey.InnerText=Convert.ToInt32(_moveRightKey).ToString();
xelKey.AppendChild(xelMoveRightKey);
XmlElement xelDeasilRotateKey=doc.Create 48、Element("DeasilRotateKey");
xelDeasilRotateKey.InnerText=Convert.ToInt32(_deasilRotateKey).ToString();
xelKey.AppendChild(xelDeasilRotateKey);
XmlElement xelContraRotateKey=doc.CreateElement("ContraRotateKey");
xelContraRotateKey.InnerText=Convert.ToInt32(_contraRotateKey).ToString();
xelKey. 49、AppendChild(xelContraRotateKey);
root.AppendChild(xelKey);
//寫(xiě)界面信息
XmlElement xelSurface=doc.CreateElement("Surface");
XmlElement xelCoorWidth=doc.CreateElement("CoorWidth");
xelCoorWidth.InnerText= _coorWidth.ToString();
xelSurface.AppendChild(xelCoorWidth);
XmlElement xelCoorHeight=do 50、c.CreateElement("CoorHeight");
xelCoorHeight.InnerText= _coorHeight.ToString();
xelSurface.AppendChild(xelCoorHeight);
XmlElement xelRectPix=doc.CreateElement("RectPix");
xelRectPix.InnerText= _rectPix.ToString();
xelSurface.AppendChild(xelRectPix);
XmlElement xelBackColor=doc.CreateElemen 51、t("BackColor");
xelBackColor.InnerText=_backColor.ToArgb().ToString();
xelSurface.AppendChild(xelBackColor);
root.AppendChild(xelSurface);
doc.Save("BlockSet.xml");
}
六, 新建方塊類
解決方案中添加Block.cs類
protected Point[] structArr;
protected int _xPos;
protected int _yPos;
protected Color _ 52、blockColor;
protected Color disapperColor;
protected int rectPix;
public Block()
{
}
public Block(Point[] sa, Color bColor, Color dColor, int pix)
{
_blockColor=bColor;
disapperColor=dColor;
rectPix=pix;
structArr=sa;
}
public Point this[int index]
{
get
{
return structArr[index];
53、}
}
public int Length
{
get
{
return structArr.Length;
}
}
#region 成員變量相應(yīng)的屬性
public int XPos
{
get
{
return _xPos;
}
set
{
_xPos=value;
}
}
public int YPos
{
get
{
return _yPos;
}
set
{
_yPos=value;
}
}
public Color BlockColor
{
get
{
return _blockColor;
}
}
#e 54、ndregion
--------------------------------
public void DeasilRotate()//順時(shí)針旋轉(zhuǎn)
{
int temp;
for(int i=0;i 55、
{
temp=structArr[i].X;
structArr[i].X=-structArr[i].Y;
structArr[i].Y=temp;
}
}
private Rectangle PointToRect(Point p)//坐標(biāo)點(diǎn)轉(zhuǎn)化為畫(huà)布坐標(biāo)值
{
return new Rectangle((_xPos + p.X)*rectPix+1,
(_yPos-p.Y)*rectPix+1,
rectPix-2,
rectPix-2);
}
public virtual void Paint(Graphics gp)//制定畫(huà)板下繪制磚塊
{
Sol 56、idBrush sb=new SolidBrush(_blockColor);
foreach(Point p in structArr)
{
lock(gp)
{
gp.FillRectangle(sb,PointToRect(p));
}
}
}
public void erase(Graphics gp)//擦除矩形
{
SolidBrush sb=new SolidBrush(disapperColor);
foreach(Point p in structArr)
{
lock(gp)
{
gp.FillRectangle(sb,PointToRect 57、(p));
}
}
}
七, 新建生產(chǎn)磚塊的類
解決方案中添加BlockGroup.cs類
private InfoArr info;
private Color disapperColor;
private int rectPix;
public BlockGroup()
{
Config config=new Config();
config.LoadFromXmlFile();
info=new InfoArr();
info=config.Info;
disapperColor=config.BackColor;
rectPix=config.R 58、ectPix;
}
public Block GetABlock()
{
Random rd=new Random();
int keyOrder=rd.Next(0,info.Length);
BitAarry ba=info[keyOrder].ID;
int struNum=0;
foreach(bool b in ba)
{
if(b)
{
struNum++;
}
}
Point[] structArr=new Point[struNum];
int k=0;
for(int j=0;j 59、
structArr[k].X=j/5-2;
structArr[k].Y=2-j%5;
k++;
}
}
return new Block(structArr,info[keyOrder].BColor,disapperColor,rectPix);
}
八, 新建為磚塊活動(dòng)定規(guī)則的類
在解決方案中添加Palette.cs類
private int _width=15;
private int _height=25;
private Color[,] coorArr;
private Color disapperColor;
private Graphic 60、s gpPalette;
private Graphics gpReady;
private BlockGroup bGroup;
private Block runBlock;
private Block readyBlock;
private int rectPix;
private System.Timers.Timer timerBlock;
private int timeSpan=800;
public Palette(int x,int y,int pix,Color dColor,Graphics gp,Graphics gr)
{
_width=x 61、;
_height=y;
coorArr=new Color[_width,_height];
disapperColor=dColor;
gpPalette=gp;
gpReady=gr;
rectPix=pix;
}
public void Start()
{
bGroup=new BlockGroup();
runBlock=bGroup.GetABlock();
runBlock.XPos=_width/2;
int y=0;
for(int i=0;i 62、unBlock[i].Y;
}
}
runBlock.YPos=y;
gpPalette.Clear(disapperColor);//清空畫(huà)板
runBlock.Paint(gpPalette);
Thread.Sleep(20);
readyBlock=bGroup.GetABlock();
readyBlock.XPos=2;
readyBlock.YPos=2;
gpReady.Clear(disapperColor);//清空畫(huà)板
readyBlock.Paint(gpReady);
timerBlock=new Sy 63、stem.Timers.Timer(timeSpan);
timerBlock.Elapsed +=new System.Timers.ElapsedEventHandler(OnTimedEvent);
timerBlock.AutoReset=true;
timerBlock.Start();
}
private void OnTimedEvent(object source,ElapsedEventArgs e)
{
CheckAndOverBlock();
Down();
}
public bool Down()
{
int xPos=runBloc 64、k.XPos;
int yPos=runBlock.YPos+1;
for(int i=0;i 65、 void Drop()
{
timerBlock.Stop();
while(Down());
timerBlock.Start();
}
public void MoveLeft()
{
int xPos=runBlock.XPos-1;
int yPos=runBlock.YPos;
for(int i=0;i 66、}
runBlock.erase(gpPalette);
runBlock.XPos--;
runBlock.Paint(gpPalette);
}
public void MoveRight()
{
int xPos=runBlock.XPos+1;
int yPos=runBlock.YPos;
for(int i=0;i
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《有機(jī)化合物的合成》
- 某知名化妝品公司各部門(mén)職責(zé)
- 八年級(jí)數(shù)學(xué)上冊(cè) 第13章 全等三角形 13.4 三角形的尺規(guī)作圖優(yōu)質(zhì)課件 (新版)冀教版
- 化學(xué)九上人教版第六單元課題3第1課時(shí)
- 長(zhǎng)春版小學(xué)五年級(jí)下《桂林山水甲天下》
- 現(xiàn)代社會(huì)更需要通才-攻辯
- 海底兩萬(wàn)里(康塞爾)
- 客戶經(jīng)理積分考核介紹
- 現(xiàn)代教育技術(shù)培訓(xùn)
- 混凝土預(yù)制樁、鋼樁施工
- 氨基酸類藥物
- 威尼斯建筑與藝術(shù)雙年展掠影
- 地產(chǎn)營(yíng)銷(xiāo)操作手冊(cè)課件
- 15機(jī)械的效率和自鎖222
- 建筑施工事故案例分析