Malware Containmentで、カードのランダム配置や通信路の管理といった進行役の作業をサポートするためのpythonプログラムです。
対話モードでpython3を実行し、gamemasterから全ての関数をimportしてください。
importするだけで、盤面のクラスBoardのインスタンスを生成し、bという変数に代入したのち、view_all_situation()を実行してカードの配置状況と通信路の状況を表示します。
Boardインスタンスを生成するたびに、カードはランダムに配置されます。
>>> from gamemaster import *
役員室:IN=1,OUT=3,SUM=4
1:Spyware(IN:0,OUT:2) 2:Ransomware(IN:1,OUT:1) 3:EmptyPlace(IN:0,OUT:0)
総務部:IN=1,OUT=2,SUM=3
4:I_want_you_to_get_in_consultation(IN:0,OUT:1) 5:RemoteControlMalware(IN:1,OUT:1) ->2 6:EmptyPlace(IN:0,OUT:0)
経理部:IN=0,OUT=1,SUM=1
7:Treat(IN:0,OUT:0) 8:RemoteControlMalware(IN:0,OUT:1) ->5 9:EmptyPlace(IN:0,OUT:0)
営業部:IN=0,OUT=0,SUM=0
10:Treat(IN:0,OUT:0) 11:EmptyPlace(IN:0,OUT:0) 12:NormalTerminal(IN:0,OUT:0)
サービス部:IN=0,OUT=1,SUM=1
13:Request_for_setting_change(IN:0,OUT:1) 14:NormalTerminal(IN:0,OUT:0) 15:EmptyPlace(IN:0,OUT:0)
>>> b
<gamemaster.Board object at 0x10b9d5a58>
Boardインスタンスに対する操作です。
- view_all_situation()
カードの配置状況と通信路の状況を確認します。
>>> b.view_all_situation()
役員室:IN=1,OUT=3,SUM=4
1:Spyware(IN:0,OUT:2) 2:Ransomware(IN:1,OUT:1) 3:EmptyPlace(IN:0,OUT:0)
総務部:IN=1,OUT=2,SUM=3
4:I_want_you_to_get_in_consultation(IN:0,OUT:1) 5:RemoteControlMalware(IN:1,OUT:1) ->2 6:EmptyPlace(IN:0,OUT:0)
経理部:IN=0,OUT=1,SUM=1
7:Treat(IN:0,OUT:0) 8:RemoteControlMalware(IN:0,OUT:1) ->5 9:EmptyPlace(IN:0,OUT:0)
営業部:IN=0,OUT=0,SUM=0
10:Treat(IN:0,OUT:0) 11:EmptyPlace(IN:0,OUT:0) 12:NormalTerminal(IN:0,OUT:0)
サービス部:IN=0,OUT=1,SUM=1
13:Request_for_setting_change(IN:0,OUT:1) 14:NormalTerminal(IN:0,OUT:0) 15:EmptyPlace(IN:0,OUT:0)
- view_suspicious_channels()
通信路の状況を表示します。
>>> b.view_suspicious_channels()
役員室:IN=1,OUT=3,SUM=4
総務部:IN=1,OUT=2,SUM=3
経理部:IN=0,OUT=1,SUM=1
営業部:IN=0,OUT=0,SUM=0
サービス部:IN=0,OUT=1,SUM=1
- contain(place)
place(=1~15)におかれたカードを封じ込めます。
封じ込めた後にview_all_situation()を実行します。
>>> b.contain(8)
<gamemaster.RemoteControlMalware object at 0x10b9ec630>
8:RemoteControlMalware(IN:0,OUT:1)->EmptyPlace
役員室:IN=1,OUT=3,SUM=4
1:Spyware(IN:0,OUT:2) 2:Ransomware(IN:1,OUT:1) 3:EmptyPlace(IN:0,OUT:0)
総務部:IN=0,OUT=2,SUM=2
4:I_want_you_to_get_in_consultation(IN:0,OUT:1) 5:RemoteControlMalware(IN:0,OUT:1) ->2 6:EmptyPlace(IN:0,OUT:0)
経理部:IN=0,OUT=0,SUM=0
7:Treat(IN:0,OUT:0) 8:EmptyPlace(IN:0,OUT:0) 9:EmptyPlace(IN:0,OUT:0)
営業部:IN=0,OUT=0,SUM=0
10:Treat(IN:0,OUT:0) 11:EmptyPlace(IN:0,OUT:0) 12:NormalTerminal(IN:0,OUT:0)
サービス部:IN=0,OUT=1,SUM=1
13:Request_for_setting_change(IN:0,OUT:1) 14:NormalTerminal(IN:0,OUT:0) 15:EmptyPlace(IN:0,OUT:0)