zoukankan      html  css  js  c++  java
  • 剪刀 石头 布

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using WindowsFormsApp4;
    
    namespace ConsoleApp1
    {
        abstract class Base
        {
            public string Name { get; set; }
            public int Number { get; set; }
        }
        class Player : Base
        {
            public int Fist(string name)
            {
                Name = name;
                switch (name)
                {
                    case "剪刀":
                        Number = 0;
                        break;
                    case "石头":
                        Number = 1;
                        break;
                    case "":
                        Number = 2;
                        break;
                }
                return Number;
            }
        }
    
    
        class Computer : Base
        {
            public int Fist()
            {
                var mapping = new string[] { "剪刀", "石头", "" };
                Number = new Random().Next(3);
                Name = mapping[Number];
                return Number;
            }
        }//end Computer
        public enum Result { Win, Lose, Draw }
        class Judge
        {
            public static Result Confirm(Player playerObj, Computer computerObj)
            {
                var delta = playerObj.Number - computerObj.Number;
                switch (delta)
                {
                    case 0:
                        return Result.Draw;
                    case -2:
                    case 1:
                        return Result.Win;
                    default:
                        return Result.Lose;
                }
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                while (true)
                {
                    var playName = Console.ReadLine();
                    Content(playName); 
                }
            }
    
            private static void Content(string playName)
            {
                var player = new Player();
                var computer = new Computer();
                var playerFist = player.Fist(playName);
                var computerFist = computer.Fist();
                var result = Judge.Confirm(player, computer);
                Console.WriteLine("玩家:{0},计算机:{1},结果:{2}",
                    player.Name, computer.Name, result);
            }
    
    //end Main
        }//end Program
    
        static class ObjectExt
        {
            public static void Write(this object obj)
            {
                Console.WriteLine(obj);
            }
    
            public static void Write<T>(this IEnumerable<T> obj)
            {
                foreach (var o in obj)
                {
                    Console.WriteLine(o);
                }
            }
        }
    }//end namespace
  • 相关阅读:
    hdu 思维风暴
    HDU 4183Pahom on Water(网络流之最大流)
    现在仍在工作的12名最“屌”的程序猿
    安卓ContentObserver模式获取短信用正则自己主动填充验证码
    Android插件实例——360 DroidPlugin具体解释
    mysql---union的使用方法
    SICP 习题 (2.11)解题总结:区间乘法的优化
    jQuery中的ajax
    Ajax的简单总结
    jQuery插件开发
  • 原文地址:https://www.cnblogs.com/zhaoxianglong1987/p/7682197.html
Copyright © 2011-2022 走看看