Commit 02c210b0 authored by Srishti Sethi's avatar Srishti Sethi

Reusable repeat code|Changes in four activities

parent 8959715a
...@@ -38,7 +38,7 @@ BRAILLE_LETTERS = { ...@@ -38,7 +38,7 @@ BRAILLE_LETTERS = {
"R": [1, 2, 3, 5], "S": [2, 3, 4], "T": [2, 3, 4, 5], "U": [1, 3, 6], "R": [1, 2, 3, 5], "S": [2, 3, 4], "T": [2, 3, 4, 5], "U": [1, 3, 6],
"V": [1, 2, 3, 6], "W": [2, 4, 5, 6], "X": [1, 3, 4, 6], "Y": [1, 3, 4, 5, 6], "V": [1, 2, 3, 6], "W": [2, 4, 5, 6], "X": [1, 3, 4, 6], "Y": [1, 3, 4, 5, 6],
"Z": [1, 3, 5, 6], "+" : [3,4,6], "_": [3,6], "*" : [1,6],"/" : [3,4], "Z": [1, 3, 5, 6], "+" : [3,4,6], "_": [3,6], "*" : [1,6],"/" : [3,4],
"#" : [3,4,5,6],1: [1],2 :[1,2], 3 : [1,4], 4: [1,4,5],5 : [1,5], "#" : [3,4,5,6],1: [1],2 :[1, 2], 3 : [1, 4], 4: [1, 4, 5],5 : [1, 5],
6 : [1,2,4],7 : [1,2,4,5],8 : [1,2,5], 9 : [2,4],0 :[3,5,6] 6 : [1,2,4],7 : [1,2,4,5],8 : [1,2,5], 9 : [2,4],0 :[3,5,6]
} }
......
...@@ -30,11 +30,11 @@ import random ...@@ -30,11 +30,11 @@ import random
from gcompris import gcompris_gettext as _ from gcompris import gcompris_gettext as _
from BrailleChar import * from BrailleChar import *
cell_width = 40 CELL_WIDTH = 30
on = 0xFF0000FFL COLOR_ON = 0xFF0000FFL
off = 0X00000000L COLOR_OFF = 0X00000000L
circle_fill = "#DfDfDf" CIRCLE_FILL = "#DfDfDf"
circle_stroke = "blue" CIRCLE_STROKE = "blue"
braille_desc = {'intro' : "A system of writing for the blinds that \n" braille_desc = {'intro' : "A system of writing for the blinds that \n"
"uses characters made of raised dots. \n\n" "uses characters made of raised dots. \n\n"
...@@ -113,25 +113,7 @@ class Gcompris_braille_alphabets: ...@@ -113,25 +113,7 @@ class Gcompris_braille_alphabets:
self.gcomprisBoard.canvas.get_root_item()) self.gcomprisBoard.canvas.get_root_item())
gcompris.set_default_background(self.gcomprisBoard.canvas.get_root_item()) gcompris.set_default_background(self.gcomprisBoard.canvas.get_root_item())
#Place alphabets & numbers in array format self.Braille_Map(self.rootitem, COLOR_ON, COLOR_OFF,CIRCLE_FILL, CIRCLE_STROKE)
for i, letter in enumerate(string.ascii_uppercase[:10]):
tile = BrailleChar(self.rootitem, i*(cell_width+30)+60,
60, 50, letter ,on,off,circle_fill,
circle_stroke,True ,False,True,None)
for i, letter in enumerate(string.ascii_uppercase[10:20]):
tile = BrailleChar(self.rootitem, i*(cell_width+30)+60,
150, 50, letter ,on, off, circle_fill,
circle_stroke, True ,False,True,None)
for i, letter in enumerate(string.ascii_uppercase[20:25]):
tile = BrailleChar(self.rootitem, i*(cell_width+30)+60,
250, 50, letter ,on ,off ,circle_fill,
circle_stroke, True ,False,True, None)
BrailleChar(self.rootitem,60, 350, 50, "#",on ,off, circle_fill,
circle_stroke, True, False,True, None)
for letter in range(0,10):
tile = BrailleChar(self.rootitem,(letter+1) *(cell_width+25)+60,
350, 50, letter ,on ,off ,circle_fill,
circle_stroke, True ,False ,True, None)
#Move back item #Move back item
self.backitem = goocanvas.Image(parent = self.rootitem, self.backitem = goocanvas.Image(parent = self.rootitem,
pixbuf = gcompris.utils.load_pixmap("braille_alphabets/back.png"), pixbuf = gcompris.utils.load_pixmap("braille_alphabets/back.png"),
...@@ -339,3 +321,30 @@ class Gcompris_braille_alphabets: ...@@ -339,3 +321,30 @@ class Gcompris_braille_alphabets:
def letter_change(self,letter): def letter_change(self,letter):
self.correct_letter = letter self.correct_letter = letter
def Braille_Map(self, rootitem, color_on, color_off, circle_fill, circle_stroke):
SYMBOL = ['+','_','*','/']
#Place alphabets & numbers in array format
for index, letter in enumerate(string.ascii_uppercase[:10]):
BrailleChar(rootitem, index*(CELL_WIDTH+40)+60,
40, 38, letter ,color_on, color_off, circle_fill,
circle_stroke,True ,False ,True , None)
for index, letter in enumerate(string.ascii_uppercase[10:20]):
BrailleChar(rootitem, index*(CELL_WIDTH+40)+60,
130, 38, letter ,color_on, color_off, circle_fill,
circle_stroke,True ,False ,True , None)
for index, letter in enumerate(string.ascii_uppercase[20:25]):
BrailleChar(rootitem, index*(CELL_WIDTH+40)+60,
220, 38, letter ,color_on, color_off, circle_fill,
circle_stroke,True ,False ,True , None)
BrailleChar(rootitem,60, 310, 38, "#",color_on, color_off, circle_fill,
circle_stroke,True ,False ,True , None)
for index in range(10):
BrailleChar(rootitem,(index+1) *(CELL_WIDTH + 33)+60,
310, 38, index ,color_on, color_off, circle_fill,
circle_stroke,True ,False ,True , None)
for index in range(4):
BrailleChar(rootitem,index * (CELL_WIDTH + 40) + 60,
400 , 38,SYMBOL[index],color_on, color_off, circle_fill,
circle_stroke,True ,False ,True , None)
\ No newline at end of file
...@@ -16,28 +16,18 @@ ...@@ -16,28 +16,18 @@
# along with this program; if not, see <http://www.gnu.org/licenses/>. # along with this program; if not, see <http://www.gnu.org/licenses/>.
# #
# braille_lotto activity. # braille_lotto activity.
import goocanvas import gtk
import gtk.gdk
import gcompris import gcompris
from gcompris import gcompris_gettext as _
import gcompris.utils import gcompris.utils
import gcompris.bonus
import gcompris.skin import gcompris.skin
import gcompris.sound import gcompris.bonus
import gcompris.timer import gcompris.timer
import gtk import goocanvas
import gtk.gdk
import gobject
import random import random
import cairo
from BrailleChar import *
import socket
import struct
import pango import pango
import sys from BrailleChar import *
import uuid from braille_alphabets import *
from socket import gethostname
from gcompris import gcompris_gettext as _ from gcompris import gcompris_gettext as _
#CONSTANTS for generating TICKET A #CONSTANTS for generating TICKET A
...@@ -74,14 +64,6 @@ class Gcompris_braille_lotto: ...@@ -74,14 +64,6 @@ class Gcompris_braille_lotto:
# to know from the core # to know from the core
self.gcomprisBoard = gcomprisBoard self.gcomprisBoard = gcomprisBoard
# Adress and port
self.mcast_adress = "227.234.253.9"
self.port = 15922
self.mcast_timer = 0
self.sock = None
# Used to recognize our own network message
self.uuid = uuid.uuid1().hex
# Needed to get key_press # Needed to get key_press
gcomprisBoard.disable_im_context = True gcomprisBoard.disable_im_context = True
...@@ -239,7 +221,7 @@ class Gcompris_braille_lotto: ...@@ -239,7 +221,7 @@ class Gcompris_braille_lotto:
self.lotto_room_tv.set_editable(False) self.lotto_room_tv.set_editable(False)
self.lotto_room_sw.add(self.lotto_room_tv) self.lotto_room_sw.add(self.lotto_room_tv)
# save name and selected color in a map # save name and selected color in a map
self.lotto_room_map = [] self.lotto_room_map = {}
self.lotto_room_tb.set_text("") self.lotto_room_tb.set_text("")
...@@ -281,7 +263,7 @@ class Gcompris_braille_lotto: ...@@ -281,7 +263,7 @@ class Gcompris_braille_lotto:
self.channel.show() self.channel.show()
self.channel.set_text("Type your channel name in order to start playing") self.channel.set_text("Type your channel name in order to start playing")
self.channel.connect("activate",self.enter_callback, self.channel)
# A label for the channel area # A label for the channel area
goocanvas.Text( goocanvas.Text(
...@@ -474,66 +456,6 @@ class Gcompris_braille_lotto: ...@@ -474,66 +456,6 @@ class Gcompris_braille_lotto:
BrailleChar(self.rootitem, 738, 377, 33 , ones_digit_f, COLOR_ON, COLOR_OFF , BrailleChar(self.rootitem, 738, 377, 33 , ones_digit_f, COLOR_ON, COLOR_OFF ,
CIRCLE_FILL, CIRCLE_FILL, False, False ,True, None) CIRCLE_FILL, CIRCLE_FILL, False, False ,True, None)
try:
# Start the server
self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
self.sock.bind(('', self.port))
mreq = struct.pack('4sl', socket.inet_aton(self.mcast_adress), socket.INADDR_ANY)
self.sock.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, mreq)
self.sock.setblocking(0)
self.timer_interval = 10
self.mcast_timer = gobject.timeout_add(self.timer_interval, self.mcast_read)
print self.mcast_timer
except:
gcompris.utils.dialog(_("GCompris ERROR: Failed to initialize the network interface.\n"
" You cannot communicate."),None)
self.pause(1)
def enter_callback(self, widget, entry):
gcompris.sound.play_ogg("sounds/bleep.wav")
if(not self.channel.get_text()):
gcompris.utils.dialog(_("GCompris You must set a channel in your channel entry box first.\n"
"Your friends must set the same channel in order to start playing"),None)
return
Prop = gcompris.get_properties()
entry_text = entry.get_text()
# format the message
entry_text = ("GCOMPRIS:CHAT:" +
self.channel.get_text() + ":" +
Prop.logged_user.login + ":" +
":" + entry_text)
self.send_message(entry_text)
def send_message(self, message):
"""sends the given message."""
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM,
socket.IPPROTO_UDP)
sock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 2)
sock.sendto(message, (self.mcast_adress, self.port))
sock.close()
def mcast_read(self):
if not self.mcast_timer:
return
self.mcast_timer = gobject.timeout_add(self.timer_interval,
self.mcast_read)
text = ""
try:
text = self.sock.recv(10240)
print "Received text: %s\n" % text
except:
return
# Parse it
textl = text.split(":", 10)
self.lotto_room_map.append(textl[3])
self.lotto_room_tb.set_text(textl[3])
gcompris.sound.play_ogg("sounds/receive.wav")
return False
def say(self): def say(self):
...@@ -568,26 +490,8 @@ class Gcompris_braille_lotto: ...@@ -568,26 +490,8 @@ class Gcompris_braille_lotto:
self.rootitem = goocanvas.Group(parent= self.rootitem = goocanvas.Group(parent=
self.gcomprisBoard.canvas.get_root_item()) self.gcomprisBoard.canvas.get_root_item())
gcompris.set_default_background(self.gcomprisBoard.canvas.get_root_item()) gcompris.set_default_background(self.gcomprisBoard.canvas.get_root_item())
map_obj = Gcompris_braille_alphabets(self.gcomprisBoard)
#Place alphabets & numbers in array format map_obj.Braille_Map(self.rootitem, COLOR_ON, COLOR_OFF, CIRCLE_FILL, CIRCLE_STROKE)
for index, letter in enumerate(string.ascii_uppercase[:10]):
tile = BrailleChar(self.rootitem, index*(CELL_WIDTH+40)+60,
55, 50, letter ,COLOR_ON, COLOR_OFF, CIRCLE_FILL,
CIRCLE_FILL, True ,False ,True , None)
for index, letter in enumerate(string.ascii_uppercase[10:20]):
tile = BrailleChar(self.rootitem, index*(CELL_WIDTH+40)+60,
150, 50, letter ,COLOR_ON, COLOR_OFF, CIRCLE_FILL,
CIRCLE_FILL, True ,False ,True, None)
for index, letter in enumerate(string.ascii_uppercase[20:25]):
tile = BrailleChar(self.rootitem, index*(CELL_WIDTH+40)+60,
250, 50, letter ,COLOR_ON ,COLOR_OFF ,CIRCLE_FILL,
CIRCLE_FILL, True ,False,True, None)
BrailleChar(self.rootitem,60, 350, 50, "#",COLOR_ON,COLOR_OFF, CIRCLE_FILL,
CIRCLE_FILL, True, False,True, None)
for index in range(0,10):
tile = BrailleChar(self.rootitem,(index+1) *(CELL_WIDTH + 33)+60,
350, 50, index ,COLOR_ON,COLOR_OFF ,CIRCLE_FILL,
CIRCLE_FILL, True ,False ,True, None)
self.mapActive = True self.mapActive = True
self.pause(1) self.pause(1)
...@@ -615,10 +519,7 @@ class Gcompris_braille_lotto: ...@@ -615,10 +519,7 @@ class Gcompris_braille_lotto:
self.channel.show() self.channel.show()
self.lotto_room_tv.show() self.lotto_room_tv.show()
self.lotto_room_sw.show() self.lotto_room_sw.show()
#Setting Timer
gcompris.timer.display(560,100,gcompris.timer.CLOCK,10,self.say)
gcompris.timer.pause(9) gcompris.timer.pause(9)
gcompris.timer.add(10)
def set_level(self, level): def set_level(self, level):
......
...@@ -27,6 +27,7 @@ import pango ...@@ -27,6 +27,7 @@ import pango
import random import random
import gcompris.bonus import gcompris.bonus
from BrailleChar import * from BrailleChar import *
from braille_alphabets import *
from gcompris import gcompris_gettext as _ from gcompris import gcompris_gettext as _
#Constants Declaration #Constants Declaration
...@@ -313,48 +314,10 @@ class Gcompris_dicey_dicey: ...@@ -313,48 +314,10 @@ class Gcompris_dicey_dicey:
self.rootitem = goocanvas.Group(parent= self.rootitem = goocanvas.Group(parent=
self.gcomprisBoard.canvas.get_root_item()) self.gcomprisBoard.canvas.get_root_item())
gcompris.set_default_background(self.gcomprisBoard.canvas.get_root_item()) gcompris.set_default_background(self.gcomprisBoard.canvas.get_root_item())
map_obj = Gcompris_braille_alphabets(self.gcomprisBoard)
#Place alphabets & numbers in array format map_obj.Braille_Map(self.rootitem, COLOR_ON, COLOR_OFF, CIRCLE_FILL, CIRCLE_STROKE)
for index, letter in enumerate(string.ascii_uppercase[:10]):
tile = BrailleChar(self.rootitem, index*(CELL_WIDTH+40)+60,
60, 38, letter ,COLOR_ON, COLOR_OFF, CIRCLE_FILL,
CIRCLE_FILL, True ,False ,True , None)
for index, letter in enumerate(string.ascii_uppercase[10:20]):
tile = BrailleChar(self.rootitem, index*(CELL_WIDTH+40)+60,
135, 38, letter ,COLOR_ON, COLOR_OFF, CIRCLE_FILL,
CIRCLE_FILL, True ,False ,True, None)
for index, letter in enumerate(string.ascii_uppercase[20:25]):
tile = BrailleChar(self.rootitem, index*(CELL_WIDTH+40)+60,
210, 38, letter ,COLOR_ON ,COLOR_OFF ,CIRCLE_FILL,
CIRCLE_FILL, True ,False,True, None)
BrailleChar(self.rootitem,60, 285, 38, "#",COLOR_ON,COLOR_OFF, CIRCLE_FILL,
CIRCLE_FILL, True, False,True, None)
for index in range(0,10):
tile = BrailleChar(self.rootitem,(index+1) *(CELL_WIDTH + 33)+60,
285, 38, index ,COLOR_ON,COLOR_OFF ,CIRCLE_FILL,
CIRCLE_FILL, True ,False ,True, None)
for index in range(4):
BrailleChar(self.rootitem,index * (CELL_WIDTH + 40) + 60,
360 , 38,SYMBOL[index],COLOR_ON,COLOR_OFF,CIRCLE_FILL
,CIRCLE_FILL,True, False , True, None)
#Move back item
self.backitem = goocanvas.Image(parent = self.rootitem,
pixbuf = gcompris.utils.load_pixmap("dicey_dicey/back.png"),
x = 600,
y = 450,
tooltip = "Move Back"
)
self.backitem.connect("button_press_event", self.move_back)
gcompris.utils.item_focus_init(self.backitem, None)
self.mapActive = True self.mapActive = True
def move_back(self,event,target,item):
self.end()
self.start()
def config(self): def config(self):
print("dicey_dicey config.") print("dicey_dicey config.")
......
...@@ -28,12 +28,14 @@ import random ...@@ -28,12 +28,14 @@ import random
import string import string
from BrailleChar import * from BrailleChar import *
from braille_alphabets import *
from gcompris import gcompris_gettext as _ from gcompris import gcompris_gettext as _
#Constants Declaration #Constants Declaration
COLOR_ON = 0XCC3399L COLOR_ON = 0XCC3399L
COLOR_OFF = 0X00000000L COLOR_OFF = 0X00000000L
CIRCLE_FILL = "#CC3399" CIRCLE_FILL = "#CC3399"
CIRCLE_STROKE = "#CC3399"
CELL_WIDTH = 30 CELL_WIDTH = 30
RHYMES_RIDDLES_LIST = [ RHYMES_RIDDLES_LIST = [
[ # Level 1 [ # Level 1
...@@ -138,6 +140,7 @@ class Gcompris_rhymes_riddles: ...@@ -138,6 +140,7 @@ class Gcompris_rhymes_riddles:
BrailleChar(self.rootitem,index*(CELL_WIDTH+20)+100,350,40,str[index], BrailleChar(self.rootitem,index*(CELL_WIDTH+20)+100,350,40,str[index],
COLOR_ON, COLOR_OFF, CIRCLE_FILL, COLOR_ON, COLOR_OFF, CIRCLE_FILL,
CIRCLE_FILL, False, False, True,None) CIRCLE_FILL, False, False, True,None)
# the answer area # the answer area
self.entry = gtk.Entry() self.entry = gtk.Entry()
self.entry.connect("activate", self.enter_callback,self.entry,level) self.entry.connect("activate", self.enter_callback,self.entry,level)
...@@ -185,26 +188,8 @@ class Gcompris_rhymes_riddles: ...@@ -185,26 +188,8 @@ class Gcompris_rhymes_riddles:
self.rootitem = goocanvas.Group(parent= self.rootitem = goocanvas.Group(parent=
self.gcomprisBoard.canvas.get_root_item()) self.gcomprisBoard.canvas.get_root_item())
gcompris.set_default_background(self.gcomprisBoard.canvas.get_root_item()) gcompris.set_default_background(self.gcomprisBoard.canvas.get_root_item())
map_obj = Gcompris_braille_alphabets(self.gcomprisBoard)
#Place alphabets & numbers in array format map_obj.Braille_Map(self.rootitem, COLOR_ON, COLOR_OFF, CIRCLE_FILL, CIRCLE_STROKE)
for index, letter in enumerate(string.ascii_uppercase[:10]):
tile = BrailleChar(self.rootitem, index*(CELL_WIDTH+40)+60,
55, 50, letter ,COLOR_ON, COLOR_OFF, CIRCLE_FILL,
CIRCLE_FILL, True ,False ,True , None)
for index, letter in enumerate(string.ascii_uppercase[10:20]):
tile = BrailleChar(self.rootitem, index*(CELL_WIDTH+40)+60,
150, 50, letter ,COLOR_ON, COLOR_OFF, CIRCLE_FILL,
CIRCLE_FILL, True ,False ,True, None)
for index, letter in enumerate(string.ascii_uppercase[20:25]):
tile = BrailleChar(self.rootitem, index*(CELL_WIDTH+40)+60,
250, 50, letter ,COLOR_ON ,COLOR_OFF ,CIRCLE_FILL,
CIRCLE_FILL, True ,False,True, None)
BrailleChar(self.rootitem,60, 350, 50, "#",COLOR_ON,COLOR_OFF, CIRCLE_FILL,
CIRCLE_FILL, True, False,True, None)
for index in range(0,10):
tile = BrailleChar(self.rootitem,(index+1) *(CELL_WIDTH + 33)+60,
350, 50, index ,COLOR_ON,COLOR_OFF ,CIRCLE_FILL,
CIRCLE_FILL, True ,False ,True, None)
self.mapActive = True self.mapActive = True
self.pause(1) self.pause(1)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment