這個飛行棋是隨便寫的也測試後發現沒問題,可能比較粗糙,但勉強可以用,很適合喜歡遊戲開發的朋友
ps 我加入了登陸系統,所以要先設定賬號和密碼才能登陸哦
//遊戲地圖陣列
static int map = new int[100];
//2個玩家
static int player = new int[2];
//登陸遊戲入口
static void main(string args)
;string msg = "";
show();
string name = new string[2];
while (true)
else
}while (true)
else if (name[1] == name[0])
else
}console.clear();
//顯示介面
show();
console.writeline("開始遊戲");
console.writeline("玩家a", name[0]);
console.writeline("玩家 b", name[1]);
console.writeline("如果玩家a和玩家b在一起顯示ab");
//init map
initialmap();
//draw map
dmap();
console.writeline("開始遊戲");
//擲骰子 判斷是否越界
while (player[0] < 99 && player[1] < 99)
丟擲 ", name[0], step);
console.writeline("按任意鍵拋股子");
console.readkey(true);
player[0] += step;
checkpos();
if (player[0] == player[1])
踩到,退回原點", name[0], name[1], name[1]);
}else
走到了幸運輪盤,選擇運氣", name[0]);
console.writeline("1--交換位置 2--轟炸對方");
input = readint(1, 7);
if (input == 1)
選擇與對方交換位置", name[0]);
}else
轟炸,退6格", name[0], name[1], name[1]);
}break;
case 2:
player[1] -= 6;
checkpos();
console.writeline("踩到地雷,退6格", name[1], name[1]);
break;
case 3:
isstop[1] = true;
console.writeline("暫停一次", name[0]);
break;
case 4:
player[0] += 10;
checkpos();
console.writeline("進入時空隧道,前進10格", name[1]);
break;
default:
break;
}if (isstop[1] == false)
按任意鍵開始擲骰子", name[1]);
consolekeyinfo ren = console.readkey(true);
if (ren.key == consolekey.tab) //b的外掛程式鍵
else
console.writeline("擲出:", name[1], step);
console.writeline("按任意鍵開始擲骰子");
console.readkey(true);
player[1] += step;//一旦座標發生改變,就要判斷座標值是否》99或<0
checkpos();
if (player[1] == player[0])
踩到了,退回原點", name[1], name[0], name[0]);
}else
走到了幸運輪盤,選擇運氣", name[1]);
console.writeline("1--交換位置 2--轟炸對方");
input = readint(1, 2);
if (input == 1)
選擇與對方交換位置", name[1]);
}else
轟炸,退6格", name[1], name[0], name[0]);
}break;
case 2:
player[1] -= 6;
checkpos();
msg = string.format("踩到地雷,退6格", name[1], name[1]);
//地雷
break;
case 3:
//暫停
isstop[1] = true;
msg = string.format("暫停一次", name[1]);
break;
case 4:
player[0] += 10;
msg = string.format("進入時空隧道,前進10格", name[1]);
checkpos();
//時空隧道
break;}}
console.clear();
dmap();
if (msg != "")
console.writeline("擲出了,行動完成!", name[1], step);
console.writeline("*******玩家a和玩家b的位置如下******");
console.writeline("的位置為:", name[0], player[0] + 1);
console.writeline("的位置為:", name[1], player[1] + 1);
console.clear();
dmap();
#endregion
}else
}console.clear();
//繪地圖
dmap();
if (msg != "")
console.writeline("擲出了,行動完成!", name[0], step);
console.writeline("*******玩家a和玩家b的位置如下******");
console.writeline("的位置為:", name[0], player[0] + 1);
console.writeline("的位置為:", name[1], player[1] + 1);
}else
if (player[0] >= 99)
}#endregion
break;
}else}}
//檢查是否越界
static void checkpos()
if (player[i] < 0)}}
//初始化地圖
static void initialmap()
; //幸運輪盤
int llandm = ;//地雷
int pause = ;//暫停的座標
int timet = ;//時空隧道
for (int i = 0; i < luckyt.length; i++)
for (int i = 0; i < llandm.length; i++)
for (int i = 0; i < pause.length; i++)
for (int i = 0; i < timet.length; i++)
}//得到地圖的座標的值並設定它的值
static string getmapstring(int pos)
else if (player[0] == pos)
else if (player[1] == pos)
else
}return res;
}//繪製地圖
static void dmap()
console.writeline();
for (int i = 30; i <= 34; i++)
string str = getmapstring(i);
console.writeline(str);
}for (int i = 64; i >= 35; i--)
console.writeline();
for (int i = 65; i <= 70; i++)
for (int i = 71; i <= 99; i++)
console.writeline();
}//傳2個輸入指定範圍的值
static int readint(int num1, int num2)
-之間的數,請重新輸入", num1, num2);
continue;
}return num;
}catch}}
//介面
static void show()
殘版飛行棋
資料儲存方式沒想清楚,導致功能實現不全。該程式僅實現擲骰子看誰先累計到mapsize。問題 程式設計全靠大腦,缺乏規範化的流程,導致資料儲存出現問題。解決 可再設定乙個陣列用於儲存原始地圖,為節省空間也可設定臨時變數對特殊字元 和 進行儲存。using system using system.col...
WPF 飛行棋遊戲
閒來無聊就打算自己製作乙個飛行棋遊戲。他寫了三篇飛行棋設計部落格,結合他的文章內容和我在手機上的遊戲規則,編寫了一款辣眼睛的飛行棋遊戲。目前已完成單人遊戲的基本功能,就只有拋骰子和迭機動畫未寫。1.每次拋擲出6點,都可以在擲一次骰子。若停在傳送門起點,棋子先飛躍至傳送門終點,在飛躍至下乙個同色色塊。...
C 飛行棋遊戲
1 using system 2using system.collections.generic 3using system.linq 4using system.text 5using system.threading.tasks 67 namespace 05.飛行棋遊戲834 35 conso...