殘版飛行棋

2021-10-07 07:04:12 字數 2852 閱讀 9488

資料儲存方式沒想清楚,導致功能實現不全。該程式僅實現擲骰子看誰先累計到mapsize。

問題:

程式設計全靠大腦,缺乏規範化的流程,導致資料儲存出現問題。

解決:

可再設定乙個陣列用於儲存原始地圖,為節省空間也可設定臨時變數對特殊字元』+'和『-』進行儲存。

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

//由於c#沒有指標,此時還未學習物件導向程式設計,因此此處採用面向過程的結構化程式設計

namespace 飛行棋

///

/// 用於遊戲選單的列印

///

public

static

void

showgametitle()

else

}///

/// 顯示地圖

///

///

public

static

void

showmap

(char

map)

}///

/// 建立預設原始地圖

///

///

public

static

void

createmap

(char

map)

///

/// 建立自定義原始地圖

///

///

public

static

void

createmap

(char

map,

bool whether )

console.

writeline

("\n");

console.

writeline

("您建立的遊戲地圖為:");

showmap

(map)

;//列印此時的地圖的狀態

console.

writeline

("\n");

}///

/// 獲得1-6之間的隨機數

///

///

public

static

intgetrandnumber()

///

/// 開始遊戲

/// 遊戲邏輯在這裡實現

///

public

static

void

startgame

(char

map)

else

//將a和b兩位選手放入初始位置:若a和b在同一位置處,則該位置處標記為@

map[0]

='@'

; console.

writeline

("\n");

showmap

(map)

;//顯示初始位置

int arandnumber =

0, brandnumber =0;

//定義兩個變數用於儲存a和b擲骰子的結果

int alocation =

0, blocation =0;

//設定a和b的位置標誌

char ainitchar=

'#', binitchar=

'#';

while

(true

)//讓程式迴圈下去,直到一方獲勝

else

//a擲骰子

arandnumber =

getrandnumber()

;//a移動

alocation +

= arandnumber;

//判斷a所在位置是否需要再移動

while

(alocation < mapsize -1&&

(map[

alocation]==

'+'|| map[

alocation]==

'-')

)else}if

(alocation < mapsize -1)

else

//顯示移動後的結果

if(map[

alocation]==

'b')

else

if(alocation < mapsize -1)

}else

if(blocation < mapsize -1)

else

//b擲骰子

brandnumber =

getrandnumber()

;//b移動

blocation +

= brandnumber;

//判斷a所在位置是否需要再移動

while

(alocation < mapsize -1&&

( map[

blocation]==

'+'|| map[

blocation]==

'-')

)else}if

(blocation < mapsize -1)

else

//顯示移動後的結果

if(map[

blocation]==

'a')

else

}else}}

}}

騎士飛行棋

include include include include int map 110 bu 1000 char str 4 20 struct node a 3 void f strcpy a 2 name,str m printf 玩家2選擇了 s n n a 2 name printf 人物選...

騎士飛行棋

using system using system.collections.generic using system.linq using system.text namespace 騎士飛行棋 宣告乙個陣列用來存玩家a和玩家b public static string playernames ne...

飛行棋總結

方法名 引數返回值 功能showui無無 顯示遊戲表頭 initmap無無 將放置障礙的位置用數字列出,然後將顯示同一種障礙位置的陣列進行在賦值,1 為一種障礙 2 為一種障礙 3 為一種障礙 等等 drawmap無無 畫地圖 橫行,豎行 drawstringmap int pos string 畫...