1. 程式人生 > >閒來無事之剪刀石頭布

閒來無事之剪刀石頭布

前言:

最近閒來無聊,想寫寫大一的工程實踐剪刀石頭布,但與之不同的是這次機器人出剪刀石頭布並不是隨機,而是經過資料統計針對了某特定習慣的出法,理論上提高了機器人的勝率。

資料統計

1.hotencode 0 代表布 1 代表剪刀 2 代表石頭 存在勝負關係
0 < 1, 1<2, 2<0

2.剪刀石頭布有三種結果使用3x3的矩陣

(1)
1 1 1 1 1 1
1 11

縱向代表0,1,2,橫向表示上一次出0,1,2後出0,1,2的次數,例如如果上次出得0,然後出的1,那麼結果如圖2,在(0,1)+1.
(1) 1 2 1 1 1 1 1 1 1
3.有兩種結果 0.輸 1.贏 使用兩個3x3的矩陣
為什麼使用兩個矩陣呢?
因為人是會反思的動物,在失敗後會改變策略我們也應該使計算機有新的策略來反覆應對

邏輯設計

流程圖
程式第一次執行時,沒有任何資料,所以通過隨機數隨機出0,1,2,然後與玩家比勝負,勝利在1矩陣記錄資料否者在0矩陣記錄資料,比如 第一次程式(因為都為1機會相等)隨機出0,玩家出1,玩家勝,程式通過矩陣出0,玩家出2,玩家負,則在1【勝利0】矩陣的(1,2)處+1。

最後神祕的程式碼

(切換模式還有點麻煩。。。。)

https://download.csdn.net/download/mcl2840072208/10660683