using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading; namespace _2d
{
class Dit
{
public int x, y; }
class Map
{
public void mp()
{
const int buy = 20;
for (int i = 0; i < buy; i++)
{
for (int j = 0; j < buy; j++)
{
if (i == 0 || i == buy - 1 || j == 0 || j == buy - 1)
Console.Write("█");
else
Console.Write(" ");
}
Console.WriteLine();
}
}
const char b='@';
const char d = ' ';
const char e = '*';
public int fenshu=0;
public void set(int x, int y, char b)
{
int buy = 20;
Console.SetCursorPosition(2 * y, x);
Console.Write(b);
Console.SetCursorPosition(0, buy);
} public void put()
{
int speed = 160;
int buy=20;
Random where = new Random();
Random _where=new Random();
Dit renwu = new Dit();
renwu.x = _where.Next(1, buy - 2);
renwu.y = _where.Next(1, buy - 2);
set(renwu.x, renwu.y, b);
bool food = false;
Dit _food=new Dit();
_food.x=where.Next(1,buy-2);
_food.y=where.Next(1,buy-2);
set(_food.y,_food.x,e); char c;
for (; ; )
{
c = Console.ReadKey(true).KeyChar; switch (c)
{ case 'w': set(renwu.x, renwu.y, d); set(renwu.x - 1, renwu.y, b); renwu.x--; Thread.Sleep(speed); break;
case 'a': set(renwu.x, renwu.y, d); set(renwu.x, renwu.y - 1, b); renwu.y--; Thread.Sleep(speed); break;
case 's': set(renwu.x, renwu.y, d); set(renwu.x + 1, renwu.y, b); renwu.x++; Thread.Sleep(speed); break;
case 'd': set(renwu.x, renwu.y, d); set(renwu.x, renwu.y + 1, b); renwu.y++; Thread.Sleep(speed); break;
}
if (renwu.x == 0 || renwu.y == 0 || renwu.x == buy - 1 || renwu.y == buy - 1)
{
Console.Clear();
Console.WriteLine("GameOver!\n您的得分是{0}",fenshu);
}
if(renwu.x==_food.y&&renwu.y==_food.x)
{
food=true;
_food.x = where.Next(1, buy - 2);
_food.y = where.Next(1, buy - 2);
set(_food.y, _food.x, e);
fenshu++;
}
} } } class Menu
{
public void paly()
{
Console.WriteLine("2d命令行小游戏");
Console.WriteLine("输入1开始游戏\n请将输入法调至英文状态");
}
public void start()
{
int a = Convert.ToInt32(Console.ReadLine());
if (a == 1)
{
Console.Clear();
Map _map = new Map();
_map.mp();
_map.put();
}
}
}
class Program
{
static void Main(string[] args)
{
Menu _menu = new Menu();
Console.CursorVisible = false;
_menu.paly();
_menu.start();
Console.ReadLine();
}
}
}

2d命令行小游戏源码的更多相关文章

  1. C#2d命令行小游戏

    [ 星 辰 · 第 二 条 约 定 ] 要求 空地:空格 | 边界/墙:'█' | 人物:'♜' 实现人物的上下左右移动 记录关系图.流程图.设计过程遇到的问题及解决 项目压缩包 [项目源码](htt ...

  2. 2D命令行小游戏Beta1.0

    前提: 遇到许多问题,没有参考大佬一些方法是敲不出来的...Orz using System; using System.Collections.Generic; using System.Linq; ...

  3. HTML5小游戏源码收藏

    html5魅族创意的贪食蛇游戏源码下载 html5网页版打砖块小游戏源码下载 html5 3D立体魔方小游戏源码下载 html5网页版飞机躲避游戏源码下载 html5三国人物连连看游戏源码下载 js ...

  4. Creator仿超级玛丽小游戏源码分享

    Creator仿超级玛丽小游戏源码分享 之前用Cocos Creator 做的一款仿超级玛丽的游戏,使用的版本为14.2 ,可以直接打包为APK,现在毕设已经完成,游戏分享出来,大家一起学习进步.特别 ...

  5. h5小球走迷宫小游戏源码

    无意中找到的一个挺有意思的小游戏,关键是用h5写的,下面就分享给大家源码 还是先来看小游戏的截图 可以用键盘的三个键去控制它,然后通关 下面是源代码 <!doctype html> < ...

  6. flappy pig小游戏源码分析(1)——主程序初探

    闲逛github发现一个javascript原生实现的小游戏,源码写的很清晰,适合想提高水平的同学观摩学习.读通源码后,我决定写一系列的博客来分析源码,从整体架构到具体实现细节来帮助一些想提高水平的朋 ...

  7. flappy pig小游戏源码分析(3)——解剖util

    这一节我们继续高歌猛进,如果对源码中有无论无何都理解不通的问题,欢迎和我交流,让我也学习一下,我的qq是372402487. 还是按照惯例看看我们的目录结构. 我们在前两节中已经分析了game.js, ...

  8. flappy pig小游戏源码分析(4)——核心pig模块(未完待续)

    热身之后,我们要动点真格的了,游戏叫flappy pig,我们的pig终于要出场了. 老规矩,看看目录结构,读者对着目录结构好好回想我们已经讲解的几个模块: 其中game.js是游戏主程序,optio ...

  9. flappy pig小游戏源码分析(2)——解剖option

    今天继续分析flappy bird的源码.重温一下源码的目录结构. 在本系列第一篇中我们分析了game.js文件,也就是整个程序的架构.这一篇我们来看看option.js文件,这个文件的内容很简单,主 ...

随机推荐

  1. Python入门 —— 05时间日期处理小结

    此文多涉及基础,如果想要深入理解则到文末,有提供链接 涉及对象 1. datetime 2. timestamp 3. time tuple 4. string 5. date - datetime基 ...

  2. Git简单配置ssh秘钥

    执行以下命令: git config --global user.name "demo" git config --global user.email "demo@dem ...

  3. 网站http配置https -- 阿里云 nginx

    通过阿里云领取免费证书可将网站配置为https 步骤为下: 登陆阿里云点击sll证书,然后点击购买证书 选择免费的 然后立即购买 购买后会让你填写一些域名信息 然后提交签发证书 签发后点击下方下载 选 ...

  4. APSC4xSeries_Ver32.exe在win764位提示缺少DLL错误解决办法

    APSC4xSeries_Ver32.exe在win764位提示缺少DLL错误解决办法 从网上下载oatime_epson-me1清零软件,Stylus4xProgram_Ver32的 解决办法:还是 ...

  5. 解决gradle下载慢的问题(转)

    问题一:新建项目下载gradle慢的问题 解决方法: 打开用户主目录 linux平台/home/用户名/.gradle windows平台c:\Users\用户名\.gradle macos平台/Us ...

  6. python应用:爬虫框架Scrapy系统学习第二篇——windows下安装scrapy

    windows下安装scrapy 依次执行下列操作: pip install wheel pip install lxml pip install PyOpenssl 安装Microsoft visu ...

  7. consonant_爆破音

    consonant_爆破音_[p]和[b].[t]和[d].[k]和[g] 声带震动:发音的重要作用. 爆破音:发音在一瞬间,不会延长气流. [p]:声带不震动,嘴唇咬在一起,有明显的气流.map.p ...

  8. win10安装kali组双系统

    一.镜像下载: 根据需求下载自己需要的版本 从官网下载kali 2018.2 的安装包:https://www.kali.org/downloads/ 二.烧录: 这里推荐用 win32 disk i ...

  9. 【HDOJ-1081】To The Max(动态规划)

    To the Max Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Problem ...

  10. 【BZOJ3611】大工程(虚树,动态规划)

    [BZOJ3611]大工程(虚树,动态规划) 题面 BZOJ Description 国家有一个大工程,要给一个非常大的交通网络里建一些新的通道. 我们这个国家位置非常特殊,可以看成是一个单位边权的树 ...