抽卡代码(简陋) C#

简单写了一个抽卡代码,没有修饰,用起来其实还挺难受的。抽10连的时候按0可以跳过抽取过程。

cs 复制代码
using System;
using System.Collections.Generic;
using System.Threading;

class Program
{
    static void Main()
    {

        //随机数初始化
        Random random = new Random(); // 或者不使用种子值
        int Length = 100; // 假设我们需要100个随机数
        List<int> randomNumbers = new List<int>();
        // 生成随机数序列
        



        //定义一个值储存概率,初始概率为0.6%
        double p = 0.6 * 0.01;
        
        
        int i=0;
        string judge = "1";
        int n=0;
        //延迟等待时间
        int time = 400;

        //抽卡,读取开始命令,单抽或者十连抽,两个if,然后读取概率,
        while (true)
        {

            for (int j = 0; j < Length; j++)
            {
                randomNumbers.Add(random.Next(0, 1000)); // 生成0到999之间的随机数
            }


            judge = "1";


            Console.WriteLine("------------------------------------------");
            Console.WriteLine("|------       单抽按1        ------------|");
            Console.WriteLine("|------       十连按2        ------------|");
            Console.WriteLine("|------       退出按0        ------------|");
            Console.WriteLine("------------------------------------------");
            

            
            



            Thread.Sleep(time);



            //for (i=0;i<999;i++)
            //{
            //    string s= Console.ReadLine();
            //    if (s[0] != '\n')
            //    {
            //        n = Convert.ToInt32(s);
            //        break;
            //    }
            //}



            for (int j = 0; j < 999; j++)
            {

              

                string s = Console.ReadLine();
                
                // 检查字符串是否为空(即用户是否只按下了回车键)
                if (!string.IsNullOrEmpty(s))
                {
                    // 尝试将字符串转换为整数
                    bool isNumber = int.TryParse(s, out n);
                    if (isNumber)
                    {
                        // 转换成功,跳出循环
                        break;
                    }
                    else
                    {
                        // 转换失败,可以打印错误消息或采取其他措施
                        Console.WriteLine("输入的不是一个有效的整数,请重新输入。");
                    }
                }

            }

            if (n == 2)
                n = 10;
            if (n == 0)
                break;


            for (; i < 999; i++)
            {
                


                if (n == 1)
                {
                    if (randomNumbers[i] <= p * 1000)
                    {
                        Console.WriteLine("***抽中了***");

                    }
                    else
                    {
                        Console.WriteLine("没抽中");

                    }
                    Console.WriteLine("已经抽了{0}", i+1);
                    Thread.Sleep(time);
                    
                    n = n - 1;

                }
                else if (n > 1)
                {



                    if (randomNumbers[i] <= p * 1000)
                    {
                        Console.WriteLine("***抽中了***");
                    }
                    else
                    {
                        Console.WriteLine("没抽中");
                    }

                    if (judge == "0")
                    {

                    }
                    else
                    {
                        Thread.Sleep(time);
                        judge = Console.ReadLine();
                    }
                    
                    n = n - 1;

                   
                   
                }
                else
                {
                    
                    break;



                }
                

            }




        }




        

        




    }
}

输出结果:

cs 复制代码
------------------------------------------
|------       单抽按1        ------------|
|------       十连按2        ------------|
|------       退出按0        ------------|
------------------------------------------
2
没抽中
0
没抽中
没抽中
没抽中
没抽中
没抽中
没抽中
没抽中
没抽中
***抽中了***
已经抽了100
相关推荐
猫霸8 分钟前
WPF静态资源StaticResource和动态资源DynamicResource有什么区别,x:Static又是什么意思?
分布式·c#·.net·wpf
天天进步201524 分钟前
Python项目--基于Python的自然语言处理文本摘要系统
开发语言·python·自然语言处理
NetX行者39 分钟前
详解正则表达式中的?:、?= 、 ?! 、?<=、?<!
开发语言·前端·javascript·正则表达式
流云一号40 分钟前
Python实现贪吃蛇三
开发语言·前端·python
小白教程43 分钟前
如何处理Python爬取视频时的反爬机制?
开发语言·python·音视频·python爬虫
LIUDAN'S WORLD1 小时前
C++零基础实践教程 函数 数组、字符串与 Vector
开发语言·c++·算法
热爱编程的OP1 小时前
Numpy常用库方法总结
开发语言·python·numpy
cliffordl1 小时前
ReportLab 导出 PDF(文档创建)
开发语言·python·pdf
水w1 小时前
【Python爬虫】简单案例介绍2
开发语言·爬虫·python
命运之光3 小时前
qt中解决#include “main.moc“问题
开发语言·qt