電子18啦

最後編輯:2016-04-11 建立:2015-12-31 歷史紀錄

 

規則說明:

 

現在常見"4"顆骰子18啦的玩法

在遊戲開始前必須決定要比大或比小

由四個骰子來擲,其中兩個相同點的就為一對,不算點,另外兩個不同點的加起來的點數來比大小

4顆骰子都一模一樣時為最大(若為莊家其他玩家皆不須再甩骰子,本局由莊家勝出)

十八(12點):2顆骰子為一樣的其餘2顆各都為6

逼基(3點)2顆骰子為一樣的其餘兩顆骰子分別為1和2

無面(0點)也就是不算,3個相同的或4個都不一樣

若達到五次都為無面(0點)則當局獲勝or持續丟到有點數為止(民間習俗與玩法各有不同)

 

資料來源: 網路,自己

 

這是七段顯示器的腳位圖

 

這個是樹莓派與麵包板的接線圖

 

 

 

 

為了讓麵包板的七段顯示器能夠不受排線的影響正常顯示,所以在電路的接法上比較複雜,並且在電路板上加裝按鈕做更多變化

 

以下為程式碼重點:

 

 

 

 

製作:11820 , 11824 , 11825

 

  • import RPi.GPIO as GPIO
  • import time
  • import random
  • GPIO.setmode(GPIO.BCM)
  • GPIO.setwarnings(False)
  • GPIO.setup(2, GPIO.IN)
  • def a():
  • return random.choice(['1','2','3','4','5','6'])
  • segments = (5, 9, 17, 13, 19, 11, 4, 6)
  • for segment in segments:
  • GPIO.setup(segment, GPIO.OUT)
  • GPIO.output(segment, 0)
  • digits = (26, 10, 27, 22)
  • for digit in digits:
  • GPIO.setup(digit, GPIO.OUT)
  • GPIO.output(digit, 1)
  • dictionary = {' ':(0,0,0,0,0,0,0),
  • '0':(1,1,1,1,1,1,0),
  • '1':(0,1,1,0,0,0,0),
  • '2':(1,1,0,1,1,0,1),
  • '3':(1,1,1,1,0,0,1),
  • '4':(0,1,1,0,0,1,1),
  • '5':(1,0,1,1,0,1,1),
  • '6':(1,0,1,1,1,1,1),}
  • word=[a(),a(),a(),a()]
  • while True:
  • for n in range(4):
  • for digit in digits: # all digits off
  • GPIO.output(digit, 1)
  • GPIO.output(digits[n], 0)
  • i = 0
  • for on_or_off in dictionary[word[n]]:
  • GPIO.output(segments[i], on_or_off)
  • i += 1
  • time.sleep(0.001)
  • if GPIO.input(2) == True:
  • word=[a(),a(),a(),a()]
  • GPIO.cleanup()