import sys, os import math, random import pygame from pygame.locals import *
BLACK=(0,0,0) WHITE=(255,255,255) GREEN=(0,255,0) SCREEN_SIZE=[800,400] FPS=60 WIDTH=130 HEIGHT=61 WAITING_TIME=1000 class Card(pygame.sprite.Sprite): "It's the card to see matching game. Has 2 sides, check em"
self.value_list=[] for i in range(0,18,1): self.value_list.extend((i,i)) #print position_list #instead of randomizing the position, just randomize the values while keeping position in order
for pos in range (0,36,1): val=(self.value_list[pos])+1 self.card_list.append(Card(self.corresponding_position_list[pos],"%s.gif"%val,val))
for card in self.card_list: self.sprites.add(card) #sound self.correct_sound=pygame.mixer.Sound("winner_sound.wav") self.wrong_sound=pygame.mixer.Sound("loser_sound.wav")
#display! the blank cards! self.sprites=pygame.sprite.RenderUpdates()
def drawCard(self,position): "position is from 0 to 35, V then by >" self.sprites.add(self.card_list[position]) self.sprites.draw(self.background) self.window.blit(self.background,(0,0)) pygame.display.flip()
#draw words self.background.blit(self.score_text1,self.score_rect1) self.background.blit(self.score_text2,self.score_rect2) self.background.blit(self.winning_text1,self.winning_rect1) self.background.blit(self.winning_text2,self.winning_rect2)
#draw the blank cards self.blank_card=pygame.Surface((WIDTH,HEIGHT)) self.blank_card.fill(WHITE)
for x in range(5,788,WIDTH+1): for y in range (27,399,HEIGHT+1): self.corresponding_position_list.append((x,y)) self.background.blit(self.blank_card,(x,y))
self.window.blit(self.background,(0,0))
pygame.display.flip()
def run(self): "runs the game" print "starting"
running =True
#game will only change if event happens self.clicked=(-1,-1) self.opened_cards=[]
while running: running=self.handleEvents()
print "QUITTING" pygame.quit() sys.exit() def handleEvents(self): for event in pygame.event.get(): if event.type==pygame.QUIT: return False elif event.type==pygame.MOUSEBUTTONDOWN: print event.pos self.clicked=event.pos #store position elif event.type==pygame.MOUSEBUTTONUP:
#check which card is clicked which_card=0 for x in range(5,788,WIDTH+1): for y in range (27,399,HEIGHT+1): if x<=event.pos[0] and event.pos[0]<=x+WIDTH and y<=event.pos[1] and event.pos[1]<=y+HEIGHT: if x<=self.clicked[0] and self.clicked[0]<=x+WIDTH and y<=self.clicked[1] and self.clicked[1]<=y+HEIGHT: if not self.card_list[which_card] in self.sprites: print "This CARD",self.card_list[which_card] print "is not in",self.opened_cards print "ITS NOT HERE" self.opened_cards.append(self.card_list[which_card]) self.drawCard(which_card)
if len(self.opened_cards)==2: print "HI" if self.opened_cards[0].value==self.opened_cards[1].value: self.correct_sound.play() self.opened_cards=[] self.combo+=1 self.score[self.whose_turn-1]+=self.combo self.winning_text1=self.winning_font.render("COMBO: %s" %self.combo,True,BLACK) self.score_text1=self.score_font.render("Player 1: %s" %self.score[0],True,BLACK) self.score_text2=self.score_font.render("Player 2: %s" %self.score[1],True,BLACK) #add to score,combo if len(self.sprites)==len(self.card_list): #compare scores if self.score[0]>self.score[1]: self.winner="Player 1" elif self.score[0]>self.score[1]: self.whose_turn="Player 2" else: self.whose_turn="Everybody!" self.winning_text1=self.winning_font.render("WINNER:",True,BLACK) self.winning_text2=self.winning_font.render(self.winner,True,BLACK) else: self.wrong_sound.play() pygame.time.wait(WAITING_TIME) self.combo=0 self.sprites.remove(self.opened_cards)
#change player turn, flip cards again, remove from update self.drawBackground() self.drawCards() else: print "HI, something bad is happenind"
else: which_card+=1 else: which_card+=1
self.clicked=(-1,-1) #check if position is card #if yes, update #count number of cards opened #if 2, wait 2 seconds then either keep or close #if keep, +to combo and score #if not, next player return True
Ce Dernier Est En Outre L'auteur De La Prйsentation Donnйe Dans La Revue Thйrapie 1999-54 Dont Sont Extraites Les Citations Ci-aprиs: <a href="http://sildenafilrenaldo20.lo.gs/#3253">prix du sildenafil boite de 8</a> pharmacie geneve sildenafil. Leur Effet Sur La Thermorйgulation N'a Pas йtй йtudiй, Mais Un Effet Similaire Celui Des Phйnothiazines Est Suspectй9. Quant Aux Dipenzodiazйpines Telle La Clozapine, Des Cas De Coup De Chaleur Liй Leur Prise Sont Rapportйs Dans La Littйrature: <a href="http://cialisellsworth10.cd.st/#3766">acheter cialis internet</a> vente de cialis en europe.
0
24Oщ Acheter Dapoxetine Sans Ordonnance(06.01.2013 4:09 AM)
<a href="http://sildenafilventela.eklablog.fr/#6016">prix sildenafil pharmacie suisse</a> acheter sildenafil pharmacie france: Il N'y A Pas Lieu De Poursuivre Sans Le Rййvaluer Un Traitement Antidйpresseur Plus De 6 Mois Aprиs L'obtention De La Rйmission Complиte De L'йpisode Dйpressif, Sauf En Cas D'antйcйdents D'йpisodes Dйpressifs Majeurs Caractйrisйs, Rйcurrents Et Rapprochйs. 5. La Publicitй Directe Peut кtre Avantageuse Pour Les Patients Et Le Systиme De Santй. Le Rфle Principal De La Publicitй Directe Semble Rйsider Dans Le Fait Qu'elle Incite Les Patients Consulter Leur Mйdecin Sur Des Sujets Jamais Abordйs Auparavant: <a href="http://viagratyrell40.lo.gs/#8859">viagra en pharmacie tunisie</a> viagra maroc pharmacie.
Mьller, Andreas Der Umgang Mit Internationalen Terroristen Als Versicherungsnehmern Andreas Mьller Versicherungsrecht: <a href="http://ciprofloxacinbob20.eklablog.fr/#6756">achat ciprofloxacin site francais</a> vente de ciprofloxacin en pharmacie. 14 Compagnies Professionnelles Seront Rejointes Par 400 Danseurs Amateurs Nouveau En 2007, Des Spectacles Gratuits а Ciel Ouvert а L'heure Du Dйjeuner Et En Fin D'aprиs-midi: <a href="http://sildenafilmickey100.eklablog.fr/#2527">vente sildenafil en ligne</a> sildenafil ordonnance france.
<a href="http://tadalafilleon10.cd.st/#3396">achat de tadalafil generique en ligne</a> vente tadalafil montreal: Les Donateurs Peuvent Choisir Parmi De Nombreux Prйsents, Incluant Le Cadeau De L'eau Potable, Du Refuge Ou De La Santй, Et L'offrir а Un Enfant Dans Le Besoin Au Nom D'un кtre Cher Ou D'un Ami. Pour La Premiиre Fois L'annйe Derniиre, Les Donateurs Ont Pu Choisir Parmi Une Sйlection De Cadeaux D'une Valeur De Plus De 1 000 $, Comme Un Cadeau De L'йducation Permettant D'йquiper En Fournitures Une йcole Entiиre En Afghanistan. AVIS Relatif а La Pratique Du Patin а Roulettes Roller Quad, Du Patin En Ligne Roller En Ligne Et De La Planche а Roulettes Skate Board 8 Novembre 2000 ЙNONCЙ DE L'AVIS Recommandations Aux Pouvoirs Publics La Commission Rappelle Que Le Principe De Prйcaution Nйcessite Une Rйglementation Spйcifique Dans Divers Domaines: <a href="http://levitra-howardfr2013.cd.st/#9597">prix du levitra au maroc</a> achat levitra sur internet.
0
21Prix Du Cialis En Pharmacie Au Quйbec(05.31.2013 11:27 PM)
Pas De Prйlиvements Initiaux Nйgatifs Qualitй Des Prйlиvements Anaйrobies + Manque De Profil De Rйsistance: <a href="http://kamagra-malcolm2013.eklablog.fr/#6979">vente kamagra lyon</a> kamagra vente belgique. Et De Dйstructuration De La Famille "Je N'ai Pas Dы Voir Ma Belle-soeur 10 Fois" En Autant De Temps: <a href="http://celebrexjamey250.eklablog.fr/#9210">acheter du celebrex en espagne</a> acheter celebrex par virement bancaire.
0
20Achat Cialis En Pharmacie Sans Ordonnance(05.31.2013 11:02 PM)
Les Grands Travaux De Revitalisation Du Boulevard Dcarie Ont Dbut Le 15 Mai Dernier Et Devraient Se Poursuivre Jusqu'au Mois De Septembre: <a href="http://tadalafilbrendon100.lo.gs/#4189">tadalafil marocain prix</a> tadalafil ordonnance belgique. 22 Pu Montrer Par Des Expriences De Retard De Migration Avec Des Protines Fusion GST-FLI-1 Et Des Oligonuclotides Contenant Des Squences EBS, Que L'octanuclotide CC AGGAAGT Est Suffisant Pour Une Liaison Efficace De FLI-1, In Vitro Zhang Et Al., 1993: <a href="http://sildenafil-graham250.eklablog.fr/#9076">vente sildenafil quebec</a> sildenafil petit prix.
0
19Acheter Du Cialis Au Canada(05.31.2013 10:38 PM)
Dr John Hayman Au Cours Des 12 Derniers Mois, On A Enregistrй 26 Nouveaux Cas Chez L'homme Dans L'Etat De Victoria, Au Sud-est De L'Australie: <a href="http://cialis-edmundfr20.eklablog.fr/#5723">cialis original en ligne</a> cialis pharmacie en france. La PKD Foundation Essaie D'amйliorer Tous Les Domaines Concernant L'йducation Et L'information Sur La PKR: <a href="http://viagra-joshfr5.ek.la/#1288">viagra gйnйrique en pharmacie</a> acheter du viagra en france sans ordonnance.
<a href="http://lioresal-kenny5.ek.la/#5436">acheter lioresal marseille</a> acheter lioresal livraison rapide: Les йtrangers Sйjournant Dйjа Depuis Plus Longtemps En Allemagne Peuvent кtre Contraints De Suivre Un Cours Si Les Autoritйs Compйtentes Constatent Une Inaptitude а кtre Intйgrй. Les Coыts De Cette Intйgration, Pris En Charge Par Le Gouvernement Fйdйral, Sont Estimйs а 235 Millions D'euros Par An Pour Environ 50'000 Personnes. La Frйquence йlevйe Dиs L'adolescence Et Sa Stabilitй Chez Les Sujets Plus аgйs Suggиrent Que L'infection A Dйbutй Tфt Dans L'enfance En Afrique: <a href="http://tadalafilrupert250.ek.la/#3189">acheter tadalafil pour femme en france</a> meilleur site achat tadalafil.
0
17Acheter Du Vardenafil Fiable(05.31.2013 9:47 PM)
<a href="http://tadalafilcarol5.cd.st/#9536">acheter tadalafil sur le net</a> acheter tadalafil belgique sans ordonnance: Ce N'est Pas Comme Complotй Pour Pen Savent Aux Praticiens Chinois Inhibйs Pendant Les Sicles, VIBRAMYCIN Dans Les Rйsultats De MSN. <a href="http://viagra-jamison250.lo.gs/#2411">prix viagra pharmacie paris</a> achat viagra ligne: Les йtudes Animales N'ont Pas Indiquй De Toxicitй Du Dйveloppement Ni D'effet Sur La Fonction Reproductive Ou La Fйconditй. L'allaitement N'est Pas Recommandй Chez La Femme Infectйe Par Le VIH. Demander Aux Patientes Enceintes Ou Qui Dйsirent Le Devenir De Consulter Un Mйdecin Si Elles Prennent Du Darunavir.