Browse Source

command argument handling; disabled blib sound

master
Fr3deric 7 years ago committed by Frederic
parent
commit
40376443ba
  1. 72
      balancep0ng.py

72
balancep0ng.py

@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
#!/usr/bin/python3
import time
import argparse
import threading
import sys
import os
@ -110,6 +111,7 @@ class BalanceBoardPlayer(object): @@ -110,6 +111,7 @@ class BalanceBoardPlayer(object):
self.__wiimote_sock.close()
sys.exit(1)
bal = -bal
MAX_AMPLITUDE = 65
if bal < -MAX_AMPLITUDE:
bal = -MAX_AMPLITUDE
@ -127,10 +129,15 @@ class BalanceBoardPlayer(object): @@ -127,10 +129,15 @@ class BalanceBoardPlayer(object):
class B4lancePong(object):
def __init__(self, out, color=True):
def __init__(self, out, balanceserver=None, color=True, numplayers=None):
self.__playground = None
self.__out = out
self.__color = color
if balanceserver is None:
self.__balanceserver = ('localhost', 4711)
else:
self.__balanceserver = balanceserver
self.__numplayers = numplayers
if color:
self.__dimension = blup.frame.FrameDimension(22, 16, 256, 3)
@ -146,36 +153,37 @@ class B4lancePong(object): @@ -146,36 +153,37 @@ class B4lancePong(object):
pp = pong.PlaygroundPainter(out, self.__dimension, self.__playground)
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#sock.connect(('localhost', 4711))
sock.connect(('blinkenbunt', 4711))
sock.connect(self.__balanceserver)
print('connected!')
while get_balance_from_sock(sock, 0) == -128:
while get_balance_from_sock(sock, 0) == -128:
print('waiting for player...')
time.sleep(1)
self.__players = []
self.__players.append(BalanceBoardPlayer(self.__playground, self.__playground.leftPaddle, sock, 0))
global logo
for i in range(5):
frame = mk_logo_frame(self.__dimension, onePlayer)
self.__out.sendFrame(frame)
if self.__numplayers == 2:
self.__players.append(BalanceBoardPlayer(self.__playground, self.__playground.rightPaddle, sock, 1))
elif self.__numplayers is None:
for i in range(5):
frame = mk_logo_frame(self.__dimension, onePlayer)
self.__out.sendFrame(frame)
print('waiting for second player...')
if get_balance_from_sock(sock, 1) > -128:
self.__players.append(BalanceBoardPlayer(self.__playground, self.__playground.rightPaddle, sock, 1))
break
time.sleep(1)
print('waiting for second player...')
if get_balance_from_sock(sock, 1) > -128:
self.__players.append(BalanceBoardPlayer(self.__playground, self.__playground.rightPaddle, sock, 1))
break
time.sleep(1)
frame = mk_logo_frame(self.__dimension, logo)
self.__out.sendFrame(frame)
time.sleep(2)
def blib(obj):
if isinstance(obj, pong.Paddle):
subprocess.Popen(['mplayer','pongblib1.wav'])
self.__playground.ball.addHitCallback(blib)
#def blib(obj):
# if isinstance(obj, pong.Paddle):
# subprocess.Popen(['mplayer','pongblib1.wav'])
#self.__playground.ball.addHitCallback(blib)
frame = mk_logo_frame(self.__dimension, logo_go)
self.__out.sendFrame(frame)
@ -206,20 +214,20 @@ class B4lancePong(object): @@ -206,20 +214,20 @@ class B4lancePong(object):
sock.close()
if len(sys.argv) > 1:
outspec = sys.argv[1]
else:
outspec = 'e3blp:localhost:4242'
out = blup.output.getOutput(outspec)
p0ng = B4lancePong(out, color=True)
while True:
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='Blinkenbunt Pong!')
parser.add_argument('--players', dest='players', type=int,
help='number of players (autodetect if unspecified)')
parser.add_argument('--balance', dest='balance', type=str,
metavar='HOST:PORT', help='use balance input')
parser.add_argument('--out', dest='out', type=str, metavar='OUTPUT',
default='e3blp', help='blup output specification')
args = parser.parse_args()
out = blup.output.getOutput(args.out)
bhost, bport = args.balance.split(':')
p0ng = B4lancePong(out, balanceserver=(bhost, int(bport)), color=True,
numplayers=args.players)
p0ng.runGame()
sys.exit(0)

Loading…
Cancel
Save