抽卡代码(简陋) 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
相关推荐
土了个豆子的6 小时前
02.继承MonoBehaviour的单例模式基类
开发语言·visualstudio·单例模式·c#·里氏替换原则
疯狂的维修6 小时前
c#中public类比博图
c#·自动化
qq_172805596 小时前
Go 自建库的使用教程与测试
开发语言·后端·golang
久绊A6 小时前
Hydra-SSH 破解安全防范
开发语言·php
阿昭L7 小时前
c++中获取随机数
开发语言·c++
3壹7 小时前
数据结构精讲:栈与队列实战指南
c语言·开发语言·数据结构·c++·算法
悟乙己7 小时前
使用 Python 中的强化学习最大化简单 RAG 性能
开发语言·python·agent·rag·n8n
max5006007 小时前
图像处理:实现多图点重叠效果
开发语言·图像处理·人工智能·python·深度学习·音视频
RickyWasYoung8 小时前
【代码】matlab-遗传算法工具箱
开发语言·matlab
土了个豆子的9 小时前
03.缓存池
开发语言·前端·缓存·visualstudio·c#