C#小程序飞行棋地图绘制
1、 初始化地图,在绘制时可先将地图进行初始化,用数组来存储关卡的位置,然后利用循环给地图中 关卡所在处赋予代表关卡的值。
关键代码如下
/// <summary>
/// 初始化游戏地图
/// </summary>
static void InitialMap()
{
for (int i=;i<Map.Length;i++)
{
Map[i] =;
}
//用于存储关卡位置
int[] luckyTurn = { , , , , , , };//幸运转盘 1
int[] landMine = { , , , , , , , , };//地雷 2
int[] pause = { , , , };//暂停 3
int[] timeTunnel = { , , , , , , };//时空隧道 4
for (int i=;i<luckyTurn.Length;i++)
{
int pos = luckyTurn[i];
Map[pos] = ;
}
for (int i=;i<landMine.Length;i++)
{
Map[landMine[i]] = ;
}
for (int i=;i<pause.Length;i++)
{
int pos = pause[i];
Map[pos] = ;
}
for(int i=;i<timeTunnel.Length;i++)
{
int pos = timeTunnel[i];
Map[pos] =;
}
}
2、检查坐标的值,在将地图进行初始化之后,便可开始进行绘制地图的操作了,地图绘制可使用 在程序设计时所讲的分布绘制,在绘制地图时应检验该该坐标点的值,在根据该点的值绘制相应的图案,在检查时根据值 返回相应的图案 ,在利用循环绘制出即可,检查坐标的值代码如下:
/// <summary>
/// 获得要绘制的坐标
/// </summary>
/// <param name="i"> 要绘制的坐标</param>
/// <returns></returns>
static string GetMapString(int i)
{
string Result="";//用于返回 给一个坐标相应的图案
if (playerPos[] == i && playerPos[] == i)//判断是否是对战双方所在此处
{
Console.ForegroundColor = ConsoleColor.Yellow;//设置图案的前景色为黄色
Result = "<>";//得到两人均在图案
}
else if (playerPos[] == i)
{
Console.ForegroundColor = ConsoleColor.Yellow;
Result = "A";//得到A均在图案 }
else if (playerPos[] == i)
{
Console.ForegroundColor = ConsoleColor.Yellow;
Result = "B";//得到B均在图案 }
else
{
switch (Map[i])
{
case :
Console.ForegroundColor = ConsoleColor.White;
Result = "□";//得到普通均在图案 break;
case :
Console.ForegroundColor = ConsoleColor.Red;
Result = "○";//得转盘图案 break;
case :
Console.ForegroundColor = ConsoleColor.Blue;
Result = "☆";
break;
case :
Console.ForegroundColor = ConsoleColor.Green;
Result = "▲";
break;
case :
Console.ForegroundColor = ConsoleColor.DarkBlue;
Result = "卍";
break;
}
}
return Result; //返回图案
}
3、绘制地图,在得到 返回的图案后,便可进行地图的绘制,这里给出绘制第一行的代码
/// <summary>
/// 绘制游戏地图
/// </summary>
static void DrownMap()
{
Console.WriteLine("图例:幸运转盘 ○ 地雷 ☆ 暂停 ▲ 时空隧道 卍");
//画第一行 下标0-29 的地图
for(int i=;i<;i++)//循环坐标得到 第一行每个点的图案
{
Console.Write(GetMapString(i)); //调用函数得到每个坐标的图案
}
Console.Write("\n");
Console.ResetColor();//重置前景色
}
学习自传智播客教程
---电杆
C#小程序飞行棋地图绘制的更多相关文章
- C#小程序飞行棋关卡操作
飞行棋关卡操作 1.分析设计 飞行棋的基本规则为二人轮流掷骰子,则此处为循环结构,然后根据投掷出的点数进行前进<注:在每一步前进之后均应该判断是否走完了游戏>,在遇到关卡时进行相应的操作, ...
- opengl典型例程立方体投影与地图绘制
立方体投影 http://www.cnblogs.com/opengl/p/3790450.html 地图绘制 http://www.cnblogs.com/opengl/p/3790354.html
- Matplotlib Toolkits:地图绘制工具
Matplotlib Toolkits:地图绘制工具 有没有一种可以直接在详细地图(如谷歌地图)上绘制上百万坐标点的工具???谷歌地图坐标点多了也不能绘制了. Basemap (Not distrib ...
- ECharts 地图绘制与钻取简易接口
1.地图绘制过程原理 给定范围边界经纬度数据,再给它个名字就构成了绘制地图的基础.也就是说,你可以绘制任意形状的地图版块. 2.地图数据生成 中国以及省市县等地图的基础数据可以从这里生成与下载. ht ...
- arcgis api for javascript 学习(五) 实现地图绘制工具
1.本文实现的功能为鼠标与地图之间的交互,能够在地图上绘制不同形状的图形 2.代码部分主要讲到的为Graphic函数的相关功能 <!DOCTYPE html> <html> & ...
- 支付宝小程序室内地图导航开发-支付宝小程序JS加载esmap地图
如果是微信小程序开发,请参考微信小程序室内地图导航开发-微信小程序JS加载esmap地图文章 一.在支付宝小程序里显示室内三维地图 需要满足的两个条件 调用ESMap室内地图需要用到小程序web-vi ...
- 微信小程序map地图的一些使用注意事项
1.小程序组件map,在微信7.0.4以上(不包括7.0.4)层级问题官方已作更新,可在map上随意添加任何标签使用z-index即可:微信7.0.4版本以下map组件层级默认是最高的,只能使用官方提 ...
- 小程序利用canvas 绘制图案 (生成海报, 生成有特色的头像)
小程序利用canvas 绘制图案 (生成海报, 生成有特色的头像) 微信小程序生成特色头像,海报等是比较常见的.下面我来介绍下实现该类小程序的过程. 首先选择前端来通过 canvas 绘制.这样比较节 ...
- HTML5 2D平台游戏开发#6地图绘制
此前已经完成了一部分角色的动作,现在还缺少可以交互的地图让游戏看起来能玩.不过在开始之前应当考虑清楚使用什么类型的地图,就2D平台游戏来说,一般有两种类型的地图,Tile-based和Art-base ...
随机推荐
- apache不断占内存过大,导致虚拟机内存不足,处理方法。
我用512M的vps,访问量不大,但内存占用很大,甚至宕机. 我用top,然后shitf+m发现,httpd占用内存极大.经过网上找资料设置后,用过一段时间终于没再出现内存问题了. 首先查找配置文件的 ...
- python命令行解释器 argparse
一: argparse介绍 1. argparse argparse,它是Python标准库中推荐使用的编写命令行程序的工具 parser = argparse.ArgumentParser() ...
- 视图(View) – ASP.NET MVC 4 系列
精心编写的整洁代码是开发一个可维护 Web 应用程序的基础.但用户在浏览器中访问时,这些工作他们是看不见的.用户对应用程序的第一印象,以及与应用程序的整个交互过程都是从视图开始的. ...
- spring+mybatis整合读取不了配置文件
报错如下: java.sql.SQLException: unkow jdbc driver : ${jdbc.url}其余错误就不贴了,主要原因是没有读取到配置文件 读取配置文件代码: <be ...
- varchar2_to_blob,应用向数据库更新LOB字段时的超时问题
将字符串转换为BLOB类型数据,写入服务器. 1,首先利用to_clob函数把varchar2字段转成 clob字段. 2 利用c2b上面函数将clob转成blob. 即: c2b(to_clob( ...
- IIS性能相关的配置、命令
IIS性能相关的配置.命令 应用程序池回收 不要使用缺省的“固定时间间隔(分钟)”:1740(即29小时),建议改为0 可以根据实际情况设置特定时间回收,比如凌晨4点 最大工作进程数 可以根据实际情况 ...
- 多种姿势破解centos OR readhat enterprises 7.X root密码
NO:1 启动系统,在grub界面按"e"键,进入编辑模式,找到以"linux16"开始的行,在行尾加入"rd.break",按" ...
- Uva11292--------------(The Dragon of Loowater)勇者斗恶龙 (排序后贪心)
---恢复内容开始--- 题目: Once upon a time, in the Kingdom of Loowater, a minor nuisance turned into a major ...
- linux---mysql安装
一.查询本机是否有mysql service mysql status 二.检查已安装的mysql版本 mysql –uroot -p status 三.查看已安装的mysql的组件 dpkg --g ...
- zepto.js使用前注意
API:http://www.css88.com/doc/zeptojs_api/ 一.建议:不要从官网下载,而是从 Github 下载了源代码之后自己 Build 一个版本,这样你可以自行挑选适合的 ...