c 基礎 控制台應用程式飛行棋

2022-08-27 04:33:12 字數 3252 閱讀 2370

先看一下介面:

圖例解釋:

幸運輪盤:1,與對方交換位置2,轟炸對方,使對方退後6步

地雷:踩到地雷,後退4步

暫停:暫停擲骰子一次

時空隧道:前進10步

先解釋一下地圖如何畫,採用了比較笨的方法,採用乙個int型別的陣列,長度為100,地圖上的每個點都用數字表示,0表示普通,1表示幸運輪盤,2表示地雷,3表示暫停,4表示時空隧道

用4個int陣列用來儲存幸運輪盤,地雷,暫停,時空隧道的座標

獲得第pos座標上應該繪製的圖案

public

static

string getmapstring(int pos)

else

if (playerpos[0] == pos)

else

if (playerpos[1] == pos)

else

}return result;

}

繪製地圖

public

static

void drawmap()

:用a表示,用b表示", names[0],names[1]);

console.writeline("說明 □:普通 ※:幸運輪盤 ⊙:地雷 ★:暫停 →:時空隧道");

console.writeline("當前位置: 當前位置",names[0],playerpos[0]+1,names[1],playerpos[1]+1 );

//畫第一行

for (int i = 0; i <= 29; i++)

//畫右邊第一列

console.writeline();

for (int i = 30; i <= 34; i++)

console.writeline(getmapstring(i));

}//畫第二行

for (int i = 64; i >= 35; i--)

console.writeline();

//畫左邊第二列

for (int i = 65; i <= 69; i++)

//畫第三行

for (int i = 70; i <= 99; i++)

console.writeline();

console.resetcolor();

}

解釋一下如何繪製地圖的,用了個比較笨的方法,getmapstring()用於獲得某座標上應該顯示的圖案,然後用console.write()輸出圖案

看一下地圖的座標,座標從0開始,到99結束,總共3行2列,每一行都是30個圖案,每一列5個圖案,座標點如下所示:

玩家擲骰子,並且開始行動,並判斷當前關卡

public

static

void action(ref

string firstname,ref

int firstpos,ref

string secname,ref

int secpos)

按任意鍵開始擲骰子...", firstname);

console.readkey(true);

random r = new random();//擲骰子

step = r.next(1, 7);

console.writeline("擲出了", firstname, step);

console.writeline("按任意鍵開始行動...");

console.readkey(true);

firstpos = firstpos + step;

checkpos();//檢查是否越界

if (firstpos == secpos)//撞到對方

撞到了,把撞到了起點!", firstname, secname);

secpos = 0;

console.writeline("按任意鍵繼續...");

console.readkey(true);

}else

//沒撞到,判斷玩家所在的位置是否有其它關卡

走到了幸運輪盤,請選擇運氣:", firstname);

console.writeline("1:與對方交換位置 2:轟炸對方");

int a = readint(1, 2);

if (a == 1)

與交換了位置.", firstname, secname);

console.writeline("按任意鍵繼續...");

console.readkey(true);

}else

break;

case 2://踩到地雷

console.writeline("猜到了地雷,後退4步", firstname);

firstpos = firstpos - 4;

console.writeline("按任意鍵繼續...");

console.readkey(true);

break;

case 3://暫停一次

break;

case 4://時空隧道

console.writeline("太爽了,進入了時空隧道,前進10步...", firstname);

firstpos = firstpos + 10;

console.writeline("按任意鍵繼續...");

console.readkey(true);

break;

}checkpos();

}console.clear();

drawmap();

}

基本上關鍵的一些**已經完成了,剩下的就非常容易了

第一次寫這麼長的控制台應用程式,從學c#開始,因為比較懶,所以學的一知半解,畢業到了乙個小公司,做了乙個專案,b/s模式,基本上就是拖控制項,隨便寫**,那**寫的,估計讓大牛們看到以為我是個非計算機專業的非專業人士寫出來的,那個專案貌似公司也不重視,所以也沒出什麼問題,做了乙個專案後,以為自己多牛逼了,就想到大公司看看,然後就被打擊了,一直到那時候,我才開始正視自己,所以把自己當成乙個從未學習過c#的菜鳥從頭開始好好學,這個算是「改邪歸正」後寫的第乙個**,希望大家能夠多多提意見!

需要vs2010

ArcEngine控制台應用程式

wbaolong原文 arcengine控制台應用程式 控制台應用程式相比其他應用程式,更加簡單,簡化了許多冗餘,可以讓我們更加關注於本質的東西。現在讓我們看一看arcgis engine的控制台應用程式吧!一 首先是許可繫結 1 執行時環境的繫結 esri.arcgis.runtimemanage...

ArcEngine控制台應用程式

wbaolong原文 arcengine控制台應用程式 控制台應用程式相比其他應用程式,更加簡單,簡化了許多冗餘,可以讓我們更加關注於本質的東西。現在讓我們看一看arcgis engine的控制台應用程式吧!一 首先是許可繫結 1 執行時環境的繫結 esri.arcgis.runtimemanage...

ArcEngine控制台應用程式

wbaolong原文 arcengine控制台應用程式 控制台應用程式相比其他應用程式,更加簡單,簡化了許多冗餘,可以讓我們更加關注於本質的東西。現在讓我們看一看arcgis engine的控制台應用程式吧!一 首先是許可繫結 1 執行時環境的繫結 esri.arcgis.runtimemanage...