Small Basic中文站-快乐编程

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 35|回复: 1

狼人杀0.1版

[复制链接]
发表于 2018-8-3 13:29:27 | 显示全部楼层 |阅读模式
  1. q=Math.GetRandomNumber(6)
  2. t[q]="狼人"
  3. w=Math.GetRandomNumber(6)
  4. t[w]="先知"
  5. e=Math.GetRandomNumber(6)
  6. t[e]="猎人"
  7. r=Math.GetRandomNumber(6)
  8. t[r]="丘比特"
  9. p=Math.GetRandomNumber(6)
  10. t[p]="平民"
  11. u=Math.GetRandomNumber(6)
  12. t[u]="女巫"
  13. z:
  14. If w=q Or w=e Or w=r Or w=p Or w=u Then
  15.   w=math.GetRandomNumber(6)
  16.   If w<>q And w<>e And w<>r And w<>p And w<>u Then
  17.     Goto a
  18.   EndIf
  19.   Goto z
  20. EndIf
  21. a:
  22. t[w]="先知"
  23. x:
  24. If q=w Or q=e Or q=r Or q=p Or q=u Then
  25.   q=math.GetRandomNumber(6)
  26.   If q<>w And q<>e And q<>r And q<>p And q<>u Then
  27.     Goto s
  28.   EndIf
  29.   Goto x
  30. EndIf
  31. s:
  32. t[q]="狼人"
  33. c:
  34. If e=w Or e=q Or e=r Or e=p Or e=u Then
  35.   e=math.GetRandomNumber(6)
  36.   If e<>w And e<>q And e<>r And e<>p And e<>u Then
  37.     Goto d
  38.   EndIf
  39.   Goto c
  40. EndIf
  41. d:
  42. t[e]="猎人"
  43. v:
  44. If r=w Or r=e Or r=q Or r=p Or r=u Then
  45.   r=math.GetRandomNumber(6)
  46.   If r<>w And r<>e And r<>q And r<>p And r<>u Then
  47.     Goto f
  48.   EndIf
  49.   Goto v
  50. EndIf
  51. f:
  52. t[r]="丘比特"
  53. b:
  54. If p=w Or p=e Or p=r Or p=q Or p=u Then
  55.   p=math.GetRandomNumber(6)
  56.   
  57.   If p<>w And p<>e And p<>r And p<>q And p<>u Then
  58.     Goto g
  59.   EndIf
  60.   Goto b
  61. EndIf
  62. g:
  63. t[p]="平民"
  64. n:
  65. If u=w Or u=e Or u=r Or u=p Or u=q Then
  66.   u=math.GetRandomNumber(6)
  67.   If u<>w And u<>e And u<>r And u<>p And u<>q Then
  68.     Goto h
  69.   EndIf
  70.   Goto n
  71. EndIf
  72. h:
  73. t[u]="女巫"
  74. Q=Math.GetRandomNumber(6)
  75. GraphicsWindow.ShowMessage("你的角色:"+Q+":"+T[Q],"你的角色")
  76. TextWindow.Write("天黑请闭眼!")
  77. TextWindow.WriteLine("狼人请睁眼!")
  78. If t[Q]="狼人" Then
  79.   Q:
  80.   TextWindow.WriteLine("请问你想杀谁?请输1,2,3,4,5,6")
  81.   A=TextWindow.Read()
  82.   If A=Q Then
  83.     TextWindow.WriteLine("你不能杀自己!")
  84.     goto Q
  85.   EndIf
  86.   If A<>1 And A<>2 And A<>3 And A<>4 And A<>5 And A<>6 Then
  87.     TextWindow.WriteLine("请确认后再输!")
  88.     Goto Q
  89.    EndIf
  90. EndIf
  91. If t[Q]<>"狼人" Then
  92.   A=Math.GetRandomNumber(6)
  93. EndIf
  94. TextWindow.WriteLine("先知请睁眼!")
  95. If t[Q]="先知" Then
  96.   W:
  97.   TextWindow.WriteLine("请问你想知道谁?请输1,2,3,4,5,6")
  98.   S=TextWindow.Read()
  99.   If S=Q Then
  100.     TextWindow.WriteLine("你不用知道自己!")
  101.     goto W
  102.   EndIf
  103.   If S<>1 And S<>2 And S<>3 And S<>4 And S<>5 And S<>6 Then
  104.     TextWindow.WriteLine("请确认后再输!")
  105.     Goto W
  106.    EndIf
  107. EndIf
  108. If t[Q]<>"先知" Then
  109.   E:
  110.   S=Math.GetRandomNumber(6)
  111.   If t[S]="先知" Then
  112.     Goto E
  113.   EndIf
  114. EndIf
  115. TextWindow.WriteLine("先知已经知道了"+t[S]+"的角色!")
  116. If t[Q]="丘比特" Then
  117.   R:
  118.   TextWindow.WriteLine("请问你想组谁和谁?请输1,2,3,4,5,6,选出第一个人!")
  119.   D=TextWindow.Read()
  120.   If D<>1 And D<>2 And D<>3 And D<>4 And D<>5 And D<>6 Then
  121.     TextWindow.WriteLine("请确认后再输!")
  122.     Goto R
  123.   EndIf
  124.   TextWindow.WriteLine("请输1,2,3,4,5,6,选出第二个人!")
  125.   F=TextWindow.Read()
  126.   If D<>1 And D<>2 And D<>3 And D<>4 And D<>5 And D<>6 Then
  127.     TextWindow.WriteLine("请确认后再输!")
  128.     Goto R
  129.    EndIf
  130. EndIf
  131. If t[Q]<>"丘比特" Then
  132.    D=Math.GetRandomNumber(6)
  133.    F=Math.GetRandomNumber(6)
  134. EndIf
  135. If t[A]="女巫" Then
  136.    i=1
  137. Else
  138.    i=Math.GetRandomNumber(2)
  139. EndIf
  140. TextWindow.WriteLine("天亮请睁眼!")
  141. If i=1 Then
  142.    TextWindow.WriteLine("今晚是平安夜!")
  143.    A=0
  144. EndIf

  145. If i=0 Then
  146.    TextWindow.WriteLine("今晚被杀的人是")
  147.    TextWindow.PauseWithoutMessage()
  148.    TextWindow.WriteLine(A)
  149. EndIf
  150. If t[A]="先知" Then
  151.    TextWindow.WriteLine(A+" 他的遗言是"+S+"是"+t[S])
  152. EndIf
  153. If t[A]=t[Q] And t[Q]<>"女巫" Then  
  154.    GraphicsWindow.ShowMessage("对不起,你出局了!","信息")
  155. EndIf

  156. Pa:
  157. TextWindow.Write("天黑请闭眼!")
  158. TextWindow.WriteLine("狼人请睁眼!")
  159. If t[Q]="狼人" Then
  160.   M:
  161.   TextWindow.WriteLine("请问你想杀谁?请输1,2,3,4,5,6")
  162.   A=TextWindow.Read()
  163.   If A=Q Then
  164.     TextWindow.WriteLine("你不能杀自己!")
  165.     goto M
  166.   EndIf
  167.   If A<>1 And A<>2 And A<>3 And A<>4 And A<>5 And A<>6 Then
  168.     TextWindow.WriteLine("请确认后再输!")
  169.     Goto M
  170.    EndIf
  171. EndIf
  172. If t[Q]<>"狼人" Then
  173.   A=Math.GetRandomNumber(6)
  174. EndIf
  175. TextWindow.WriteLine("先知请睁眼!")
  176. If t[Q]="先知" Then
  177.   L:
  178.   TextWindow.WriteLine("请问你想知道谁?请输1,2,3,4,5,6")
  179.   S=TextWindow.Read()
  180.   If S=Q Then
  181.     TextWindow.WriteLine("你不用知道自己!")
  182.     goto L
  183.   EndIf
  184.   If S<>1 And S<>2 And S<>3 And S<>4 And S<>5 And S<>6 Then
  185.     TextWindow.WriteLine("请确认后再输!")
  186.     Goto L
  187.    EndIf
  188. EndIf
  189. If t[Q]<>"先知" Then
  190.   K:
  191.   S=Math.GetRandomNumber(6)
  192.   If t[S]="先知" Then
  193.     Goto K
  194.   EndIf
  195. EndIf
  196. TextWindow.WriteLine("先知已经知道了"+t[S]+"的角色!")
  197. If t[Q]="丘比特" Then
  198.   U:
  199.   TextWindow.WriteLine("请问你想组谁和谁?请输1,2,3,4,5,6,选出第一个人!")
  200.   D=TextWindow.Read()
  201.   If D<>1 And D<>2 And D<>3 And D<>4 And D<>5 And D<>6 Then
  202.     TextWindow.WriteLine("请确认后再输!")
  203.     Goto U
  204.   EndIf
  205.   TextWindow.WriteLine("请输1,2,3,4,5,6,选出第二个人!")
  206.   F=TextWindow.Read()
  207.   If F<>1 And F<>2 And F<>3 And F<>4 And F<>5 And F<>6 Then
  208.     If F=D then
  209.       TextWindow.WriteLine("请确认后再输!")
  210.       Goto R
  211.     EndIf
  212.   EndIf
  213. EndIf
  214. If t[Q]<>"丘比特" Then
  215.    D=Math.GetRandomNumber(6)
  216.    F=Math.GetRandomNumber(6)
  217.    If F=D Then
  218.      F=Math.GetRandomNumber(6)
  219.    EndIf
  220. EndIf
  221. If t[Q]="女巫" Then
  222.    TextWindow.WriteLine("有人被杀请问你要救人吗?输y或n!")
  223.    P=TextWindow.Read()
  224.    If p="y" Then
  225.      i=1
  226.    EndIf
  227.    If p="n" Then
  228.      TextWindow.WriteLine("那请问你要杀人不?请输y或n")
  229.      P=TextWindow.Read()
  230.      If p="y" Then
  231.        I:
  232.        TextWindow.WriteLine("请问你想杀谁?请输1,2,3,4,5,6")
  233.        A=TextWindow.Read()
  234.        If A=Q Then
  235.        TextWindow.WriteLine("你不能杀自己!")
  236.        goto I
  237.      EndIf
  238.    EndIf
  239.      If A<>1 And A<>2 And A<>3 And A<>4 And A<>5 And A<>6 Then
  240.         TextWindow.WriteLine("请确认后再输!")
  241.         Goto I
  242.      EndIf
  243.    EndIf
  244.    If p="n" Then
  245.      Goto paa
  246.    EndIf
  247. EndIf
  248. paa:
  249. If t[A]="女巫" Then
  250.    i=1
  251. Else
  252.    i=0
  253. EndIf
  254. TextWindow.WriteLine("天亮请睁眼!")
  255. If i=1 Then
  256.    TextWindow.WriteLine("今晚是平安夜!")
  257.    A=0
  258. EndIf

  259. If i=0 Then
  260.    TextWindow.WriteLine("今晚被杀的人是")
  261.    TextWindow.PauseWithoutMessage()
  262.    If t[A]="猎人" and t[Q]<>"猎人" Then
  263.       B=Math.GetRandomNumber(6)
  264.       If B=A Then
  265.      TextWindow.WriteLine(A)
  266.    EndIf
  267.    If B<>A Then
  268.      TextWindow.WriteLine(A+"和"+B)
  269.    EndIf
  270. EndIf
  271. EndIf
  272. If t[A]="先知" Then
  273.    TextWindow.WriteLine(A+" 他的遗言是"+S+"是"+t[S])
  274. EndIf
  275. If t[A]=t[Q] And t[Q]<>"女巫" Then  
  276.    GraphicsWindow.ShowMessage("对不起,你出局了!","信息")
  277.    j=1
  278. EndIf
  279. If j=1 then
  280. Else
  281.    Goto pa
  282. EndIf
复制代码
我不是很会small basic ,所以这个版本BUG很多,比如说,人物死亡后还可以选择,狼人不可以赢等......很多很多,希望各路大神多多指点,我会改进的。

点评

海!外直播 t.cn/RxmJTrS 禁闻视频 t.cn/RJAQKc4 中国人一辈子不抵一套房。房价涨,你为开发商打一辈子工;房价跌,你为银行打一辈子工;其实,你一直是在为一只看不见的手打一辈子工。  发表于 2018-8-4 19:26
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|Small Basic中文站-快乐编程 ( 闽ICP备09051788号 |

GMT+8, 2018-8-15 00:01 , Processed in 0.157669 second(s), 18 queries , File On.

Powered by Discuz! X3.3

快速回复 返回顶部 返回列表