【C#实战】控制台游戏 勇士斗恶龙(3)——营救公主以及结束界面

这篇具有很好参考价值的文章主要介绍了【C#实战】控制台游戏 勇士斗恶龙(3)——营救公主以及结束界面。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【C#实战】控制台游戏 勇士斗恶龙(3)——营救公主以及结束界面,C#实战,c#,游戏,经验分享,玩游戏

君兮_的个人主页

即使走的再远,也勿忘启程时的初心

C/C++ 游戏开发

Hello,米娜桑们,这里是君兮_,最近开始正式的步入学习游戏开发的正轨,想要通过写博客的方式来分享自己学到的知识和经验,这就是开设本专栏的目的。希望这些独立的C#小项目能对做游戏的你有所帮助,毕竟学会游戏开发的最好的上手方式就是自己做一款游戏!!

前言

  • 今天我们接着来讲勇士斗恶龙的第三部分,也是最后一部分,打败恶龙营救公主的逻辑以及结束界面的相关逻辑
  • 还是先把咱们游戏的整体流程图放在这里
    【C#实战】控制台游戏 勇士斗恶龙(3)——营救公主以及结束界面,C#实战,c#,游戏,经验分享,玩游戏

战胜恶龙以后

  • 有关玩家未能通过恶龙的试炼进入退出游戏界面和营救公主成功后进入退出游戏界面我们之后放到一块说,首先我们先来讲讲如何来营救公主

营救公主

  • 如果勇士足够勇敢又有足够的运气战胜了恶龙,下面我们就可以去营救公主了,首先,我们这里有这样一个条件,当BOSS的hp还没减为0,公主是不能出现在游戏画面中的,只有BOSS的hp减为0,我们才能在游戏画面上标注公主的位置,同时,由于我们击败了恶龙,应该不再让表示BOSS的图标继续出现在画面中,这些,我们在上回的游戏逻辑中都已经用到了,但由于上回的重点在于玩家移动和战斗逻辑,我们并没有展开细讲,下面我们通过这部分代码来回顾一下
 
      //hp>0时,boss活着才绘制
       if (bossHp > 0)
  {
      Console.SetCursorPosition(bossX, bossY);
      Console.ForegroundColor = bossColor;
      Console.Write(bossIcon);
    }
  #region 6 公主显示
  //公主显示
   else
  {
     Console.SetCursorPosition(princessX,princessY);
	Console.ForegroundColor = princessColor;
 	Console.Write(princessIcon);
 }
    #endregion
//擦除BOSS
 else if(bossHp<=0)
 {
     //去营救公主
     //boss擦除
     Console.SetCursorPosition(bossX, bossY);
     Console.Write("  ");
     isFight = false;
     continue;
     
 }
  • 有关公主的初始化,只需要设置一下公主所在的位置,公主的图标以及图标的颜色就行,这里不再赘述。另外,这里是为了讲解拆分出来的,实际不是一段连贯的代码,最后我会把完整的源码放出,大家理解这部分讲的内容即可。

如何营救公主

  • 我们是一款控制台小游戏,同时我这里只是为大家讲一个大的游戏框架,因此一切从简,这里我们来到公主身边并按J键就能营救公主了(当然,这里营救公主也可以设计的比较复杂,比如公主的位置可以是一个随机数,你每营救一次她就会移动到别的地方,营救三次才算成功等等,总之,这些地方都可以按照你自己的想法来自定义,没有具体的要求)
case 'j':
case 'J':
 //判断是否在公主身边
 else if (((playerX == princessX && playerY == princessY - 1) || (playerX == princessX && playerY == princessY + 1) ||
     (playerX == princessX - 2 && princessY == playerY) || (playerX == princessX + 2 && playerY == princessY)) && bossHp <= 0)
 { 
     nowSceneID = 3;//修改场景选择ID进入退出界面
 	nowEndIndex = "恭喜你救出公主";//这个提示语在之后结束界面会用到
 
 	//跳出while循环,回到主循环
 	isOver = true;
     
 }
 break;
 }
 if (isOver)
{
    //此时的break与while配对
    break;
}
  • 由于这里是在while循环中,我们需要重新进入场景选择的switch语句中,因此定义了一个isOver来辅助我们退出循环重新选择场景

游戏结束界面

  • 进入游戏结束界面有两种情况,第一种情况就是营救出了公主,如上所说,第二种情况就是我们的勇士未能击败恶龙,此时也应该进入游戏结束界面
//在这判断玩家或者怪物是否死亡,如果死了,继续后面的流程
if(playerHp<=0)
{
    //游戏结束
    //游戏结束画面
    isOver = true;
    nowSceneID = 3;
	nowEndIndex = "很遗憾你被恶龙击败了";
	endSay = 1;
    break;
}
  • 解释一下,这里的nowEndIndex和endSay,在上面的营救公主成功后也有一个nowEndIndex,当时定义的是“恭喜你救出公主”,我们在进入结束界面时,需要给玩家一个提示,到底是失败了,还是成功救出公主,这个就是在结束界面打印的不同的语句用来提示玩家游戏结果的,同时,这两段提示的字数不同,我们为了保证这两段话都能居中显示,因此定义了一个endSay,通过它的值来判断我们这段文字需要打印的位置。
  • 而有关其他的,结束界面和开始界面是非常类似的,我们直接来看看相关的代码
    case 3:
        Console.Clear();
        int nowEndSelIndex = 0;
        
        while (true)
        {
            bool EndQuitWhile = false;
            Console.SetCursorPosition(w / 2 - 4, 5);

            Console.ForegroundColor = ConsoleColor.White;
            Console.Write("GameOver");
            if(endSay==1)
            Console.SetCursorPosition(w / 2 - 8,7);
            else
            Console.SetCursorPosition(w / 2 - 6,7);
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Console.Write(nowEndIndex);
            Console.ForegroundColor=nowEndSelIndex==0?ConsoleColor.Red:ConsoleColor.White;
            Console.SetCursorPosition(w / 2 - 4, 10);
            Console.Write("继续游戏");
            Console.ForegroundColor = nowEndSelIndex == 0 ? ConsoleColor.White : ConsoleColor.Red;
            Console.SetCursorPosition(w / 2 - 4, 12);
            Console.Write("退出游戏");
            char endInput=Console.ReadKey(true).KeyChar;
            switch (endInput)
            {
                case 'w':
                case 'W':
                    Console.Clear();
                    nowEndSelIndex = 0;
                    break;
                case 's':
                case 'S':
                    Console.Clear();
                    nowEndSelIndex = 1;
                    break;
                case 'j':
                case 'J':
                    if (nowEndSelIndex == 1)
                        Environment.Exit(0);
                    else
                    {
                        nowSceneID = 1;
                        EndQuitWhile = true;
                    }
                    break;

            }
            if(EndQuitWhile)
            {
                break;
            }

        }
        break;
}
  • 当玩家在退出游戏高亮时按下“J”键,直接就退出游戏了,当玩家想要继续游戏,我们就要把游戏场景切换到开始游戏界面,因此这里的EndQuitWhile也是用来辅助我们重新进入游戏场景切换循环的,至于其他的,与开始界面是一模一样的,就不多赘述了。

整体游戏的源码

  • 好了,到这里这个控制台小游戏就讲的差不多了,下面为大家提供该游戏的源码以及游戏截图,方便大家查阅和试玩
using System;
using System.Diagnostics;
using System.Runtime.Intrinsics.X86;

namespace 王子救公主
{
    class Program
    {
        static void Main(string[] args)
        {
            //隐藏光标
            Console.CursorVisible = false;
            //设置舞台的大小
            int w = 60;
            int h = 40;
            Console.SetWindowSize(w,h);
            Console.SetBufferSize(w,h);
            //当前场景的编号
            int nowSceneID = 1;
            string nowEndIndex ="";
            int endSay = 0;
            while (true)
            {
                //不同的场景进行不同的逻辑处理
                switch (nowSceneID)
                {
                    case 1:
                        Console.Clear();
                        #region  1 开始界面
                        Console.SetCursorPosition(w/2-5,10);
                        Console.WriteLine("勇士斗恶龙");
                        //当前选项的编号
                        int nowSelIndex = 0;
                        //因为要输入 我们可以构造一个开始界面的死循环
                        //专门用来处理 开始场景相关的逻辑
                        while (true)
                        {
                            //用一个标识用来退出此循环
                            bool isQuitWhile=false;
                            //显示内容检测输入
                            //设置光标位置,再显示内容
                            Console.SetCursorPosition(w/2-4,12);
                            //根据当前选择的编号来决定是否变色
                            Console.ForegroundColor = nowSelIndex == 0 ? ConsoleColor.Red : ConsoleColor.White;
                            Console.Write("开始游戏");
                            Console.SetCursorPosition(w / 2 - 4, 14);
                            Console.ForegroundColor = nowSelIndex == 1 ? ConsoleColor.Red : ConsoleColor.White;
                            Console.Write("退出游戏");
                            //检查玩家输入的键并且不会在控制台上显示输入内容
                            char input = Console.ReadKey(true).KeyChar;
                            switch (input)
                            {
                                case 'W':
                                case 'w':
                                    nowSelIndex = 0;

                                    break;
                                case 'S':
                                case 's':
                                    nowSelIndex = 1;
                                  
                                    break;
                                case 'j':
                                case 'J':
                                    if(nowSelIndex == 0)
                                    {
                                        //1.改变场景ID
                                        nowSceneID = 2;
                                        //2.要退出内层循环while
                                        isQuitWhile = true;
                                    }
                                    else
                                    {
                                        //关闭控制台
                                        Environment.Exit(0);
                                    }
                                    break;
                            }

                            if (isQuitWhile == true)
                                break;

                        }
                    #endregion
                        break;
                    case 2:
                        Console.Clear();
                        #region 2 红墙
                        Console.ForegroundColor = ConsoleColor.Red;
                        //画墙
                        //设为红色
                        int i = 0;
                        //横墙
                        for(i = 0; i < w;i+=2)
                        {
                            Console.SetCursorPosition(i, 0);
                            Console.Write('■');
                            Console.SetCursorPosition(i, h-1);
                            Console.Write('■');
                            Console.SetCursorPosition(i, h-9);
                            Console.Write('■');
                        }
                        //竖墙
                        int j = 0;
                        for (j = 0; j <h; j++)
                        {
                            Console.SetCursorPosition(0, j);
                            Console.Write('■');
                            Console.SetCursorPosition(w-2,j);
                            Console.Write('■');
                          
                        }
                        #endregion
                        #region
                        #region 3 Boss属性相关
                        int bossX = 24;
                        int bossY = 15;
                        int bossAtkMin = 7;
                        int bossAtkMax = 13;
                        int bossHp = 100;
                        string bossIcon = "●";
                        //申明一个颜色变量
                        ConsoleColor bossColor = ConsoleColor.Red;
                        #endregion
                        
                        #region 4 玩家属性相关
                        int playerX = 4;
                        int playerY = 5;
                        int playerAtkMin = 7;
                        int playerAtkMax = 13;
                        int playerHp = 100;
                        string playerIcon = "●";
                        ConsoleColor playerColor = ConsoleColor.Green;
                        //公主相关
                        int princessX = 24;
                        int princessY = 5;
                        string princessIcon = "▲";
                        ConsoleColor princessColor = ConsoleColor.Blue;
                        char playerInput;

                        #endregion
                        #region 5 玩家战斗相关
                        bool isFight = false;
                        //游戏结束
                        bool isOver=false;
                        #endregion
                        //游戏场景的死循环 专门用来 检测玩家的输入相关的循环
                        while (true)
                        {
                           
                            //画出玩家
                            Console.SetCursorPosition(playerX, playerY);
                            Console.ForegroundColor= playerColor;
                            Console.Write(playerIcon);
                            //不停的输入wasd键 都可以控制它移动                          
                            
                                //hp>0时,boss活着才绘制
                                if (bossHp > 0)
                                {
                                    Console.SetCursorPosition(bossX, bossY);
                                    Console.ForegroundColor = bossColor;
                                    Console.Write(bossIcon);
                                }
                                #region 6 公主显示
                                //公主显示
                                else
                                {
                                    Console.SetCursorPosition(princessX, princessY);
                                    Console.ForegroundColor = princessColor;
                                    Console.Write(princessIcon);

                                }
                                #endregion
                                Console.SetCursorPosition(playerX, playerY);
                                Console.ForegroundColor= playerColor;
                                Console.Write(playerIcon);
                                //玩家输入
                                playerInput = Console.ReadKey(true).KeyChar;
                                if(isFight)
                                {
                                    //如果是战斗状态
                                    //只会处理j键
                                    if(playerInput=='j'||playerInput=='J')
                                    {
                                        //在这判断玩家或者怪物是否死亡,如果死了,继续后面的流程
                                        if(playerHp<=0)
                                        {
                                            //游戏结束
                                            //游戏结束画面
                                            isOver = true;
                                            nowSceneID = 3;
                                        nowEndIndex = "很遗憾你被恶龙击败了";
                                        endSay = 1;
                                            break;
                                        }
                                        else if(bossHp<=0)
                                        {
                                            //去营救公主
                                            //boss擦除
                                            Console.SetCursorPosition(bossX, bossY);
                                            Console.Write("  ");
                                            isFight = false;
                                            continue;
                                            
                                        }

                                        //玩家打怪物
                                        Random r= new Random();
                                        int atk = r.Next(playerAtkMin,playerAtkMax);
                                        bossHp -= atk;
                                        Console.ForegroundColor=ConsoleColor.Green;
                                        Console.SetCursorPosition(2, h - 7);
                                        Console.Write("                                            ");
                                        if (bossHp <= 0)
                                        {
                                            
                                            //擦除
                                            Console.SetCursorPosition(2, h - 6);
                                            Console.Write("                                            ");
                                            Console.SetCursorPosition(2, h - 7);
                                            Console.Write("                                            ");
                                            Console.SetCursorPosition(2, h - 8);
                                            Console.Write("                                            ");
                                            Console.SetCursorPosition(2, h - 8);
                                            Console.Write("你发动了致命一击造成了{0},恭喜你击败了恶龙", atk);
                                           
                                            Console.ForegroundColor = ConsoleColor.Red;
                                            Console.SetCursorPosition(2, h - 7);
                                            Console.Write("快去营救公主!!!,按J键继续");
                                            
                                            
                                        }
                                        else
                                        {
                                            Console.SetCursorPosition(2, h - 7);
                                            Console.Write("勇士对恶龙造成了{0}点伤害,此时恶龙还有{1}血", atk, bossHp);
                                            //怪兽打玩家
                                            atk = r.Next(bossAtkMin, bossAtkMax);
                                            playerHp -= atk;
                                            Console.ForegroundColor = ConsoleColor.Red;
                                            Console.SetCursorPosition(2, h - 6);
                                            Console.Write("                                         ");
                                            
                                            //Boss打死玩家
                                            if(playerHp<=0)
                                            {
                                                
                                                Console.SetCursorPosition(2, h - 6);
                                                Console.Write("很遗憾,你未能战胜恶龙");
                                                
                                            }
                                            else
                                            {
                                                Console.SetCursorPosition(2, h - 6);
                                                Console.Write("恶龙对勇士造成了{0}点伤害,此时你还有{1}血", atk, playerHp);
                                            }
                                        }
                                       
                                    }

                                }
                                else
                                {
                                    #region 6 玩家移动相关
                                    //擦除

                                    Console.SetCursorPosition(playerX, playerY);
                                    Console.Write("  ");

                                    switch (playerInput)
                                    {
                                        //贯穿
                                        case 'a':
                                        case 'A':
                                            playerX -= 2;
                                            if (playerX < 2)
                                                playerX = 2;
                                            else if (playerX == bossX && playerY == bossY && bossHp > 0)
                                                playerX += 2;
                                            else if (playerX == princessX && playerY == princessY && bossHp <= 0)
                                                playerX += 2;
                                            break;
                                        case 'w':
                                        case 'W':
                                            playerY--;
                                            if (playerY < 1)
                                                playerY++;
                                            else if (playerX == bossX && playerY == bossY && bossHp > 0)
                                                playerY++;
                                            else if (playerX == princessX && princessY == playerY && bossHp <= 0)
                                                playerY++;

                                            break;
                                        case 's':
                                        case 'S':

                                            playerY++;
                                            if (playerY > h - 10)
                                                playerY--;
                                            else if (playerX == bossX && playerY == bossY && bossHp > 0)
                                                playerY--;
                                            else if (playerX == princessX && playerY == princessY && bossHp <= 0)
                                                playerY--;

                                            break;
                                        case 'd':
                                        case 'D':
                                            playerX += 2;
                                            if (playerX > w - 4)
                                                playerX -= 2;
                                            else if (playerX == bossX && playerY == bossY && bossHp > 0)
                                                playerX -= 2;
                                            else if (playerX == princessX && playerY == princessY && bossHp <= 0)
                                                playerX -= 2;
                                            break;
                                        case 'j':
                                        case 'J':
                                            //开始战斗
                                            if (((playerX == bossX && playerY == bossY - 1) || (playerX == bossX && playerY == bossY + 1) ||
                                                (playerX == bossX - 2 && playerY == bossY) || (playerX == bossX + 2 && playerY == bossY)) && bossHp > 0)
                                            {
                                                isFight = true;
                                                //可以开始战斗了
                                                Console.SetCursorPosition(2, h - 8);
                                                Console.ForegroundColor = ConsoleColor.White;
                                                Console.Write("你开始和恶龙战斗了,按J键继续");


                                            }
                                            //判断是否在公主身边
                                            else if (((playerX == princessX && playerY == princessY - 1) || (playerX == princessX && playerY == princessY + 1) ||
                                                (playerX == princessX - 2 && princessY == playerY) || (playerX == princessX + 2 && playerY == princessY)) && bossHp <= 0)
                                            { 
                                                nowSceneID = 3;
                                            nowEndIndex = "恭喜你救出公主";
                                            
                                            //跳出while循环,回到主循环
                                            isOver = true;
                                                
                                            }
                                                break;
                                    }
                                }
                                if (isOver)
                                {
                                    //此时的break与while配对
                                    break;
                                }


                            }                       
                         
                        break;
                   
                    case 3:
                        Console.Clear();
                        int nowEndSelIndex = 0;
                        
                        while (true)
                        {
                            bool EndQuitWhile = false;
                            Console.SetCursorPosition(w / 2 - 4, 5);

                            Console.ForegroundColor = ConsoleColor.White;
                            Console.Write("GameOver");
                            if(endSay==1)
                            Console.SetCursorPosition(w / 2 - 8,7);
                            else
                            Console.SetCursorPosition(w / 2 - 6,7);
                            Console.ForegroundColor = ConsoleColor.DarkRed;
                            Console.Write(nowEndIndex);
                            Console.ForegroundColor=nowEndSelIndex==0?ConsoleColor.Red:ConsoleColor.White;
                            Console.SetCursorPosition(w / 2 - 4, 10);
                            Console.Write("继续游戏");
                            Console.ForegroundColor = nowEndSelIndex == 0 ? ConsoleColor.White : ConsoleColor.Red;
                            Console.SetCursorPosition(w / 2 - 4, 12);
                            Console.Write("退出游戏");
                            char endInput=Console.ReadKey(true).KeyChar;
                            switch (endInput)
                            {
                                case 'w':
                                case 'W':
                                    Console.Clear();
                                    nowEndSelIndex = 0;
                                    break;
                                case 's':
                                case 'S':
                                    Console.Clear();
                                    nowEndSelIndex = 1;
                                    break;
                                case 'j':
                                case 'J':
                                    if (nowEndSelIndex == 1)
                                        Environment.Exit(0);
                                    else
                                    {
                                        nowSceneID = 1;
                                        EndQuitWhile = true;
                                    }
                                    break;

                            }
                            if(EndQuitWhile)
                            {
                                break;
                            }

                        }
                        break;
                }
            }
            


            }
    }
    #endregion

}

#endregion

【C#实战】控制台游戏 勇士斗恶龙(3)——营救公主以及结束界面,C#实战,c#,游戏,经验分享,玩游戏
【C#实战】控制台游戏 勇士斗恶龙(3)——营救公主以及结束界面,C#实战,c#,游戏,经验分享,玩游戏

【C#实战】控制台游戏 勇士斗恶龙(3)——营救公主以及结束界面,C#实战,c#,游戏,经验分享,玩游戏
【C#实战】控制台游戏 勇士斗恶龙(3)——营救公主以及结束界面,C#实战,c#,游戏,经验分享,玩游戏
【C#实战】控制台游戏 勇士斗恶龙(3)——营救公主以及结束界面,C#实战,c#,游戏,经验分享,玩游戏

总结

  • 好啦,到这里我们第一个C#实战游戏就结束了,之后还会继续更新别的游戏的教学的,敬请期待!!
  • 为了防止大家找不到之前的内容,在这里附一下之前教学的链接
    【C#项目实战】控制台游戏 勇士斗恶龙(2)——游戏场景的设置以及玩家战斗逻辑
    【C#项目实战】控制台游戏勇士斗恶龙(1)——游戏初始设置以及开始界面

新人博主创作不易,如果感觉文章内容对你有所帮助的话不妨三连一下再走呗。你们的支持就是我更新的动力!!!

**(可莉请求你们三连支持一下博主!!!点击下方评论点赞收藏帮帮可莉吧)**

【C#实战】控制台游戏 勇士斗恶龙(3)——营救公主以及结束界面,C#实战,c#,游戏,经验分享,玩游戏文章来源地址https://www.toymoban.com/news/detail-708445.html

到了这里,关于【C#实战】控制台游戏 勇士斗恶龙(3)——营救公主以及结束界面的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++控制台实现简化版吃鸡游戏

    直接上代码 这个游戏是一个简化版的吃鸡游戏。你需要通过键盘输入W、A、S、D来移动玩家位置,并击败敌人来获得积分。当你累计得分达到5分时,游戏结束,你将获得胜利。地图中的P表示玩家位置,E表示敌人位置,.表示空白位置。每次击败敌人后,将会生成一个新的敌人

    2024年02月16日
    浏览(39)
  • c++控制台双人格斗小游戏(测试版)

    嗨嗨嗨,又是我! 我又来发博客啦! 最近太闲了,又做了个small游戏:小人-格斗(测试版) 记得加上gamesio.h哦

    2024年02月12日
    浏览(39)
  • C#控制台应用程序如何添加窗口关闭事件?

    公司有一个控制台应用程序,在关闭控制台应用程序窗口前,想处理一下业务逻辑。还有比如误操作关闭了,或者像消息队列启动了发送消息提醒,那关闭了窗口代表控制台应用销毁了,也需要发送消息通知。那这个时候添加关闭窗口事件就派上用场了。 很多小伙伴问,有没

    2024年02月13日
    浏览(32)
  • 超好玩C++控制台打飞机小游戏,附源码

    我终于决定还是把这个放出来。 视频在这:https://v.youku.com/v_show/id_XNDQxMTQwNDA3Mg==.html 具体信息主界面上都有写。 按空格暂停,建议暂停后再升级属性。 记录最高分的文件进行了加密。 有boss(上面视频2分47秒)。 挺好玩的。 可能有bug,不想改了,整体体验不错就行了。 更多

    2024年02月05日
    浏览(34)
  • OpenKruiseGame × KubeSphere 联合发布游戏服运维控制台,推动云原生游戏落地

    作者:云原生游戏社区 近日,云原生游戏开源社区旗下 OpenKruiseGame(以下简称:OKG)基于 KubeSphere 4.0 LuBan 架构开发的游戏服运维控制台 OKG Dashboard 正式发布!现已上架 KubeSphere Marketplace 云原生应用扩展市场,支持免费使用。 OpenKruiseGame(OKG) 是 CloudNativeGame 社区联合阿里云

    2024年01月24日
    浏览(41)
  • 浅析 C# Console 控制台为什么也会卡死

    在分析旅程中,总会有几例控制台的意外卡死导致的生产事故,有经验的朋友都知道,控制台卡死一般是动了 快速编辑窗口 的缘故,截图如下: 虽然知道缘由,但一直没有时间探究底层原理,市面上也没有对这块的底层原理介绍,昨天花了点时间简单探究了下,算是记录分

    2024年02月08日
    浏览(49)
  • 浅析 C# 控制台的 Ctrl+C 是怎么玩的

    上一篇我们聊到了 Console 为什么会卡死,读过那篇文章的朋友相信对 conhost.exe 有了一个大概的了解,这一篇更进一步聊一聊窗口的特殊事件 Ctrl+C 底层流转到底是什么样的,为了方便讲述,让 chagtgpt 给我生成一段Ctrl+C 的业务代码。 然后简单跑一下,确认代码没毛病。 相信很

    2024年02月08日
    浏览(29)
  • VS2022 和 VS2010 C#控制台输出 Hello World

    最后,一定将【 ✔ 】将解决方案和项目放在同一个目录中(D)的对勾点上,如上图。这个小习惯,对于以后程序的维护有好处。 Console.WriteLine(\\\"Hello World\\\");   代码输入完成以后,可以通过以下3种方法来运行。 1 、在菜单栏上选择 “ 调试 ”-“ 开始执行(不调试) ” 命令。

    2024年02月06日
    浏览(38)
  • C#控制台连接Mysql数据库,有配置数据库连接字符串的配置文件

    实现功能 读取. .txt 中的配置文件,来初始化连接字符串 让连接字符串的配置文件不存在会主动创建默认的连接字符串 注意点: 需要引用Newtonsoft 使用mysql

    2024年02月10日
    浏览(42)
  • C# 关于使用newlife包将webapi接口寄宿于一个控制台程序、winform程序、wpf程序运行

    C# 关于使用newlife包将webapi接口寄宿于一个控制台程序、winform程序、wpf程序运行 安装newlife包 Program的Main()函数源码 MyController 源码 MyHttpHandler 源码 源代码百度链接 链接:https://pan.baidu.com/s/15OxTDOBO_y5bFyrzPW3XPw?pwd=sr3c 提取码:sr3c

    2024年02月15日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包