命令行小游戏Beta1.0
来源:互联网 发布:楼层网络布局图 编辑:程序博客网 时间:2024/05/11 04:46
遇到的问题:
1.Console.ReadKey() 返回的是一个 ConsoleKeyInfo 对象,表示按键的状态,包括按下的键位、以及 Shift、Alt 和 Ctrl 的状态等等
2.Console.ReadKey() 可以传递一个 Boolean 参数,表示是否隐藏回显,默认是 false。如果传递 true 的话,用户的输入就不会回显在控制台上。
ConsoleKeyInfo kinfo = Console.ReadKey(true); var op= Console.ReadKey(true); switch (op.KeyChar)
3.用Console.clear() 屏幕闪烁严重。参考了其他人的做法 改成用Console.SetCursorPosition(x,y);只重绘了前后两个位置。
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Beta1._0{ class Game { private int MapHight ; private int MapWidth; private int PlayerX; private int PlayerY; public Game () { MapHight = 20; MapWidth = 40; PlayerX = 5; PlayerY = 5; } public void Move () { var op= Console.ReadKey(true); switch (op.KeyChar) { case 'w': case 'W': if (PlayerY > 1) { Console.SetCursorPosition(PlayerX, PlayerY); Console.Write(" "); PlayerY--; Console.SetCursorPosition(PlayerX, PlayerY); Console.Write("♜"); } break; case 's': case 'S': if (PlayerY <MapHight-1) { Console.SetCursorPosition(PlayerX, PlayerY); Console.Write(" "); PlayerY++; Console.SetCursorPosition(PlayerX, PlayerY); Console.Write("♜"); } break; case 'a': case 'A': if (PlayerX > 1) { Console.SetCursorPosition(PlayerX, PlayerY); Console.Write(" "); PlayerX--; Console.SetCursorPosition(PlayerX, PlayerY); Console.Write("♜"); } break; case 'd': case 'D': if (PlayerX < MapWidth - 1) { Console.SetCursorPosition(PlayerX, PlayerY); Console.Write(" "); PlayerX++; Console.SetCursorPosition(PlayerX, PlayerY); Console.Write("♜"); } break; } } public void show() { int i, j; for (i = 0; i <= MapHight; i++) { for (j = 0; j <= MapWidth; j++) { if (i == 0 || i == MapHight || j == 0 || j == MapWidth) Console.Write("#"); else if (i == PlayerY && j == PlayerX) Console.Write("♜"); else Console.Write(" "); } Console.WriteLine(); } } } class Program { static void Main(string[] args) { Game g=new Game (); g.show(); while(true) { g.Move(); } Console.ReadKey(); } }}
0 0
- 命令行小游戏Beta1.0
- XCodeFactory3.0Beta1推出 !
- XCodeFactory3.0Beta1推出
- step1-beta1.0
- Hibernate 3.6.0 Beta1
- 油漆桶beta1.0
- Music player beta1.0
- 剪包锤小游戏(java,命令行)
- JBossAS 5.0.0 Beta1发布
- 2048小游戏——C++命令行版本
- C++扫雷小游戏(基于CMD命令行)
- 【Java学习】Java命令行猜数字小游戏
- Hibernate3.0Beta1版包简介
- Hibernate3.0Beta1版包简介
- c#远程网页抓取器(beta1.0)
- 网络小说采集器发布beta1.0
- EventBus3.0-beta1和之前的区别
- Ubuntu 17.04 安装Hadoop 3.0.0-beta1
- html5 ajax文件上传
- 算法学习
- test
- iOS去掉html 的转义符号
- JDK1.8新特性(二)Lambda表达式入门
- 命令行小游戏Beta1.0
- Error:Execution failed for task ':DistAndroidMapPhone:transformClassesWithDexForDebug
- 对IEEE 802.15.4中Slotted CSMA-CA的理解
- CSS绘制步骤条 ( 三角形)
- Android File.list().length == 0判断文件夹是否为空抛出空指针异常解决
- 根据数据库中字段的不同数字,页面使用不同的html标签
- 将时间转化成今天、昨天和前天格式
- jquery正则
- UML——结构