Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.settings/org.eclipse.core.resources.prefs2
-rwxr-xr-xsrc/api/Math.py23
-rw-r--r--src/api/Sprite.py2
-rw-r--r--src/assets/fonts/DejaVuSans-Bold.ttfbin0 -> 672300 bytes
-rw-r--r--src/assets/fonts/DejaVuSans.ttfbin0 -> 720012 bytes
-rw-r--r--src/assets/fonts/DejaVuSerif-Bold.ttfbin0 -> 341072 bytes
-rw-r--r--src/assets/fonts/DejaVuSerif.ttfbin0 -> 363200 bytes
-rw-r--r--src/assets/fonts/fipps.ttfbin74264 -> 0 bytes
-rw-r--r--src/assets/fonts/goodfoot.ttfbin64760 -> 0 bytes
-rw-r--r--src/assets/images/selectArea/area1Normal.pngbin0 -> 119470 bytes
-rw-r--r--src/assets/images/selectArea/area1Selected.pngbin0 -> 106083 bytes
-rw-r--r--src/assets/images/selectArea/backgroundSelectArea.pngbin0 -> 1439326 bytes
-rw-r--r--src/game/Area1Game1.py2
-rw-r--r--src/game/Area1Game3.py10
-rw-r--r--src/game/Area1Game7.py6
-rw-r--r--src/game/CreditsState.py2
-rw-r--r--src/game/MenuState.py21
-rw-r--r--src/game/SelectAreaState.py95
18 files changed, 145 insertions, 18 deletions
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
index e3decf9..a969971 100644
--- a/.settings/org.eclipse.core.resources.prefs
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -2,6 +2,7 @@ eclipse.preferences.version=1
encoding//src/Main.py=utf-8
encoding//src/api/Game.py=utf-8
encoding//src/api/GameState.py=utf-8
+encoding//src/api/Math.py=utf-8
encoding//src/api/Mouse.py=utf-8
encoding//src/api/Sprite.py=utf-8
encoding//src/api/Vector.py=utf-8
@@ -12,3 +13,4 @@ encoding//src/game/Area1Game7.py=utf-8
encoding//src/game/Area2Game2.py=utf-8
encoding//src/game/CreditsState.py=utf-8
encoding//src/game/MenuState.py=utf-8
+encoding//src/game/SelectAreaState.py=utf-8
diff --git a/src/api/Math.py b/src/api/Math.py
index 196a736..8b8eefc 100755
--- a/src/api/Math.py
+++ b/src/api/Math.py
@@ -49,3 +49,26 @@ def degToRad(aAngle):
def dist(ax1, ay1, ax2, ay2):
return math.sqrt((ax2-ax1)**2 + (ay2-ay1)**2)
+
+# determine if a point is inside a given polygon or not
+# Polygon is a list of (x,y) pairs.
+# http://www.ariel.com.au/a/python-point-int-poly.html
+# http://local.wasp.uwa.edu.au/~pbourke/geometry/insidepoly/
+def pointInsidePolygon(x, y, poly):
+
+ n = len(poly)
+ inside =False
+
+ p1x,p1y = poly[0]
+ for i in range(n+1):
+ p2x,p2y = poly[i % n]
+ if y > min(p1y,p2y):
+ if y <= max(p1y,p2y):
+ if x <= max(p1x,p2x):
+ if p1y != p2y:
+ xinters = (y-p1y)*(p2x-p1x)/(p2y-p1y)+p1x
+ if p1x == p2x or x <= xinters:
+ inside = not inside
+ p1x,p1y = p2x,p2y
+
+ return inside \ No newline at end of file
diff --git a/src/api/Sprite.py b/src/api/Sprite.py
index 201f9a3..f260e09 100644
--- a/src/api/Sprite.py
+++ b/src/api/Sprite.py
@@ -71,7 +71,7 @@ class CSprite(pygame.sprite.Sprite):
#create a default text image as a placeholder
#This will usually be changed by a setImage call
#self.font = pygame.font.Font("freesansbold.ttf", 30)
- self.font = pygame.font.Font('assets/fonts/goodfoot.ttf', 30)
+ self.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 30)
self.mImageMaster = self.font.render(">sprite>", True, (0, 0,0), (0xFF, 0xFF, 0xFF))
# Set the image of the sprite.
diff --git a/src/assets/fonts/DejaVuSans-Bold.ttf b/src/assets/fonts/DejaVuSans-Bold.ttf
new file mode 100644
index 0000000..0f4d5e9
--- /dev/null
+++ b/src/assets/fonts/DejaVuSans-Bold.ttf
Binary files differ
diff --git a/src/assets/fonts/DejaVuSans.ttf b/src/assets/fonts/DejaVuSans.ttf
new file mode 100644
index 0000000..27cff47
--- /dev/null
+++ b/src/assets/fonts/DejaVuSans.ttf
Binary files differ
diff --git a/src/assets/fonts/DejaVuSerif-Bold.ttf b/src/assets/fonts/DejaVuSerif-Bold.ttf
new file mode 100644
index 0000000..afa2d5e
--- /dev/null
+++ b/src/assets/fonts/DejaVuSerif-Bold.ttf
Binary files differ
diff --git a/src/assets/fonts/DejaVuSerif.ttf b/src/assets/fonts/DejaVuSerif.ttf
new file mode 100644
index 0000000..ed53a29
--- /dev/null
+++ b/src/assets/fonts/DejaVuSerif.ttf
Binary files differ
diff --git a/src/assets/fonts/fipps.ttf b/src/assets/fonts/fipps.ttf
deleted file mode 100644
index 504d742..0000000
--- a/src/assets/fonts/fipps.ttf
+++ /dev/null
Binary files differ
diff --git a/src/assets/fonts/goodfoot.ttf b/src/assets/fonts/goodfoot.ttf
deleted file mode 100644
index a7a1e3b..0000000
--- a/src/assets/fonts/goodfoot.ttf
+++ /dev/null
Binary files differ
diff --git a/src/assets/images/selectArea/area1Normal.png b/src/assets/images/selectArea/area1Normal.png
new file mode 100644
index 0000000..cb60af4
--- /dev/null
+++ b/src/assets/images/selectArea/area1Normal.png
Binary files differ
diff --git a/src/assets/images/selectArea/area1Selected.png b/src/assets/images/selectArea/area1Selected.png
new file mode 100644
index 0000000..b9250a6
--- /dev/null
+++ b/src/assets/images/selectArea/area1Selected.png
Binary files differ
diff --git a/src/assets/images/selectArea/backgroundSelectArea.png b/src/assets/images/selectArea/backgroundSelectArea.png
new file mode 100644
index 0000000..8824b0b
--- /dev/null
+++ b/src/assets/images/selectArea/backgroundSelectArea.png
Binary files differ
diff --git a/src/game/Area1Game1.py b/src/game/Area1Game1.py
index 92eb63b..a85715b 100644
--- a/src/game/Area1Game1.py
+++ b/src/game/Area1Game1.py
@@ -165,7 +165,7 @@ class CArea1Game1(CGameState):
self.mButtonBack = CButton()
#TODO: Create a function to create image.
self.mButtonBack.set_bgColor((0x99, 0x99, 0x66))
- self.mButtonBack.font = pygame.font.Font('assets/fonts/fipps.ttf', 20)
+ self.mButtonBack.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 20)
self.mButtonBack.set_center((110, 650))
self.mButtonBack.set_size((200, 40))
self.mButtonBack.set_text(_('Volver'))
diff --git a/src/game/Area1Game3.py b/src/game/Area1Game3.py
index a12da10..a79568e 100644
--- a/src/game/Area1Game3.py
+++ b/src/game/Area1Game3.py
@@ -44,7 +44,7 @@ class CArea1Game3(CGameState):
self.mButtonBack = CButton()
self.mButtonBack.set_bgColor((0x99, 0x99, 0x66))
- self.mButtonBack.font = pygame.font.Font('assets/fonts/fipps.ttf', 20)
+ self.mButtonBack.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 20)
self.mButtonBack.set_center((110, 650))
self.mButtonBack.set_size((200, 40))
self.mButtonBack.set_text(_('Volver'))
@@ -52,7 +52,7 @@ class CArea1Game3(CGameState):
self.mLabelTitle = CLabel()
self.mLabelTitle.set_bgColor((0x99, 0x50, 0x50))
- self.mLabelTitle.font = pygame.font.Font('assets/fonts/fipps.ttf', 15)
+ self.mLabelTitle.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 15)
self.mLabelTitle.set_center((600, 100))
self.mLabelTitle.set_size((800, 40))
self.mLabelTitle.set_text(_('Cuando un niño se desarrolla pasan las siguientes cosas:'))
@@ -60,7 +60,7 @@ class CArea1Game3(CGameState):
self.mLabelQuestion = CLabel()
self.mLabelQuestion.set_bgColor((0x99, 0x50, 0x99))
- self.mLabelQuestion.font = pygame.font.Font('assets/fonts/fipps.ttf', 13)
+ self.mLabelQuestion.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 13)
self.mLabelQuestion.set_center((600, 200))
self.mLabelQuestion.set_size((800, 40))
self.mLabelQuestion.set_text('')
@@ -71,7 +71,7 @@ class CArea1Game3(CGameState):
self.mButtonTrue = CButton()
self.mButtonTrue.set_bgColor((0x99, 0x99, 0x66))
- self.mButtonTrue.font = pygame.font.Font('assets/fonts/fipps.ttf', 20)
+ self.mButtonTrue.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 20)
self.mButtonTrue.set_center((460, 300))
self.mButtonTrue.set_size((200, 40))
self.mButtonTrue.set_text(_('Verdadero'))
@@ -79,7 +79,7 @@ class CArea1Game3(CGameState):
self.mButtonFalse = CButton()
self.mButtonFalse.set_bgColor((0x99, 0x99, 0x66))
- self.mButtonFalse.font = pygame.font.Font('assets/fonts/fipps.ttf', 20)
+ self.mButtonFalse.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 20)
self.mButtonFalse.set_center((740, 300))
self.mButtonFalse.set_size((200, 40))
self.mButtonFalse.set_text(_('Falso'))
diff --git a/src/game/Area1Game7.py b/src/game/Area1Game7.py
index 1a6f32f..90c90f1 100644
--- a/src/game/Area1Game7.py
+++ b/src/game/Area1Game7.py
@@ -180,7 +180,7 @@ class CArea1Game7(CGameState):
self.mButtonBack = CButton()
#TODO: Create a function to create image.
self.mButtonBack.set_bgColor((0x99, 0x99, 0x66))
- self.mButtonBack.font = pygame.font.Font('assets/fonts/fipps.ttf', 20)
+ self.mButtonBack.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 20)
self.mButtonBack.set_center((110, 650))
self.mButtonBack.set_size((200, 40))
self.mButtonBack.set_text(_('Volver'))
@@ -220,14 +220,14 @@ class CArea1Game7(CGameState):
# Label with the Help (for mouseover)
self.mHelp01 = CLabel()
self.mHelp01.bgColor = (0x99, 0x99, 0x66)
- self.mHelp01.font = pygame.font.Font('assets/fonts/fipps.ttf', 20)
+ self.mHelp01.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 20)
self.mHelp01.set_center((914, 188))
self.mHelp01.set_size((500, 280))
self.mHelp01.set_text(self.dic_help[1])
self.mHelp02 = CLabel()
self.mHelp02.bgColor = (0x99, 0x99, 0x66)
- self.mHelp02.font = pygame.font.Font('assets/fonts/fipps.ttf', 20)
+ self.mHelp02.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 20)
self.mHelp02.set_center((914, 188))
self.mHelp02.set_size((500, 280))
self.mHelp02.set_text(self.dic_help[2])
diff --git a/src/game/CreditsState.py b/src/game/CreditsState.py
index 9982f8b..e4b79f5 100644
--- a/src/game/CreditsState.py
+++ b/src/game/CreditsState.py
@@ -29,7 +29,7 @@ class CCreditsState(CGameState):
self.mButtonBack = CButton()
self.mButtonBack.set_bgColor((0x99, 0x99, 0x66))
- self.mButtonBack.font = pygame.font.Font('assets/fonts/fipps.ttf', 20)
+ self.mButtonBack.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 20)
self.mButtonBack.set_center((300, 300))
self.mButtonBack.set_size((200, 40))
self.mButtonBack.set_text("Volver") #_('BACK Credits')
diff --git a/src/game/MenuState.py b/src/game/MenuState.py
index 7ede0b7..e0bd828 100644
--- a/src/game/MenuState.py
+++ b/src/game/MenuState.py
@@ -12,6 +12,10 @@ import api.Button
from api.Button import CButton
import game.CreditsState
from CreditsState import *
+
+import game.SelectAreaState
+from SelectAreaState import *
+
import api.Image as Image
import game.Area1Game1
@@ -30,6 +34,7 @@ class CMenuState(CGameState):
mBackground = None
mInstructions = None
#mX = 10
+
mButtonA1G1= None
mButtonA1G3 = None
@@ -51,7 +56,7 @@ class CMenuState(CGameState):
self.mButtonCredits = CButton()
self.mButtonCredits.bgColor = (0x99, 0x99, 0x66)
- self.mButtonCredits.font = pygame.font.Font('assets/fonts/fipps.ttf', 20)
+ self.mButtonCredits.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 20)
self.mButtonCredits.set_center((600, 420))
self.mButtonCredits.set_size((200, 40))
self.mButtonCredits.set_text('Créditos')
@@ -60,7 +65,7 @@ class CMenuState(CGameState):
self.mButtonPlay = CButton()
self.mButtonPlay.bgColor = (0x99, 0x99, 0x66)
self.mButtonPlay.fgColor = (0xFF, 0xFF, 0xFF)
- self.mButtonPlay.font = pygame.font.Font('assets/fonts/fipps.ttf', 28)
+ self.mButtonPlay.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 28)
self.mButtonPlay.set_center((600, 50))
self.mButtonPlay.set_size((200, 40))
self.mButtonPlay.set_text('Jugar')
@@ -68,7 +73,7 @@ class CMenuState(CGameState):
self.mButtonHelp = CButton()
self.mButtonHelp.bgColor = (0x99, 0x99, 0x66)
- self.mButtonHelp.font = pygame.font.Font('assets/fonts/fipps.ttf', 32)
+ self.mButtonHelp.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 32)
self.mButtonHelp.set_center((600, 470))
self.mButtonHelp.set_size((200, 40))
self.mButtonHelp.set_text('Ayuda')
@@ -76,7 +81,7 @@ class CMenuState(CGameState):
self.mButtonExit = CButton()
self.mButtonExit.bgColor = (0x99, 0x99, 0x66)
- self.mButtonExit.font = pygame.font.Font('assets/fonts/fipps.ttf', 32)
+ self.mButtonExit.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 32)
self.mButtonExit.set_center((600, 520))
self.mButtonExit.set_size((200, 40))
self.mButtonExit.set_text('Salir')
@@ -85,7 +90,7 @@ class CMenuState(CGameState):
self.mButtonA1G1 = CButton()
#TODO: Create a function to create image.
self.mButtonA1G1.bgColor = (0x99, 0x99, 0x66)
- self.mButtonA1G1.font = pygame.font.Font('assets/fonts/fipps.ttf', 20)
+ self.mButtonA1G1.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 20)
self.mButtonA1G1.set_center((110, 420))
self.mButtonA1G1.set_size((200, 40))
self.mButtonA1G1.set_text('A1 - Juego 1')
@@ -93,7 +98,7 @@ class CMenuState(CGameState):
self.mButtonA1G3 = CButton()
self.mButtonA1G3.bgColor = (0x99, 0x99, 0x66)
- self.mButtonA1G3.font = pygame.font.Font('assets/fonts/fipps.ttf', 20)
+ self.mButtonA1G3.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 20)
self.mButtonA1G3.set_center((110, 470))
self.mButtonA1G3.set_size((200, 40))
self.mButtonA1G3.set_text('A1 - Juego 3')
@@ -101,7 +106,7 @@ class CMenuState(CGameState):
self.mButtonA1G7 = CButton()
self.mButtonA1G7.bgColor = (0x99, 0x99, 0x66)
- self.mButtonA1G7.font = pygame.font.Font('assets/fonts/fipps.ttf', 20)
+ self.mButtonA1G7.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 20)
self.mButtonA1G7.set_center((110, 520))
self.mButtonA1G7.set_size((200, 40))
self.mButtonA1G7.set_text('A1 - Juego 7')
@@ -122,6 +127,8 @@ class CMenuState(CGameState):
elif self.mButtonPlay.clicked():
print "clicked play"
+ selectArea = CSelectAreaState()
+ CGame().setState(selectArea)
# game = CLevelState()
# CGame().setState(game)
diff --git a/src/game/SelectAreaState.py b/src/game/SelectAreaState.py
new file mode 100644
index 0000000..7779544
--- /dev/null
+++ b/src/game/SelectAreaState.py
@@ -0,0 +1,95 @@
+# -*- coding: utf-8 -*-
+
+import MenuState
+from MenuState import *
+import api.GameState
+from api.GameState import CGameState
+import api.MultiLabel
+from api.MultiLabel import CMultiLabel
+import api.Game
+from api.Game import CGame
+import api.Button
+from api.Button import CButton
+import api.Image as CImage
+
+import api.Sprite
+from api.Sprite import CSprite
+
+import api.Image as Image
+
+from api.Mouse import *
+
+import api.Math as CMath
+
+import pygame
+
+class CSelectAreaState(CGameState):
+
+ mBackground = None
+ mInstructions = None
+ #mX = 10
+ mButtonBack = None
+
+ mCurrentSelectedArea = 0
+
+ mArea1 = None
+
+ mFrameImageArea1 = []
+
+ AREA1_POLYGON = [(139,330), (299,265), (422,324), (267,400)]
+
+ def init(self):
+ CGameState.init(self)
+ #self.mInstructions = CMultiLabel()
+ #CGame().addChild(self.mInstructions)
+ #print self.mX
+
+ self.mCurrentSelectedArea = 0
+
+ self.mButtonBack = CButton()
+ self.mButtonBack.set_bgColor((0x99, 0x99, 0x66))
+ self.mButtonBack.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 20)
+ self.mButtonBack.set_center((100, 100))
+ self.mButtonBack.set_size((200, 40))
+ self.mButtonBack.set_text("Volver") #_('BACK Credits')
+ CGame().addChild(self.mButtonBack)
+
+ self.mBackground = CImage.loadImage('assets/images/selectArea/backgroundSelectArea.png', False)
+ CGame().setBackground(self.mBackground)
+
+ self.mArea1 = CSprite()
+ self.mArea1.setXY(105,222)
+ self.mFrameImageArea1.append(Image.loadImage('assets/images/selectArea/area1Normal.png', True))
+ self.mFrameImageArea1.append(Image.loadImage('assets/images/selectArea/area1Selected.png', True))
+ self.mArea1.setImage(self.mFrameImageArea1[0])
+ CGame().addChild(self.mArea1)
+
+ def update(self):
+ #print "menu update"
+ CGameState.update(self)
+
+ if self.mButtonBack.clicked():
+ print "clicked back......"
+ ms = MenuState.CMenuState()
+ CGame().setState(ms)
+
+ if (CMath.pointInsidePolygon(CMouse().getX(), CMouse().getY(), self.AREA1_POLYGON)):
+ self.mArea1.setImage(self.mFrameImageArea1[1])
+ else:
+ self.mArea1.setImage(self.mFrameImageArea1[0])
+
+ #def render(self):
+ # CGameState.render(self)
+ # print "CMenuState render"
+
+ def destroy(self):
+ CGameState.destroy(self)
+ CGame().removeChild(self.mButtonBack)
+ self.mButtonBack = None
+ CGame().removeChild(self.mArea1)
+ self.mArea1.destroy()
+ self.mArea1 = None
+ self.mBackground = None
+
+ def doEvents(self, aEvent):
+ print aEvent.type \ No newline at end of file