C#飞行棋项目

1.制作游戏头部:游戏头部介绍
2.绘制地图
使用一维数组装整个地图的路线
如果这个位置是0,绘制普通格子□
如果这个位置是1,绘制幸运轮盘◎
如果这个位置是2,绘制地雷★
如果这个位置是3,绘制暂停▲
如果这个位置是4,绘制时空隧道卍

规划幸运轮盘位置
int[] luckyturn = { 6, 23, 40, 55, 69, 83 };
规划地雷的位置
int[] landMine = { 5,13,17,33,38,50,64,80,94};
规划暂停位置
int[] pause = {9,27,60,93 };
规划时空隧道的位置
int[] timeTunnel = { 20, 25, 45, 63, 72, 88, 90 };

3.设置特殊关卡

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 飞行棋
{
    class Program
    {

        /// <summary>
        /// 整个地图数组
        /// </summary>
        static int[] Maps = new int[100];
        /// <summary>
        /// 玩家的位置
        /// </summary>
        static int[] PlayerPos = new int[2];
        /// <summary>
        /// 玩家的姓名
        /// </summary>
        static string[] PlayerName = new string[2];
        /// <summary>
        /// 记录两名玩家是否可以掷骰子
        /// </summary>
        static bool[] PlayerFlag = new bool[2];
        static void Main(string[] args)
        {
            //绘制地图头部
            ShowTitle();

            //输入玩家姓名
            Console.WriteLine("请输入玩家A的姓名");
            PlayerName[0]=Console.ReadLine();
            while (PlayerName[0]=="")
            {
                Console.WriteLine("玩家A姓名不能为空,请重新输入");
                PlayerName[0]=Console.ReadLine();
            }
            Console.WriteLine("请输入玩家B的姓名");
            PlayerName[1] = Console.ReadLine();
            while (PlayerName[1]=="" || PlayerName[1]==PlayerName[0])
            {
                if (PlayerName[1]=="")
                {
                    Console.WriteLine("玩家B姓名不能为空,请重新输入");
                    PlayerName[1] = Console.ReadLine();
                }
                if (PlayerName[1]==PlayerName[0])
                {
                    Console.WriteLine("玩家B姓名与玩家A的姓名一致,请重新输入");
                    PlayerName[1] = Console.ReadLine();
                }
            }

            //输入完姓名,清空屏幕
            Console.Clear();
            //重新绘制游戏标题与游戏说明
            ShowTitle();
            //初始化地图关卡
            InitialMap();
            //显示地图
            DrawMap();

            //判断如果没有一个玩家到达终点则一直轮流掷筛子
            while (PlayerPos[0]<99 && PlayerPos[1]<99)
            {
                if (PlayerFlag[0]==false)
                {
                    PlayGame(0);
                }
                else
                {
                    PlayerFlag[0] = false;
                }
                if (PlayerFlag[1]==false)
             
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值