C#实现飞行棋小游戏

本文实例为大家分享了C#实现飞行棋小游戏的具体代码,供大家参考,具体内容如下

逻辑图

以下是掷色子的一个代码,比较有代表性,里面的逻辑和内容都已注释,可通过注释了解这一方法的运作模式。

public static void RowTouZi(int playerPos) //掷色子

    {
      //产生随机数,掷色子的随机数
      Random r = new Random();
      int num = r.Next(1, 7);
      //定义一个字符串变量
      string msg = "";

      //提示用户信息
      Console.WriteLine("{0}按任意键开始掷色子", PlayerNames[playerPos]);

      //不显示用户按下的任意键
      Console.ReadKey(true); 

      //根据不同的变量的值显示不同的情况
      Console.WriteLine("{0}掷出了{1}", PlayerNames[playerPos], num);
      //提示用户谁开始行动了
      Console.WriteLine("{0}按任意键开始行动...", PlayerNames[playerPos]);
      Console.ReadKey(true);

      //用户的坐标开始改变
      PlayerPos[playerPos] += num;

      //判断两个用户坐标可能出现的问题(重叠的问题)
      if (PlayerPos[playerPos] == PlayerPos[1- playerPos])
      {
        msg=string.Format("玩家{0}踩到了玩家{1},玩家{2}退6格", PlayerNames[playerPos], PlayerNames[1- playerPos], PlayerNames[1 - playerPos]);
        PlayerPos[1- playerPos] -= 6;

      }
      else
      {
        //检查是否出界
        CheckPos();
        switch (Map[PlayerPos[playerPos]])
        {
          //没有障碍
          case 0:
            msg ="行动完了";
            break;
            //踩到幸运轮盘
          case 1:
            msg = string.Format("{0}走到了幸运轮盘,请选择1--交换位置,2---轰炸对方", PlayerNames[playerPos]);

            //进行选择,调用Readint方法,只可以让用户输入1或2;
            int number = ReadInt(msg, 1, 2);

            //进行判断用户选择的哪个方案,进行执行相应的代码
            if (number == 1)
            {
              //交换位置
              int temp = 0;
              temp = PlayerPos[playerPos];
              temp = PlayerPos[playerPos];
              PlayerPos[playerPos] = PlayerPos[1- playerPos];
              PlayerPos[1- playerPos] = temp;
              msg=string.Format("玩家{0}选择了玩家{1}交换位置", PlayerNames[playerPos], PlayerNames[1- playerPos]);

            }
            else
            {

              PlayerPos[1- playerPos] = 0;
              msg = string.Format("玩家{0}选择了轰炸玩家{1}", PlayerNames[playerPos], PlayerNames[1- playerPos]);
            }

            break;
          //踩到地雷了
          case 2:

            msg="踩到地雷了,后退6步";
            //坐标后退6
            PlayerPos[playerPos] -= 6;
            //检查是否出界
            CheckPos();
            break;
          //踩到暂停了
          case 3:

            msg ="踩到暂停了";
            //将flag数组中的false,改为true,执行true相应的代码
            flag[playerPos] = true;
            break;
          //踩到了时空隧道
          case 4:

            msg = string.Format("恭喜你,踩到时空隧道,前进10步");
            //坐标前进10
            PlayerPos[playerPos] += 10;
            //判断是否出界
            CheckPos();
            break;
        }
      }
      Console.Clear();  //清除掉原来的地图
      DrawMap();     //在画一边地图

      //因为只有一种情况出现,所以msg的值经过判断之后也是只有一种,然后将其内容显示出来
      Console.WriteLine(msg);
    }

小知识总结:

可以通过判断,显示内容

case 0:
msg=string.Format("玩家{0}踩到了玩家{1},玩家{2}退6格", PlayerNames[playerPos], PlayerNames[1- playerPos], PlayerNames[1 - playerPos]);
case 1:
msg = string.Format("{0}走到了幸运轮盘,请选择1--交换位置,2---轰炸对方", PlayerNames[playerPos]);

Console.WriteLine(msg); 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C#飞行棋小程序设计分析

    C#小程序飞行棋,程序效果图 1.设计分析 这个程序界面大致分为四部分: ① 最上面游戏名字界面 ②信息提示区 ③游戏界面区 ④游戏操作提示区 2.分区设计实现 一.游戏界面显示区,由于只需要显示出图形即可,因此直接用Console.Writeline()输出即可. 二.信息提示区,此处用于显示 游戏对战双方的姓名等信息,在游戏开始时需要由用户录入对战双方的姓名信息,因此可用Console.Readline()来读取 用户键入的值,<注:需要检查验证对战双方的姓名不可相同!> 三.游戏界面区,

  • C#绘制飞行棋地图小程序

    1. 初始化地图,在绘制时可先将地图进行初始化,用数组来存储关卡的位置,然后利用循环给地图中 关卡所在处赋予代表关卡的值. 关键代码如下 /// <summary> /// 初始化游戏地图 /// </summary> static void InitialMap() { for (int i=0;i<Map.Length;i++) { Map[i] =0; } //用于存储关卡位置 int[] luckyTurn = { 6, 23, 40, 55, 69, 83,98 }

  • C# 骑士飞行棋的源码(分享)

    代码如下所示: 复制代码 代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks; namespace 骑士飞行棋{    class Program    {        //在下面的数组存储我们游戏地图各各关卡        //数组的下标为0的元素对应地图上的第1格    下标为1的元素对应元素第2格...下标为

  • C#飞行棋小程序设计代码

    飞行棋游戏大家应该都玩过吧,如何使用C#语言进行编写,本文实例就为大家分享了飞行棋C#实现代码,供大家参考,具体内容如下 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Pachee { class Program { #region 静态字段 // 关卡数量 public static int

  • C#实现飞行棋小游戏

    本文实例为大家分享了C#实现飞行棋小游戏的具体代码,供大家参考,具体内容如下 逻辑图 以下是掷色子的一个代码,比较有代表性,里面的逻辑和内容都已注释,可通过注释了解这一方法的运作模式. public static void RowTouZi(int playerPos) //掷色子 { //产生随机数,掷色子的随机数 Random r = new Random(); int num = r.Next(1, 7); //定义一个字符串变量 string msg = ""; //提示用户信

  • C#实现简单飞行棋小游戏

    本文实例为大家分享了C#实现简单飞行棋小游戏的具体代码,供大家参考,具体内容如下 目标:实现飞行棋游戏基础功能 玩家在地图触发道具: 1.获得道具,可以进行一次选择 1–交换位置 2–让对方退随机格子 2.踩到炸弹,让对方暂停一回合 3.乘上了飞机,前进10格 4.进入隧道,将随机从其他隧道口出来 using System; namespace FXQGame { class Program { //储存地图数组 static int[] mMaps = new int[120]; //储存两个

  • C#实现控制台飞行棋小游戏

    本文实例为大家分享了C#实现控制台飞行棋小游戏的具体代码,供大家参考,具体内容如下 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; namespace 飞行棋小游戏 { class Program { /// <summary> ///

  • C#控制台实现飞行棋小游戏

    本文实例为大家分享了C#控制台实现飞行棋小游戏的具体代码,供大家参考,具体内容如下 游戏标题 static void ShowTitle() { Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine("****************************************"); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(

  • C#实现简单的飞行棋小游戏

    本文实例为大家分享了C#实现简单飞行棋小游戏的具体代码,供大家参考,具体内容如下 1.玩家姓名的输入 2.对屏幕进行清屏 3.初始化地图 4.玩家A和玩家B玩游戏 using System; namespace homework { class data { //静态字段来模拟全局变量 static int[] Maps = new int[100]; //声明一个静态数组用来存储玩家A跟玩家B的坐标 static int[] PlayerPos = new int[2]; static str

  • C语言实现骑士飞行棋小游戏

    本文实例为大家分享了C语言实现骑士飞行棋的具体代码,供大家参考,具体内容如下 需求分析 游戏规则和传统的飞行棋一样,支持两人对战 采用100格小型游戏棋盘 游戏规则:对战双方轮流掷骰子控制自己的骑兵前进或后退,在游戏棋盘上设置有关卡 普通 地雷 暂停 时空隧道 幸运轮盘(提供两种运气:交换位置和轰炸) 棋盘上的关卡只在骑兵第一次移动遇到时有效 #include<stdio.h> #include<windows.h> //颜色 #include<string.h> #i

  • C#实现骑士飞行棋

    前言 飞行棋小游戏是学习C#以来,接触的第一个游戏项目,根据小杨老师的思路引导,自己的代码也实现了功能,经过思路的梳理,试着不借助代码自己去实现功能,感触就是不管想的多明白,实践起来完全不一样,所以,还得多多实践,培养严谨的逻辑思维.下面看看我梳理的思路~ 游戏中界面 飞行棋流程思路 掷骰子流程 游戏运行流程 掷骰子代码 public static void RowShaiZi(int xy) { Random r = new Random();//随机数 int num = r.Next(1,

随机推荐