[Python-apps-commits] r2381 - in packages/freealchemist/trunk (3 files)

dfiloni-guest at users.alioth.debian.org dfiloni-guest at users.alioth.debian.org
Sun Feb 15 13:41:23 UTC 2009


    Date: Sunday, February 15, 2009 @ 13:41:22
  Author: dfiloni-guest
Revision: 2381

[svn-inject] Applying Debian modifications to trunk

Deleted:
  packages/freealchemist/trunk/LICENSE
  packages/freealchemist/trunk/freealchemist.py
  packages/freealchemist/trunk/media/

Deleted: packages/freealchemist/trunk/LICENSE
===================================================================
--- packages/freealchemist/trunk/LICENSE	2009-02-15 13:19:39 UTC (rev 2380)
+++ packages/freealchemist/trunk/LICENSE	2009-02-15 13:41:22 UTC (rev 2381)
@@ -1,16 +0,0 @@
-Copyright (C) 2008 Dak
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
-

Deleted: packages/freealchemist/trunk/freealchemist.py
===================================================================
--- packages/freealchemist/trunk/freealchemist.py	2009-02-15 13:19:39 UTC (rev 2380)
+++ packages/freealchemist/trunk/freealchemist.py	2009-02-15 13:41:22 UTC (rev 2381)
@@ -1,386 +0,0 @@
-#!/usr/bin/python
-# FreeAlchemist (by Dak [dak.linux at gmail.com])
-"""
-Copyright (C) 2008 Dak
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
-"""
-
-__author__    = "Dak"
-__email__     = "dak.linux at gmail.com"
-__program__   = "FreeAlchemist"
-__version__   = "0.4"
-__copyright__ = "Copyright (c) 2008 Dak"
-__license__   = "GPL"
-__sleep__ = 0.1
-
-import pygame
-from pygame.locals import *
-import time
-import sys
-import random
-
-class freealchemist:
-	def __init__(self):
-		self.grid = []
-		self.nextblock = []
-		self.blockgrid = []
-		self.blockpos = None
-		self.points = None
-		self.lim = None
-		self.totalpoints = 0
-		self.mov = None
-		self.over = None
-		self.fail = None
-		self.time = None
-
-
-		# Per quanto riguarda pygame
-		pygame.init()
-		pygame.font.init()
-		self.screen = pygame.display.set_mode((446, 435))
-		pygame.display.set_caption(__program__+" "+__version__)
-		pygame.mouse.set_visible(0)
-
-		self.font = pygame.font.Font(None, 24)
-		self.background = pygame.image.load("media/background.png").convert()
-		self.gameover = pygame.image.load("media/gameover.png")
-		self.p = [None]*16
-		self.p[0] = pygame.image.load("media/p1.png") #20
-		self.p[1] = pygame.image.load("media/p2.png") #40
-		self.p[2] = pygame.image.load("media/p3.png") #70
-		self.p[3] = pygame.image.load("media/p4.png") #110
-		self.p[4] = pygame.image.load("media/p5.png") #150
-		self.p[5] = pygame.image.load("media/p6.png") #200
-		self.p[6] = pygame.image.load("media/p7.png") #260
-		self.p[7] = pygame.image.load("media/p8.png") #330
-		self.p[8] = pygame.image.load("media/p9.png") #410 
-		self.p[9] = pygame.image.load("media/p10.png") #500
-		self.p[10] = pygame.image.load("media/p11.png") #600
-		self.p[11] = pygame.image.load("media/p12.png") #1000
-		self.p[13] = pygame.image.load("media/p14.png") #
-		self.p[14] = pygame.image.load("media/p15.png") #
-		self.p[15] = pygame.image.load("media/p16.png") #
-
-		self.s = [None]*5
-		#self.s[0] = pygame.mixer.Sound("explode.wav")
-
-
-	def newGame(self):
-		print "[*] New Game"
-
-		self.lim = 3
-		self.over = False
-		self.mov = False
-		self.fail = 0
-		self.time = 0.0
-
-		# Svuota i punti
-		self.points = 0
-
-		# Riempie la griglia
-		self.grid = []
-
-		for x in xrange(10):
-			line = [] 
-			for y in xrange(8):
-				line.append(0)			
-			self.grid.append(line)
-
-	
-		# Riempie la box dei block
-		self.blockgrid = []
-		self.nextblock = [[random.randint(1,self.lim),random.randint(1,self.lim)],[0,0]]
-		self.blockpos = 0
-
-		for x in xrange(2):
-			line = [0,0]
-			self.blockgrid.append(line)
-
-
-	def genBlock(self):
-		self.blockgrid = self.nextblock
-
-		if random.randint(1,30) == 25: 
-			self.nextblock = [[random.randint(14,16),random.randint(1,self.lim)],[0,0]]
-		else:				
-			self.nextblock = [[random.randint(1,self.lim),random.randint(1,self.lim)],[0,0]]
-
-						
-			
-	def updateGame(self):
-		# Controlla se ci son spazi vuoti da riempire
-		md = False
-		for x in xrange(len(self.grid)-1,0,-1):
-			for y in xrange(0, len(self.grid[0])):
-				s = 0
-				for a in xrange(len(self.grid)): s += self.grid[a][y]
-
-				if self.grid[x][y] == 0 and s > 0:
-					for a in xrange(x, 0, -1):
-						if self.grid[a-1][y] != 0: 
-							self.grid[a][y] = self.grid[a-1][y]
-							self.grid[a-1][y] = 0
-							md = True
-		self.mov = md
-
-		# Controlliamo se possiamo far esplodere qualcosa :P
-		if not self.mov:
-			for x in xrange(-1,len(self.grid)-1):		
-				for y in xrange(-1,len(self.grid[0])-1):
-					# La pressa
-					if self.grid[x][y] == 15 and x == len(self.grid)-2:
-							self.grid[len(self.grid)-2][y] = 0
-							self.grid[len(self.grid)-1][y] = 0
-
-					elif self.grid[x][y] == 15:
-						if x < len(self.grid)-1:
-							self.grid[x][y] = 0
-							self.grid[x+1][y] = 15
-
-					# Bomba 1
-					elif self.grid[x][y] == 14:
-						self.grid[x][y] = 0
-						if y-1 != -1:			self.grid[x][y-1] = 0
-						if y+1 < len(self.grid[0]):	self.grid[x][y+1] = 0
-						if x+1 < len(self.grid): 	self.grid[x+1][y] = 0
-						if x-1 != -1:		 	self.grid[x-1][y] = 0
-
-					# Bomba 2
-					elif self.grid[x][y] == 16:
-						self.grid[x][y] = 0
-						if y-1 != -1:			self.grid[x][y-1] = 0
-						if y+1 < len(self.grid[0]):	self.grid[x][y+1] = 0
-						if x+1 < len(self.grid): 	self.grid[x+1][y] = 0
-						if x-1 != -1:		 	self.grid[x-1][y] = 0
-						if y-1 != -1 and x-1 != -1:					self.grid[x-1][y-1] = 0
-						if y+1 < len(self.grid[0]) and x+1 < len(self.grid):		self.grid[x+1][y+1] = 0
-						if x+1 < len(self.grid) and y-1 != -1: 				self.grid[x+1][y-1] = 0
-						if x-1 != -1 and y+1 < len(self.grid[0]):		 	self.grid[x-1][y+1] = 0
-						if y-2 != -2:			self.grid[x][y-2] = 0
-						if y+2 < len(self.grid[0]):	self.grid[x][y+2] = 0
-						if x+2 < len(self.grid): 	self.grid[x+2][y] = 0
-						if x-2 != -2:		 	self.grid[x-2][y] = 0
-
-
-					# Normale
-					elif self.grid[x][y] != 0 and self.grid[x][y] < 13:
-						t = self.grid[x][y]
-						if (self.grid[x][y+1] == t and self.grid[x][y-1] == t) or (self.grid[x+1][y] == t and self.grid[x-1][y] == t) or (self.grid[x+1][y] == t and self.grid[x][y+1] == t) or (self.grid[x-1][y] == t and self.grid[x][y-1] == t)  or (self.grid[x-1][y] == t and self.grid[x][y+1] == t) or (self.grid[x+1][y] == t and self.grid[x][y-1] == t): 
-								if self.grid[x][y] < 12: self.grid[x][y] += 1
-								else: self.grid[x][y] = 0
-								if self.grid[x][y+1] == t: self.grid[x][y+1] = 0
-								if self.grid[x][y-1] == t: self.grid[x][y-1] = 0
-								if self.grid[x+1][y] == t: self.grid[x+1][y] = 0
-								if self.grid[x-1][y] == t: self.grid[x-1][y] = 0
-								self.points += (t*10)+t*t
-
-						if t-1 > self.lim and t-1 < 13: self.lim += 1
-
-		if self.points % 2 != 0: self.points += 1
-
-
-
-
-
-		# Se ci son cubetti nelle prime due righe, game over
-		if not self.mov: 
-			if sum(self.grid[0]) > 0: self.fail += 1
-			elif sum(self.grid[1]) > 0: self.fail += 1
-			else: self.fail = 0 
-		if self.fail > 2: self.over = True
-
-
-
-	def renderGame(self):
-		self.screen.fill([0, 0, 0])
-		self.screen.blit(self.background, (0, 0))
-
-
-		# Renderizza il punteggio
-		text = self.font.render(str(self.points), 1, (255, 255, 255))
-    		self.screen.blit(text, (15,50))
-
-		text = self.font.render(str(int(self.time)/60)+" min", 1, (255, 255, 255))
-    		self.screen.blit(text, (15,25))
-
-
-
-		# Renderizza i nexblock
-		self.screen.blit(self.p[self.nextblock[0][0]-1], ((10),(77)))
-		self.screen.blit(self.p[self.nextblock[0][1]-1], ((46),(77)))
-
-		# Renderizza i block correnti
-		if self.blockgrid[0][0] != -1:
-			if self.blockgrid[0][0] != 0: self.screen.blit(self.p[self.blockgrid[0][0]-1], ((106+40*self.blockpos),(7)))
-			if self.blockgrid[0][1] != 0: self.screen.blit(self.p[self.blockgrid[0][1]-1], ((106+40+40*self.blockpos),(7)))
-			if self.blockgrid[1][0] != 0: self.screen.blit(self.p[self.blockgrid[1][0]-1], ((106+40*self.blockpos),(7+40)))
-			if self.blockgrid[1][1] != 0: self.screen.blit(self.p[self.blockgrid[1][1]-1], ((106+40+40*self.blockpos),(7+40)))
-
-
-		# Renderizza tutta la griglia
-		for x in xrange(len(self.grid)):
-			for y in xrange(len(self.grid[0])):
-				if self.grid[x][y] != 0: 
-					self.screen.blit(self.p[self.grid[x][y]-1], ((106+y*40),(25+x*40)))
-
-		pygame.display.update()
-		#pygame.time.delay(100)
-
-	def exitGame(self):
-		print "[*] Exit"
-		sys.exit()
-		
-
-
-	def keyInputs(self):
-		for event in pygame.event.get():
-			if event.type == QUIT:
-				self.exitGame()
-	
-			elif event.type == KEYDOWN:
-				if not self.mov: 				
-					if event.key == K_UP: 
-						old = self.blockgrid[0] + self.blockgrid[1]
-						self.blockgrid = [[old[2],old[0]],[old[3],old[1]]]
-
-					elif event.key == K_DOWN: 
-						old = self.blockgrid[0] + self.blockgrid[1]
-						self.blockgrid = [[old[1],old[3]],[old[0],old[2]]]
-	
-					elif event.key == K_RIGHT: 
-						if self.blockpos < 6: self.blockpos += 1
-	
-					elif event.key == K_LEFT: 
-						if self.blockpos > 0: self.blockpos -= 1
-
-					elif event.key == K_SPACE:
-						self.mov = True
-						self.points += 10
-						self.grid[0][self.blockpos] = self.blockgrid[0][0]
-						self.grid[0][self.blockpos+1] = self.blockgrid[0][1]
-						self.grid[1][self.blockpos] = self.blockgrid[1][0]
-						self.grid[1][self.blockpos+1] = self.blockgrid[1][1]
-						self.blockgrid[0][0] = -1
-
-				if event.key == K_PAUSE or event.key == K_ESCAPE or event.key == K_p:
-					print "[*] Pause"
-					pause = 1
-
-					self.screen.blit(self.gameover, (0, 0))
-			    		self.screen.blit(pygame.font.Font(None, 36).render("Pause", 1, (255, 255, 255)), (20,20))
-					self.screen.blit(pygame.font.Font(None, 24).render("Press any key", 1, (255, 255, 255)), (416-120,400-20))
-					pygame.display.update()
-
-					while pause:
-						for event in pygame.event.get():
-							if event.type == QUIT:
-								self.exitGame()
-							
-							elif event.type == KEYDOWN:
-								pause = 0
-						time.sleep(__sleep__)
-
-
-
-
-
-
-
-	def start(self):
-		# Presentazione iniziale
-		intro = 0
-		print "[*] FreeAlchemist"
-
-		self.screen.blit(self.background, (0, 0))
-		self.screen.blit(self.gameover, (0, 0))
-    		self.screen.blit(pygame.font.Font(None, 36).render(__program__+" "+__version__, 1, (255, 255, 255)), (20,20))
-
-		self.screen.blit(self.p[0], (40, 50))
-		self.screen.blit(self.p[1], (88, 50))
-		self.screen.blit(self.p[2], (88+48, 50))
-		self.screen.blit(self.p[3], (88+88, 50))
-		self.screen.blit(self.p[4], (88*2+48, 50))
-		self.screen.blit(self.p[5], (88*3, 50))
-		self.screen.blit(self.p[6], (40, 100))
-		self.screen.blit(self.p[7], (88, 100))
-		self.screen.blit(self.p[8], (88+48, 100))
-		self.screen.blit(self.p[9], (88+88, 100))
-		self.screen.blit(self.p[10], (88*2+48, 100))
-		self.screen.blit(self.p[11], (88*3, 100))
-		self.screen.blit(self.p[13], (40, 150))
-		self.screen.blit(self.p[14], (88, 150))
-		self.screen.blit(self.p[15], (88+48, 150))
-
-
-		self.screen.blit(pygame.font.Font(None, 24).render("Press any key", 1, (255, 255, 255)), (416-120,400-20))
-    		self.screen.blit(pygame.font.Font(None, 22).render("Coded by "+__author__+" under "+__license__+" license", 1, (255, 255, 255)), (48,220))
-    		self.screen.blit(pygame.font.Font(None, 22).render("http://pygame.org   "+__email__, 1, (255, 255, 255)), (48,240))
-
-		pygame.display.update()
-
-		while not intro:
-			for event in pygame.event.get():
-				if event.type == QUIT:
-					self.exitGame()
-							
-				elif event.type == KEYDOWN:
-						intro = 1
-			time.sleep(__sleep__)
-
-
-		# Finche' il pc e' acceso rigioca
-		while 1:
-			# Azzera tutto
-			self.newGame()
-			self.genBlock()
-			self.renderGame()
-
-
-			# Loop di rendering
-			while not self.over:
-				self.updateGame()				
-				if self.blockgrid[0][0] == -1: self.genBlock()
-				self.keyInputs()
-				self.renderGame()
-				time.sleep(__sleep__)
-				self.time += __sleep__
-
-
-
-			# Finito il gioco, visualizza il punteggio e attende
-			restart = 0
-			print "[*] Game Over"
-
-			self.screen.blit(self.gameover, (0, 0))
-	    		self.screen.blit(pygame.font.Font(None, 36).render("Game Over!", 1, (255, 255, 255)), (20,20))
-			self.screen.blit(pygame.font.Font(None, 24).render("Press any key", 1, (255, 255, 255)), (416-120,400-20))
-
-			pygame.display.update()
-
-			while not restart:
-				for event in pygame.event.get():
-					if event.type == QUIT:
-						self.exitGame()
-								
-					elif event.type == KEYDOWN:
-							restart = 1
-				time.sleep(__sleep__)
-
-if __name__ == "__main__":
-	game = freealchemist()
-	game.start()
-
-




More information about the Python-apps-commits mailing list