如何用 c 語言寫乙個扔色子的程式?

時間 2021-05-09 12:57:46

1樓:GsyPs

既然問題描述要求各面的值。

1 隨機朝向天的點數

2 水平方向選擇一點為參考,隨機0到360度隨機一下角度,即可確定剩下四面的朝向。

3 printf 列印出來

2樓:偏扁豆

想了乙個真隨機

建乙個rpc伺服器,server端弄個worker池,每個worker負責聯絡乙個知乎的閒人負責現實中擲色子,然後返回結果。

初步估算延遲還可以用。

以下是原回答。

看了一下大家的回答,嚇壞了!

程式設計果真是個創造性的活,大家實在太能造輪子了!

我就說個簡單的。

素材:random乙個值;乙個骰子旋轉的GIF根據值大小做歸一化後卡幀。

3樓:stary

骰子扔完上下方向上有6種

前後左右有4種

所以一共應該是只有24種可能

然後隨便隨機就好了吧...

反正你只是想要輸出各面的數字

4樓:Ganix Ama

渲染部分DirectX或者OpenGL

運動部分可以選擇自己寫物理(只有乙個骰子算起來還好),也可以用physics。

其實你可以直接上unreal或者unity

5樓:甲魚

我認為這最終還是乙個隨機數的問題。只不過輸出是隨機數的四面和對邊。那麼就用上圖,6個面分別構建6個類,每個類有著5個物件,分別對應上下左右和對面的數字。

工程問題就不回答了,這個應該只要有點程式設計基礎的,知道類是什麼的,2小時都能自學寫完吧。

6樓:SchrodingerCatus

按擲出朝上的數字可以分6類,每一種情況側面4個數字順序始終相同(同乙個色子),轉一圈有4種不同可能

6*4=24種等價可能

現在的知乎是小學奧數社群嗎

7樓:騎熊貓的九節狼

懂了,比如

第乙個:

在上面的是1則下面的必然是6,

然後四周的位數會是2、3、4、5,再說2為第乙個輸出的周圍數字,則下面乙個周圍數字必然不是5,只能是3或者4,然後是5接著是3或者4剩下的乙個數

也就是先輸出乙個1-6的隨機數作為上面的數,設為x,然後底下的數就會是|7-x|

則四周的數會是1-6剩下的四個數,排除掉上下已經生成的數,剩下的四個數再隨機乙個出去,然後把|7-x|放在對面,剩下的兩個數隨機放在剩下的兩個位子上,

當然,上面的只適用於數字分布隨機的,如果骰子是一樣(工業化)的就不適用了,可以參考問題下面大佬的回答

8樓:liupangx

把骰子的結構按順時針聯接做成圖

隨機從乙個節點進入遍歷一次前三個連線節點

成了補充一下

這是骰子問題的乙個演算法式的解決方案

換句話說,可以應對20面或者更多面骰子

窮舉的話過於複雜

如何用 C 寫乙個簡單的計算器程式?

豬蹄醬 猴子都能學會系列 expr term term factor factor expr NUM 接下來,祭出boost.spirit,為了趕時髦,直接用x3版 include include include namespacex3 boost spirit x3 using x3 double...

如何用racket 寫乙個全排列的小程式

窗戶 不用lambda 好吧,可以用迭代來實現。這樣想來,其他答案似乎都不滿足題主要求了,因為用了過於高階的東西。lang racket define perm lst define add eles define insert lstposx if zero?pos cons xlst cons ...

如何用c語言判斷乙個數為小數?

魔某人 include include const char result 2 int main intNumType char Str bool dot false 小數點 char p Str charCh p if Ch Ch for Ch p p dot true elseif 9 Ch 0...