21点游戏,命令行的,面像过程的写法。Ruby

21点游戏,命令行的,面像过程的写法。
ruby 的写法以后再试试。

# this is game 21 point
# 操作命令符 空没有操作,n下一步,抽牌;w亮牌结束;l认输
$ope = ''
$prompt = '>'
$x1 = 0
$x2 = 0
$x3 = 0
$pc = 0
$u1 = 0
$u2 = 0
$u3 = 0
$over = ''

def out_main(a = 0, b=0, c=0, pc = 0, us1=0, us2=0, us3=0)
  puts "21 point Game          "
  puts "        -- wide288 author"
  puts
  puts "  PC is keys           "
  if pc == 0
    puts "  *  *  *              "
  else
    puts "  %d  %d  %d              "% [a, b, c]
  end

  puts
  puts "  user is keys         "
  puts " %d %d %d              " % [us1, us2, us3]
  puts Time.new
  puts " n 抽牌; w 亮牌; l 认输; x 退出;"
end

#主线程运行
def main()
  while $ope != 'x'
    system 'clear'
    out_main($x1, $x2, $x3, $pc, $u1, $u2, $u3)
    if 'w' != $ope
      print $prompt
      $ope = STDIN.gets.chomp()
    end
    if 'x' == $ope
      break
    end
    if 'l' == $ope
      puts "I throw up."
      break
    end
    if 'n' == $ope
      number = rand(1..10)
      if 0 != number
        puts number
        if $x1 == 0
          $x1 = number
        elsif $x2 == 0
          $x2 = number
        elsif $x3 == 0
          $x3 = number
        end
      end

      number = rand(1..9)
      if 0 != number
        puts number
        if $u1 == 0
          $u1 = number
        elsif $u2 == 0
          $u2 = number
        elsif $u3 == 0
          $u3 = number
        end
      end
    end

    if 'w' == $ope
      #system "clear"
      $pc = 1
      pcsum = 21 - ($x1+$x2+$x3)
      usersum = 21 - ($u1+$u2+$u3)
      puts "%d %d %d pc sum is - 21 =  %d" % [$x1, $x2, $x3, pcsum]
      puts "%d %d %d user sum is - 21 = %d" % [$u1, $u2, $u3, usersum]
      if usersum >= pcsum
        puts "pc win"
      else
        puts "User Win!!!"
      end
      #out_main($x1, $x2, $x3, $pc, $u1, $u2, $u3)
      break
    end
  end
end

# main thread run
main()

21点游戏,命令行的,面像过程的写法。Ruby

时间: 2024-10-12 18:17:41

21点游戏,命令行的,面像过程的写法。Ruby的相关文章

21.5 memcached命令行;21.6 memcached数据导出和导入;21.7 php连接

21.5 memcached命令行 Memcached语法规则: 1. <command name> <key> <flags> <exptime> <bytes>\r\n <data block>\r\n 注:\r\n在windows下是Enter键 2. <command name> 可以是set, add, replace 3. set表示按照相应的<key>存储该数据,没有的时候增加,有的时候覆盖 4.

大开测试:性能-如何在命令行下启动Controller(连载21)

7.21  如何在命令行下启动Controller 1.问题提出 如何在命令行下启动Controller进行负载测试? 2.问题解答 习惯使用命令行操作的读者可能十分关心,Controller是否可以在命令行下通过指定运行的场景和相关参数也可运行呢?LoadRunner提供了Controller命令行运行方式.如果在C盘存在一个场景文件Test.lrs,就可以通过在命令行下执行类似“wlrun-TestPathC:\Test.lrs-Run”的命令进行负载测试.关于命令行部分的描述前面章节已经多

21.5-21.8 memcached命令行、导出与导入、PHP连接memcached、存储会话

21.5 memcached命令行 创建数据 yum install -y telnet 利用telnet命令连接memcached数据库 telnet 127.0.0.1 11211 #写入数据 set key2 0 30 2 12 STORED 这个是错误的示范,因为0 30 已经存在 set key 0 30 3 12 CLIENT_ERROR bad data chunk ERROR 检测存储状态 #利用get key值查看 get key END get key2 END #因为定义了

参数传递:传值参数,指针形参,传引用参数,const形参和实参,数组形参,main:处理命令行选项,含有可变形参的函数

重点: 1.每次调用函数时都会重新创建它的形参,并用传入的实参对形参进行初始化. NOTE: 形参初始化的机理与变量初始化一样. 2.形参的类型决定了形参和实参交互的方式. (引用->绑定,非引用->拷贝) 3.实参分为:被引用传递(引用形参是实参的别名),被值传递(实参形参是两个相互独立的对象). 4.传值参数:函数对形参做的所有操作都不会影响实参. 5.指针形参:指针的行为和其他非引用类型一样,当执行指针拷贝操作时,拷贝的是指针的值.拷贝后,两个指针是不同的指针. NOTE: C程序员常常

ubuntu命令行添加拥有管理员权限新用户

最近买了个服务器,只有一个root用户,天天登录挺不方便的,所以想要新建用户;之前在本地都是用界面话新建的用户,这次记录一下学习命令行新建用户的过程: 第一步 : # sudo adduser zhq 这个zhq是你自己定义的用户名 接下类会出现一系列的输入信息,只要在有UNIX密码的地方输入 该用户的密码就行,然后再确认一次; 后面就是一路回车了. 然后用户就建好了. 但是此时该用户是不能sudo的,也就是不能使用管理员权限;接下里进行第二步 第二步: # sudo vim /etc/sudo

关于Cad中向命令行发送命令的提醒

由于种种原因需要向CAD的Editor发送命令,此时应特别注意: 能用代码解决的问题绝不用sendcommand的方式,因为不知道什么时候就出了什么鸟问题,向命令行发送命令其不可控因素太多了: 能用异步的就用异步吧,因为经过近段时间的测试发现异步反而不容易出问题,所谓异步即:SendStringToExecute; 同步的也可以用,不过不可以用在与用户的交互过程中,比如命令行还在执行过程中发送命令去做别的事情,这样就会出莫名的线程错误:

C#命令行参数解析类以及使用实例

http://blog.csdn.net/jackxinxu2100/article/details/6642694 编写命令行程序时如何进行命令行参数解析至关重要,下面将引用codeproject里面的一个命令行参数解析类并阐述如何使用来说明C#命令行参数解析的过程. 先看参数解析类,分为CommandLine类以及CommandArgs类,前者负责解析,后者负责结果封装,解析的结果分为三类:即 a=b 对应的key/value类型,-a b 对应的option与option value(可省

Apache Commons CLI 开发命令行工具示例

概念说明Apache Commons CLI 简介 虽然各种人机交互技术飞速发展,但最传统的命令行模式依然被广泛应用于各个领域:从编译代码到系统管理,命令行因其简洁高效而备受宠爱.各种工具和系统都 提供了详尽的使用手册,有些还提供示例说明如何二次开发.然而关于如何开发一个易用.强壮的命令行工具的文章却很少.本文将结合 Apache Commons CLI,通过一个完整的例子展示如何准备.开发.测试一个命令行工具.希望本文对有相关需求的读者能有所帮助.      Apache Commons CL

使用 Apache Commons CLI 开发命令行工具示例

概念说明 Apache Commons CLI 简介 Apache Commons CLI 是 Apache 下面的一个解析命令行输入的工具包,该工具包还提供了自动生成输出帮助文档的功能. Apache Commons CLI 支持多种输入参数格式,主要支持的格式有以下几种: POSIX(Portable Operating System Interface of Unix)中的参数形式,例如 tar -zxvf foo.tar.gz GNU 中的长参数形式,例如 du --human-read

Window 中杀死指定端口 cmd 命令行 taskkill

Windows平台   两步方法 :  1 查询端口占用,2 强行杀死进程 netstat -aon|findstr "8080" taskkill /pid 4136-t -f   在windows命令行窗口下执行过程 1.查看指定端口的占用情况netstat -aon|findstr "8080" 协议               本地地址                                 外部地址