[gcompris/gcomprisbraille] Added a arrange the sequence level
- From: Srishti Sethi <srishs src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gcompris/gcomprisbraille] Added a arrange the sequence level
- Date: Tue, 28 Jun 2011 10:32:52 +0000 (UTC)
commit a009d93376d379ace4964106a1de86a2a4c0a646
Author: Srishti Sethi <srishakatux gmail com>
Date: Tue Jun 28 16:02:20 2011 +0530
Added a arrange the sequence level
src/louis_braille-activity/louis_braille.py | 231 ++++++++++++++++---
.../resources/louis_braille/activity.desktop | 38 +++-
2 files changed, 230 insertions(+), 39 deletions(-)
---
diff --git a/src/louis_braille-activity/louis_braille.py b/src/louis_braille-activity/louis_braille.py
index 4e29f77..b202032 100644
--- a/src/louis_braille-activity/louis_braille.py
+++ b/src/louis_braille-activity/louis_braille.py
@@ -21,8 +21,10 @@ import gtk.gdk
import gcompris
import gcompris.utils
import gcompris.skin
+import gcompris.bonus
import goocanvas
import pango
+import random
import ConfigParser
from BrailleChar import *
@@ -34,6 +36,12 @@ CIRCLE_FILL = "red"
CELL_WIDTH = 30
LOUIS_BRAILLE_NAME = ['L','O','U','I','S','B','R','A','I','L','L','E']
+NUMBERS = [12,13,14,15,16,17,18,19,20,21,22]
+SEQUENCE = ['a','b','c','d','e','f','g','h','i','j','k']
+NUMBER_SEQUENCE = [[12,'a'],[13,'b'],[14,'c'],[15,'d'],[16,'e'],[17,'f'],
+ [18,'g'],[19,'h'],[20,'i'],[21,'j'],[22,'k']]
+random.shuffle(NUMBERS)
+random.shuffle(NUMBER_SEQUENCE)
class Gcompris_louis_braille:
"""Empty gcompris python class"""
@@ -46,7 +54,7 @@ class Gcompris_louis_braille:
self.gcomprisBoard.level=1
self.gcomprisBoard.sublevel=1
self.gcomprisBoard.number_of_sublevel=1
- self.gcomprisBoard.maxlevel = 11
+ self.gcomprisBoard.maxlevel = 12
# Needed to get key_press
gcomprisBoard.disable_im_context = True
@@ -54,13 +62,17 @@ class Gcompris_louis_braille:
def start(self):
# Set the buttons we want in the bar
gcompris.bar_set (0)
- gcompris.bar_location(gcompris.BOARD_WIDTH - 160, -1, 0.6)
# Set a background image
gcompris.set_default_background(self.gcomprisBoard.canvas.get_root_item())
gcompris.set_background(self.gcomprisBoard.canvas.get_root_item(),
"louis_braille/back.png")
+ #Initialize variables
+ self.won = 0
+ self.counter = 0
+ self.gamewon = 0
+
# Create our rootitem. We put each canvas item in it so at the end we
# only have to kill it. The canvas deletes all the items it contains
@@ -69,35 +81,7 @@ class Gcompris_louis_braille:
self.rootitem = goocanvas.Group(parent =
self.gcomprisBoard.canvas.get_root_item())
- #Previous Button
- ok = goocanvas.Svg(parent = self.rootitem,
- svg_handle = gcompris.skin.svg_get(),
- svg_id = "#PREVIOUS",
- tooltip = "Click to move to previous story page"
- )
- ok.translate(-300,50)
- ok.connect("button_press_event", self.previous_event, self.gcomprisBoard.level)
- gcompris.utils.item_focus_init(ok, None)
-
- #Next Button
- ok = goocanvas.Svg(parent = self.rootitem,
- svg_handle = gcompris.skin.svg_get(),
- svg_id = "#NEXT",
- tooltip = "Click to move to next story page"
- )
- ok.translate(75,-58)
- ok.connect("button_press_event", self.next_event, self.gcomprisBoard.level)
- gcompris.utils.item_focus_init(ok, None)
- #Display name of louis braille
- for index in range(5):
- BrailleChar(self.rootitem,(index+1) *(CELL_WIDTH + 20)+30,
- 20, 50, LOUIS_BRAILLE_NAME[index] ,COLOR_ON, COLOR_OFF,
- CIRCLE_FILL, CIRCLE_FILL, True,False ,False, None)
- for index in range(5,12):
- BrailleChar(self.rootitem,(index+1) *(CELL_WIDTH + 20)+65,
- 20, 50, LOUIS_BRAILLE_NAME[index] ,COLOR_ON, COLOR_OFF,
- CIRCLE_FILL, CIRCLE_FILL,True,False ,False, None)
self.read_data()
self.display_game(self.gcomprisBoard.level)
@@ -121,14 +105,165 @@ class Gcompris_louis_braille:
return True
def display_game(self, level):
+ if(level == 12):
+ gcompris.bar_location(gcompris.BOARD_WIDTH - 250, -1, 0.8)
+ #Rectangle for STORY
+ goocanvas.Rect(parent=self.rootitem,
+ x=170,
+ y=20,
+ width=400,
+ height=30,
+ stroke_color="dark orange",
+ fill_color="white",
+ line_width=2.0)
+ goocanvas.Text(parent = self.rootitem,
+ x=350.0,
+ y=33,
+ text="Arrange the sequence of story",
+ fill_color="blue",
+ anchor = gtk.ANCHOR_CENTER,
+ alignment = pango.ALIGN_CENTER,
+ font = 'SANS 12'
+ )
+ ok = goocanvas.Svg(parent = self.rootitem,
+ svg_handle = gcompris.skin.svg_get(),
+ svg_id = "#OK",
+ tooltip = "Click to confirm your sequence"
+ )
+ ok.translate(200,15)
+ ok.connect("button_press_event", self.ok_event)
+ gcompris.utils.item_focus_init(ok, None)
+
+ for index in range(11,22):
+ #Rectangle for STORY
+ goocanvas.Rect(parent=self.rootitem,
+ x=50,
+ y=(index - 9) * 35,
+ width=600,
+ height=45,
+ stroke_color="orange",
+ fill_color="white",
+ line_width=2.0)
+
+ #Rectangle for SEQUENCE
+ goocanvas.Rect(parent=self.rootitem,
+ x=20,
+ y=(index - 9) * 35,
+ width=30,
+ height=45,
+ stroke_color="orange",
+ fill_color="white",
+ line_width=2.0)
+
+ #Displaying the STORY
+ goocanvas.Text(parent = self.rootitem,
+ x=350.0,
+ y=(index - 9) * 37.8,
+ text=str(self.dataset.get(str(NUMBER_SEQUENCE[index - 11][0]),"story")),
+ fill_color="black",
+ anchor = gtk.ANCHOR_CENTER,
+ alignment = pango.ALIGN_CENTER,
+ font = 'SANS 8'
+ )
+ #Displaying the SEQUENCE
+ goocanvas.Text(parent = self.rootitem,
+ x=28.0,
+ y=(index - 9) * 37,
+ text= str(SEQUENCE[index - 11]),
+ fill_color="black",
+ anchor = gtk.ANCHOR_CENTER,
+ alignment = pango.ALIGN_CENTER,
+ font = 'SANS 8'
+ )
+ #Answer area to the right
+ #Rectangle for numbering
+ goocanvas.Rect(parent=self.rootitem,
+ x=690,
+ y=(index - 9) * 35,
+ width=30,
+ height=45,
+ stroke_color="orange",
+ fill_color="white",
+ line_width=2.0)
+ #Displaying the numbering
+ goocanvas.Text(parent = self.rootitem,
+ x=710.0,
+ y=(index - 9) * 37,
+ text= str(index - 10),
+ fill_color="black",
+ anchor = gtk.ANCHOR_CENTER,
+ alignment = pango.ALIGN_CENTER,
+ font = 'SANS 8'
+ )
+ self.widget_array = []
+
+ for index in range(11):
+ # the answer area
+ self.entry = gtk.Entry()
+
+ goocanvas.Widget(
+ parent = self.rootitem,
+ widget=self.entry,
+ x = 740,
+ y = (index + 2) * 36,
+ width = 50,
+ height= 25,
+ anchor=gtk.ANCHOR_NW)
+
+ self.widget_array.append(self.entry)
+ self.widget_array[index].connect("activate", self.enter_callback,
+ self.widget_array[index], index)
+ else :
+ gcompris.bar_location(gcompris.BOARD_WIDTH - 140, 350, 0.8)
+
+ #Previous Button
+ ok = goocanvas.Svg(parent = self.rootitem,
+ svg_handle = gcompris.skin.svg_get(),
+ svg_id = "#PREVIOUS",
+ tooltip = "Click to move to previous story page"
+ )
+ ok.translate(-300,50)
+ ok.connect("button_press_event", self.previous_event, self.gcomprisBoard.level)
+ gcompris.utils.item_focus_init(ok, None)
+
+ #Next Button
+ ok = goocanvas.Svg(parent = self.rootitem,
+ svg_handle = gcompris.skin.svg_get(),
+ svg_id = "#NEXT",
+ tooltip = "Click to move to next story page"
+ )
+ ok.translate(75,-58)
+ ok.connect("button_press_event", self.next_event, self.gcomprisBoard.level)
+ gcompris.utils.item_focus_init(ok, None)
+
+ #Display name of louis braille
+ for index in range(5):
+ BrailleChar(self.rootitem,(index+1) *(CELL_WIDTH + 20)+30,
+ 20, 50, LOUIS_BRAILLE_NAME[index] ,COLOR_ON, COLOR_OFF,
+ CIRCLE_FILL, CIRCLE_FILL, True,False ,False, None)
+ for index in range(5,12):
+ BrailleChar(self.rootitem,(index+1) *(CELL_WIDTH + 20)+65,
+ 20, 50, LOUIS_BRAILLE_NAME[index] ,COLOR_ON, COLOR_OFF,
+ CIRCLE_FILL, CIRCLE_FILL,True,False ,False, None)
+
#Checking for newline in activity.desktop
story = self.dataset.get(str(level),"story")
story = story.replace("\\n", "\n")
+ #Rectangle for YEAR
+ goocanvas.Rect(parent=self.rootitem,
+ x=330,
+ y=382,
+ width=180,
+ height=25,
+ stroke_color="orange",
+ fill_color="white",
+ line_width=2.0)
+
#Displaying the YEAR
goocanvas.Text(parent = self.rootitem,
x=420.0,
- y=410.0,
+ y=395.0,
text=str(self.dataset.get(str(level),"year")),
fill_color="black",
anchor = gtk.ANCHOR_CENTER,
@@ -136,10 +271,20 @@ class Gcompris_louis_braille:
font = 'SANS 17'
)
+ #Rectangle for STORY
+ goocanvas.Rect(parent=self.rootitem,
+ x=50,
+ y=415,
+ width=720,
+ height=80,
+ stroke_color="orange",
+ fill_color="white",
+ line_width=2.0)
+
#Displaying the STORY
goocanvas.Text(parent = self.rootitem,
- x=440.0,
- y=450.0,
+ x=433.0,
+ y=455.0,
text=str(story),
fill_color="black",
anchor = gtk.ANCHOR_CENTER,
@@ -154,7 +299,18 @@ class Gcompris_louis_braille:
x = 300,
y = 120,
)
-
+ def enter_callback(self, event, widget, index):
+ print self.widget_array[index].get_text()
+
+ def ok_event(self, event ,target ,item):
+ for index in range(11):
+ if(self.widget_array[index].get_text() == NUMBER_SEQUENCE[index][1]):
+ self.won +=1
+ if (self.won == 11):
+ gcompris.bonus.display(gcompris.bonus.WIN,gcompris.bonus.TUX)
+ self.gamewon = 1
+ else :
+ gcompris.bonus.display(gcompris.bonus.LOOSE,gcompris.bonus.TUX)
def previous_event(self, event, target,item, level):
if (self.gcomprisBoard.level == 1):
@@ -193,11 +349,12 @@ class Gcompris_louis_braille:
utf8char = gtk.gdk.keyval_to_unicode(keyval)
strn = u'%c' % utf8char
- print("Gcompris_louis_braille key press keyval=%i %s" % (keyval, strn))
-
def pause(self, pause):
print("louis_braille pause. %i" % pause)
-
+ if(self.gamewon == 1):
+ self.gcomprisBoard.level = 1
+ self.end()
+ self.start()
def set_level(self, level):
print("louis_braille set level. %i" % level)
\ No newline at end of file
diff --git a/src/louis_braille-activity/resources/louis_braille/activity.desktop b/src/louis_braille-activity/resources/louis_braille/activity.desktop
index 1c4dc8f..9e3cf13 100644
--- a/src/louis_braille-activity/resources/louis_braille/activity.desktop
+++ b/src/louis_braille-activity/resources/louis_braille/activity.desktop
@@ -25,7 +25,7 @@ image = louis_braille/piano.jpg
[6]
year = 1821
-story = Charles Barbier, a french soldier visited his school and shared \n his invention of night writing ,a code of 12 raised dots \n that let soldiers share top secret information on battlefield.
+story = Charles Barbier, a french soldier visited school and shared \n invention of night writing ,a code of 12 raised dots \n that let soldiers share secret information on battlefield.
image = louis_braille/night_printing.jpg
[7]
@@ -50,5 +50,39 @@ image = louis_braille/statue.jpg
[11]
year = After his Death
-story = Braille got accepted as a world wide standard.Louis proved \n if you have motivation you can do incredible things.
+story = Braille got accepted as a world wide standard.Louis proved\nif you have motivation you can do incredible things.
image = louis_braille/braille_ball.jpg
+
+[12]
+story = Born January 4th at Coupvary near Paris in France.
+
+[13]
+story = Louis Braille injured his left eye with a stitching awl from his fathers workshop.
+
+[14]
+story = At the age of three Louis became blind due to sympathetic ophthalmia.
+
+[15]
+story = At the age of 10 he was sent to Paris to study at the Royal Institute for Blind Youth.
+
+[16]
+story = He began to impress his classmates and began to play piano and the organ.
+
+[17]
+story = Charles Barbier, a french soldier visited school and shared invention of night writing.
+
+[18]
+story = Louis trimmed Barbier's 12 dots into 6 and invented Braille.
+
+[19]
+story = He became a professor after graduating and secretly taught his method.
+
+[20]
+story = He revised and extended braille to include mathematics,symbols, punctuations and music notations.
+
+[21]
+story = He died of tuberculosis.He is burried in the Pantheon in Paris.A monument is erected to honor him.
+
+[22]
+story = Braille got accepted as a world wide standard.Louis proved if you have motivation you can do incredible things.
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]