資料儲存方式沒想清楚,導致功能實現不全。該程式僅實現擲骰子看誰先累計到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 畫...