c 作業5 坦克大戰 未完成)

2021-10-02 03:31:46 字數 4263 閱讀 2212

現存bug

為什麼沒寫完呢,給自己解釋一下,不是因為那啥懶惰也不是因為沒時間(某種程度上也算是的吧。。。原因1,沒有課件,原因2,我沒玩過(我有童年只是童年不是這個。所以導致我就完全不知道怎麼做下去,沒有規則也沒有印象,我自己肆意發展嗎,我選擇自己去做大作業,我愛俄羅斯方塊

所以,我就做到老師有課件的部分(以及比課時多了,印象裡是這樣的,或者做的比老師上課程序快一些?就。老師上課講坦克大戰的時候我在做大作業

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.windows.forms;

using system.runtime.interopservices;

namespace mytankwar

private

void

begintoolstripmenuitem_click

(object sender,

eventargs e)

private

void

endtoolstripmenuitem_click

(object sender,

eventargs e)

private

void

picturebox1_paint

(object sender,

painteventargs e)

}private

void

formmian_keydown

(object sender,

keyeventargs e)

//強制重新整理picturebox1控制項

picturebox1.

invalidate()

;}}private

void

timer1_tick

(object sender,

eventargs e)

}private

void

timer2_tick

(object sender,

eventargs e)

//讓子彈飛起來

foreach

(bullet mybullet in _listbullet)

//強制重新整理

picturebox1.

invalidate()

;}}//timer實現敵方坦克發射子彈功能

private

void

timer3_tick

(object sender,

eventargs e)

}//強制重新整理

picturebox1.

invalidate()

;}}//定時測定按下方向鍵下壓狀態,解決我方坦克邊移動邊發射子彈的問題

private

void

timer4_tick

(object sender,

eventargs e)}}

}

using system;

using system.collections.generic;

using system.linq;

using system.windows.forms;

namespace mytankwar

}}

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.drawing;

namespace mytankwar

set}

public

direction _dircetion

set}

public

int _step

set}

public

side _side

set}

#endregion

//構造方法

public

bullet

(side side,

direction direction)

else

//設定坦克點陣圖的透明色

_bulletbmp.

maketransparent

(color.black);}

//子彈移動

public

void

move()

else

if(_dircetion == direction.down)

else

if(_dircetion == direction.left)

else

if(_dircetion == direction.right)

}//子彈繪製

public

void

drawme

(graphics g)

}}

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.drawing;

using system.windows.forms;

namespace mytankwar

//列舉坦克運動方向

public

enum direction

//列舉敵我雙方

public

enum side

class

tank

set}

public

direction _dircetion

set}

public

int _step

set}

public

int _size

set}

public

side _side

set}

#endregion

//類構造方法

public

tank

(side side)

else

//設定坦克的透明度

for(

int i =

0; i <=

7; i++

) _tankbmp[i]

.maketransparent

(color.black)

;//當前坦克點陣圖為向上運動的點陣圖

_nowtankbmp = _tankbmp[0]

;}//坦克移動

public

void

move

(direction direction)

else

if(_dircetion == direction.down)

else

if(_dircetion == direction.left)

else

if(_dircetion == direction.right)

//切換坦克為位圖輪換標誌

_tankbmpchange =

!_tankbmpchange;

}//坦克繪製

public

void

drawme

(graphics g)

//坦克發射子彈

public

bullet

fire()

else

if(_dircetion == direction.down)

else

if(_dircetion == direction.left)

else

if(_dircetion == direction.right)

return mybullet;}}

}

這個應該很多吧,比如子彈不會真正意義上的打到坦克之類的畢竟是未完成產

未完成作業

分治 1.一元三次方程求解 1015 2.迴圈比賽日程表 3.求方程的根 5.黑白棋子的移動 1310 6.光榮的夢想 2323 7.小車問題 1668 8.方程分f x 的根 9.求逆序對 1198 10.迴圈比賽 11.二分查詢 1135 12.麥森數 1030 動態規劃 挖地雷 取數字問題 搜...

C 記憶體分配(未完成)

乙個由c c 編譯的程式占用的記憶體分為以下幾個部分 棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。後進先出 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由os 注意它與資料結構中的堆是兩回事,分配方式倒是...

C 知識點彙總(未完成)

1.序列化 二進位制序列化 物件序列化之後是二進位制形式的,通過binaryformatter類來實現的,這個類位於system.runtime.serialization.formatters.binary命名空間下。soap序列化 物件序列化之後的結果符合soap協議,也就是可以通過soap 協...