iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >C#如何实现简单的飞行棋游戏
  • 263
分享到

C#如何实现简单的飞行棋游戏

2023-06-20 16:06:14 263人浏览 安东尼
摘要

这篇文章主要为大家展示了“C#如何实现简单的飞行棋游戏”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#如何实现简单的飞行棋游戏”这篇文章吧。下面展示 完整代码:namespace 飞

这篇文章主要为大家展示了“C#如何实现简单的飞行棋游戏”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#如何实现简单的飞行棋游戏”这篇文章吧。

下面展示 完整代码:

namespace 飞行棋{    class Program    {        public static int[] Maps = new int[100];        public static int[] PlayerPos = new int[2];        public static string[] PlayerName = new string[2];        public static bool[] Flags = new bool[2];//初值为false        static void Main(string[] args)        {            GameStart();            Mes();            Console.Clear();            GameStart();            Console.WriteLine("{0}的士兵用A表示\n{1}的士兵用A表示", PlayerName[0], PlayerName[1]);            InitailMap();            DrawMap();            while (PlayerPos[0] < 99 && PlayerPos[1] < 99)            {                for (int i = 0; i < 2; i++)                {                    if (!Flags[i])                        PlayGame(i);                    else                        Flags[i] = false;                    if (PlayerPos[i] >= 99)                        Console.WriteLine("玩家{0}胜利",PlayerName[i]);                }            }            Win();            Console.ReadKey();        }        /// <summary>        /// 游戏开始提示        /// </summary>        public static void GameStart()        {            Console.ForegroundColor = ConsoleColor.Blue;            Console.WriteLine("************************");            Console.ForegroundColor = ConsoleColor.Yellow;            Console.WriteLine("************************");            Console.ForegroundColor = ConsoleColor.Green;            Console.WriteLine("*********飞行棋*********");            Console.ForegroundColor = ConsoleColor.Magenta;            Console.WriteLine("************************");            Console.ForegroundColor = ConsoleColor.Gray;            Console.WriteLine("************************");        }        /// <summary>        /// 玩家信息输入        /// </summary>        public static void Mes()        {            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[0] == PlayerName[1])            {                if (PlayerName[1] == " ")                    Console.WriteLine("玩家姓名不能为空,请重新输入");                else                    Console.WriteLine("两个玩家姓名不能保持一致,请重新输入玩家B的姓名");                PlayerName[0] = Console.ReadLine();            }        }        /// <summary>        /// 初始化地图        /// </summary>        public static void InitailMap()        {            int[] luckyturn = { 6, 23, 40, 55, 69, 83 };            int[] landMine = { 5, 13, 17, 33, 38, 50, 55, 80, 94 };            int[] pause = { 9, 27, 60, 93 };            int[] timeTunnel = { 20, 25, 45, 63, 72, 88, 90 };            foreach (int i in luckyturn)                Maps[i] = 1;            foreach (int i in landMine)                Maps[i] = 2;            foreach (int i in pause)                Maps[i] = 3;            foreach (int i in timeTunnel)                Maps[i] = 4;        }        /// <summary>        /// 实现数字与特殊字符的转换        /// </summary>        public static void DrawMap()        {            int i;            Console.WriteLine("幸运圆盘:①\t炸弹:★\t暂停:▲\t时空隧道:﹌");            #region 第一横行            for (i = 0; i < 30; i++)                Console.Write(Draw(i));            Console.WriteLine();            #endregion            #region  第一竖行            for (; i <35; i++)            {                for(int j = 0; j < 29; j++)                    Console.Write("  ");                Console.WriteLine(Draw(i));            }            #endregion            #region  第二横行            for (i = 64; i >= 35; i--)                Console.Write(Draw(i));            Console.WriteLine();            #endregion            #region  第二竖行            for (i=65; i < 70; i++)            {                Console.WriteLine(Draw(i));                //Console.WriteLine();            }            #endregion            #region  第三横行            for (; i<100; i++)                Console.Write(Draw(i));            #endregion            Console.WriteLine();        }        /// <summary>        /// 将数组转换为特殊字符        /// </summary>        /// <param name="i"></param>        /// <returns></returns>        public static string Draw(int i)        {            string str=" ";            if (PlayerPos[0] == PlayerPos[1] && PlayerPos[1] == i)            {                Console.ForegroundColor = ConsoleColor.DarkRed;                str = "<>";            }            else if (PlayerPos[0] == i)            {                Console.ForegroundColor = ConsoleColor.DarkRed;                str = "A";            }            else if (PlayerPos[1] == i)            {                Console.ForegroundColor = ConsoleColor.DarkRed;                str = "B";            }            else            {                switch (Maps[i])                {                    case 0:                        Console.ForegroundColor = ConsoleColor.Yellow;                        str="▅";                        break;                    case 1:                        Console.ForegroundColor = ConsoleColor.Blue;                        str = "①";                        break;//幸运圆盘                    case 2:                        Console.ForegroundColor = ConsoleColor.Cyan;                        str = "★";                        break;//地雷                    case 3:                        Console.ForegroundColor = ConsoleColor.Gray;                        str = "▲";                        break;//暂停                    case 4:                        Console.ForegroundColor = ConsoleColor.Green;                        str = "﹌";                        break;//时空隧道                }            }            return str;        }        /// <summary>        /// 游戏进行代码段        /// </summary>        /// <param name="playerNumber"></param>        public static void PlayGame(int playerNumber)        {            Random r = new Random();            Console.WriteLine("{0}按任意键开始掷骰子", PlayerName[playerNumber]);            Console.ReadKey(true);            int n = r.Next(1,7);            Console.WriteLine("{0}掷出了{1}", PlayerName[playerNumber], n);            PlayerPos[playerNumber] += n;            ChangePos();            Console.ReadKey(true);            Console.WriteLine("{0}按任意键开始行动", PlayerName[playerNumber]);            Console.ReadKey(true);            Console.WriteLine("{0}行动结束", PlayerName[playerNumber]);            Console.ReadKey(true);            if (PlayerPos[playerNumber] == PlayerPos[1- playerNumber])            {                Console.WriteLine("玩家{0}踩到了玩家{1},玩家{2}后退六格", PlayerName[playerNumber], PlayerName[1- playerNumber], PlayerName[1- playerNumber]);                PlayerPos[1] -= 6;                Console.ReadKey(true);            }            else            {                switch (Maps[PlayerPos[playerNumber]])                {                    case 0:                        Console.WriteLine("玩家{0}正常", PlayerName[playerNumber]);                        Console.ReadKey(true);                        break;                    case 1:                        Console.WriteLine("玩家{0}踩到了幸运圆盘,有以下两个选择:1.双方交换位置,2.对方后退六格",PlayerName[playerNumber]);                                               while (true)                        {                            string input = Console.ReadLine();                            if (input == "1")                            {                                Console.WriteLine("玩家{0}选择交换位置", PlayerName[playerNumber]);                                Console.ReadKey(true);                                int temp;                                temp = PlayerPos[playerNumber];                                PlayerPos[playerNumber] = PlayerPos[1- playerNumber];                                PlayerPos[1- playerNumber] = temp;                                Console.WriteLine("交换成功,按任意键继续游戏");                                Console.ReadKey(true);                                break;                            }                            else if (input == "2")                            {                                Console.WriteLine("玩家{0}选择轰炸对方", PlayerName[playerNumber]);                                Console.ReadKey(true);                                PlayerPos[1- playerNumber] -= 6;                                Console.ReadKey(true);                                break;                            }                            else                            {                                Console.WriteLine("只能输入1或者2");                                Console.ReadKey(true);                            }                        }                        break;                    case 2:                        Console.WriteLine("玩家{0}踩到了地雷,退六格", PlayerName[playerNumber]);                        Console.ReadKey(true);                        PlayerPos[playerNumber] -= 6;                        break;                    case 3:                        Console.WriteLine("玩家{0}踩到了暂停,暂停一回合", PlayerName[playerNumber]);                        Flags[playerNumber] = true;                        Console.ReadKey(true);                        break;                    case 4:                        Console.WriteLine("玩家{0}踩到了时空隧道,前进十格", PlayerName[playerNumber]);                        PlayerPos[playerNumber] += 10;                        Console.ReadKey(true);                        break;                }            }            ChangePos();            Console.Clear();            DrawMap();        }        /// <summary>        /// 当玩家坐标发生改变时调用        /// </summary>        public static void ChangePos()        {            if (PlayerPos[0] < 0)                PlayerPos[0] = 0;            if (PlayerPos[0] > 99)                PlayerPos[0] = 99;            if (PlayerPos[1] < 0)                PlayerPos[1] = 0;            if (PlayerPos[1] > 99)                PlayerPos[1] = 99;        }        public static void Win()        {            Console.WriteLine("Virectory");        }    }}

以上是“C#如何实现简单的飞行棋游戏”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: C#如何实现简单的飞行棋游戏

本文链接: https://www.lsjlt.com/news/298532.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#如何实现简单的飞行棋游戏
    这篇文章主要为大家展示了“C#如何实现简单的飞行棋游戏”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#如何实现简单的飞行棋游戏”这篇文章吧。下面展示 完整代码:namespace 飞...
    99+
    2023-06-20
  • C#实现简单的飞行棋游戏
    本文实例为大家分享了C#实现简单飞行棋游戏的具体代码,供大家参考,具体内容如下 下面展示 完整代码: namespace 飞行棋 { class Program ...
    99+
    2024-04-02
  • C#如何实现简单的飞行棋小游戏
    这篇文章主要介绍了C#如何实现简单的飞行棋小游戏,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下玩家姓名的输入对屏幕进行清屏初始化地图玩家A和玩家B玩游戏using...
    99+
    2023-06-21
  • C#实现简单飞行棋小游戏
    本文实例为大家分享了C#实现简单飞行棋小游戏的具体代码,供大家参考,具体内容如下 目标:实现飞行棋游戏基础功能 玩家在地图触发道具: 1、获得道具,可以进行一次选择 1–交换位置 2...
    99+
    2024-04-02
  • C#实现简单的飞行棋小游戏
    本文实例为大家分享了C#实现简单飞行棋小游戏的具体代码,供大家参考,具体内容如下 1.玩家姓名的输入 2.对屏幕进行清屏 3.初始化地图 4.玩家A和玩家B玩游戏 using S...
    99+
    2024-04-02
  • C#控制台实现简单飞行棋游戏
    本文实例为大家分享了C#控制台实现简单飞行棋游戏的具体代码,供大家参考,具体内容如下 需求分析 1.制作游戏头部:游戏头部介绍 2.绘制地图 使用一维数组装整个地图的路线 如果这...
    99+
    2024-04-02
  • c# 编写的简单飞行棋游戏
    目录项目效果实现代码基于winform制作的图形界面程序效果代码项目效果 实现代码 using System; namespace 飞行棋项目 { class Pr...
    99+
    2024-04-02
  • C#如何用代码实现飞行棋简单小游戏
    本篇内容主要讲解“C#如何用代码实现飞行棋简单小游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#如何用代码实现飞行棋简单小游戏”吧!目标:实现飞行棋游戏基础功能玩家在地图触发道具:获得道具...
    99+
    2023-06-14
  • C#实现飞行棋游戏
    飞行棋主要是讲的方法怎么应用,充分的去理解方法和方法的调用,整体收获还是很大的。 我想的是说一下整体的思路。在编程的时间里,逻辑是最重要的,先干嘛后干嘛,对吧。 直接上个飞行棋的图,...
    99+
    2024-04-02
  • C#如何实现控制台飞行棋小游戏
    这篇文章将为大家详细讲解有关C#如何实现控制台飞行棋小游戏,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。本文实例为大家分享了C#实现控制台飞行棋小游戏的具体代码,供大家参考,具体内容如下using&nbs...
    99+
    2023-06-20
  • C#控制台实现飞行棋小游戏
    本文实例为大家分享了C#控制台实现飞行棋小游戏的具体代码,供大家参考,具体内容如下 游戏标题 static void ShowTitle() { ...
    99+
    2024-04-02
  • C#实现控制台飞行棋小游戏
    本文实例为大家分享了C#实现控制台飞行棋小游戏的具体代码,供大家参考,具体内容如下 using System; using System.Collections.Generic;...
    99+
    2024-04-02
  • C语言如何实现简单的三子棋游戏
    本文小编为大家详细介绍“C语言如何实现简单的三子棋游戏”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言如何实现简单的三子棋游戏”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。棋盘的实现众所周知,三子棋棋盘其实...
    99+
    2023-06-17
  • C语言如何实现简单五子棋小游戏
    这篇文章主要介绍C语言如何实现简单五子棋小游戏,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!本文实例为大家分享了C语言实现简单五子棋小游戏的具体代码,供大家参考,具体内容如下效果图如下:设计思路:棋盘设计为15×15...
    99+
    2023-06-15
  • C语言实现简单五子棋游戏
    在生活中五子棋是一个十分普遍的一款游戏,今天让我们一起来实现这款游戏。 1.初始化棋盘 char ret; //数据存储在一个二维数组中,玩家下去*,电脑下去#. char ...
    99+
    2024-04-02
  • C语言实现简单井字棋游戏
    本文实例为大家分享了C语言实现简单井字棋游戏的具体代码,供大家参考,具体内容如下 游戏截图 源代码 person.h //玩家对战 void person() { int...
    99+
    2024-04-02
  • C语言简单实现三子棋游戏
    本文实例为大家分享了C语言简单实现三子棋游戏的具体代码,供大家参考,具体内容如下 设计思路 1. 二维数组实现棋盘 2. 设计并打印出棋盘 3. 玩家先手 4. 每一次下棋后判断输赢...
    99+
    2024-04-02
  • java如何实现简单三子棋游戏
    本篇内容主要讲解“java如何实现简单三子棋游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java如何实现简单三子棋游戏”吧!JOptionPane类的使用编写程序,实现简单的三子棋游戏。在...
    99+
    2023-06-30
  • C语言实现简单的井字棋游戏
    本文实例为大家分享了C语言实现简单井字棋游戏的具体代码,供大家参考,具体内容如下 1.什么是井字棋 井字棋相信大部分人都玩过 规则:双方轮流放子,当某一方的三个子连成一线(行,列,对...
    99+
    2024-04-02
  • C语言实现简单的五子棋游戏
    本文实例为大家分享了c语言实现简单五子棋游戏的具体代码,供大家参考,具体内容如下 环境vs2017 一、游戏设计思想 1.该代码设置为 玩家1(*) vs 玩家2(O) 2.选择玩游...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作