Operation Manual
if direction == ‘left’:
snakePosition[0] -= 20
if direction == ‘up’:
snakePosition[1] -= 20
if direction == ‘down’:
snakePosition[1] += 20
snakeSegments.insert(0,list(snakePosition))
if snakePosition[0] == raspberryPosition[0] and
snakePosition[1] == raspberryPosition[1]:
raspberrySpawned = 0
else:
snakeSegments.pop()
if raspberrySpawned == 0:
x = random.randrange(1,32)
y = random.randrange(1,24)
raspberryPosition = [int(x*20),int(y*20)]
raspberrySpawned = 1
playSurface.fill(blackColour)
for position in snakeSegments:
pygame.draw.rect(playSurface,whiteColour,Rect
(position[0], position[1], 20, 20))
pygame.draw.rect(playSurface,redColour,Rect
(raspberryPosition[0], raspberryPosition[1], 20, 20))
pygame.display.flip()
if snakePosition[0] > 620 or snakePosition[0] < 0:
gameOver()
if snakePosition[1] > 460 or snakePosition[1] < 0:
for snakeBody in snakeSegments[1:]:
if snakePosition[0] == snakeBody[0] and
snakePosition[1] == snakeBody[1]:
gameOver()
fpsClock.tick(30)
IRC User List (Chapter 11, Example 4)
#!/usr/bin/env python
# IRC User List
# Written by Tom Hudson for the Raspberry Pi User Guide
# http://tomhudson.co.uk/
import sys, socket, time
RPL_NAMREPLY = ‘353’
RPL_ENDOFNAMES = ‘366’
irc = {
‘host’: ‘chat.freenode.net’,
‘port’: 6667,
‘channel’: ‘#raspiuserguide’,
‘namesinterval’: 5
}
user = {
‘nick’: ‘botnick’,
‘username’: ‘botuser’,
‘hostname’: ‘localhost’,
‘servername’: ‘localhost’,
‘realname’: ‘Raspberry Pi Names Bot’
}
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print ‘Connecting to %(host)s:%(port)s...’ % irc
try:
s.connect((irc[‘host’], irc[‘port’]))
except socket.error:
print ‘Error connecting to IRC server
%(host)s:%(port)s’ % irc
sys.exit(1)
s.send(‘NICK %(nick)s\r\n’ % user)
s.send(‘USER %(username)s %(hostname)s %(servername)s :
%(realname)s\r\n’ % user)
s.send(‘JOIN %(channel)s\r\n’ % irc)
s.send(‘NAMES %(channel)s\r\n’ % irc)
read_buffer = ‘’