抽卡代码(简陋) 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
相关推荐
wjs202416 小时前
Django Nginx+uWSGI 安装配置指南
开发语言
七夜zippoe17 小时前
JVM类加载机制(Class Loading)详解:双亲委派模型与破坏实践
java·开发语言·jvm·类加载·双亲委派
曹牧17 小时前
C#:无法从方法组转换为objec
开发语言·c#
自动化代码美学17 小时前
【Python3.13】官网学习之控制流
开发语言·windows·python·学习
coderxiaohan18 小时前
【C++】仿函数 + 模板进阶
开发语言·c++
刘欣的博客19 小时前
C# 从API接口获取对象而不用先定义对象类
c#·json动态创建对象
IMPYLH19 小时前
Lua 的 collectgarbage 函数
开发语言·笔记·junit·单元测试·lua
百锦再19 小时前
第18章 高级特征
android·java·开发语言·后端·python·rust·django
Tony Bai20 小时前
Go 在 Web3 的统治力:2025 年架构与生态综述
开发语言·后端·架构·golang·web3