Search Results

Search found 29913 results on 1197 pages for 'content manager assistant'.

Page 647/1197 | < Previous Page | 643 644 645 646 647 648 649 650 651 652 653 654  | Next Page >

  • La Chine concurrence Apple avec l'iPed, une tablette 5 fois moins chère que l'iPad tournant sous And

    La Chine concurrence Apple avec l'iPed, une tablette 5 fois moins chère que l'iPad tournant sous Android Au salon Computex, qui a actuellement lieu à Taïwan, divers constructeurs présentent leurs nouveaux produits. Parmi les nouveaux appareils, plusieurs Tablet PC. Et, parmi ces tablettes... l'iPed. Ce gadget chinois est commercialisé par plusieurs revendeurs chinois. Non content d'emprunter le nom de la tablette d'Apple à une lettre près, il en reprend aussi le design et les icônes (et même l'emballage). Se voulant bon marché et abordable, l'iPed ne coûte que 105 dollars (86 euros, soit cinq fois moins cher que l'original). Pour ce prix, l'appareil est équipé d'un processeur Intel et de l'OS de Google : Android. Mai...

    Read the article

  • L'impact de Google sur l'économie des USA serait de 54 milliards de dollars, selon un rapport publié

    L'impact de Google sur l'économie des USA serait de 54 milliards de dollars, selon un rapport publié par la firme Google, non content d'enchainer les annonces innovantes ces dernières jours depuis sa conférence I/O, a décidé de s'envoyer des fleurs en ayant calculé combien ses activités rapportent à l'économie américaine, et en l'annonçant publiquement. Une belle opération de marketing ! La firme s'est basée sur ses propres chiffres pour réaliser son étude. Et les résultats sont à la hauteur de l'étendue de son empire : Google aurait généré 54 milliards de dollars de richesse dans l'économie des Etats-Unis. Au niveau des résultats Etat par Etat, c'est en Californie que Google a eu le plus d'influence avec 14,1 millia...

    Read the article

  • Storing Projects on Google Drive (Cloud)

    - by JamesKraw
    I've started using Google Drive for my cloud needs and backing up pretty much everything. I've got the app installed so it auto-sync's all my content in most things. My question is this, I am currently coding for iOS (although this applies to any coding project) and am split on storing my project files on Google Drive while using sync. My theory is that if I did use it, I'd never have to worry about system crashes or lost code before backups, but if I do use it it will be sync'ing a-lot and I thought there might be problems with it detecting changes and trying to sync for example half way through compiling. Bandwidth isn't an issue as I have fast connection and unlimited monthly allowance. Has anyone ever used this, or similar cloud-based sync'ing (dropbox etc) for this and knows whether it works or not or whether there are any potential problems etc.

    Read the article

  • DotNetNuke is a Gartner Cool Vendor in 2010!

    When I originally released DotNetNuke way back in 2002, I must admit that I never could have imagined the impact it would have on the technology landscape. Over the past 8 years, user and developer adoption has made it the leading Web Content Management Platform for the Microsoft stack. With this much adoption, we have recently started to get noticed by the leading industry analyst firms. It is important to note that the criteria which these firms use to evaluate product offerings is heavily focused...Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • Renaming site, moving domain after 3 yrs. Should I reconsider?

    - by user6162
    After recently announcing it, one of my readers with a background in website management sent me an email saying that I should reconsider moving my domain from [keyword]news.org to [same keyword]lab.com. It is a content-heavy news site around products that I hope to eventually build into a more comprehensive authority for the [keyword] industry I'm covering w/ B2B services, merchandise, etc. The current domain is a bit generic & I think the new one will be more marketable. Relevant stats: 320k-350k pv's/month Google brings in 39% and Yahoo/Bing 4% of traffic 10-11% of monthly search strings contains " news" SEOMoz Open Site Explorer stats: Page authority: 65/100 Domain authority: 58/100 Linking root domains: 226 Total links: 35,700 I am familiar with what I need to do as far as 301 redirects, etc. I was assuming that I'd be ok after following Google's recommended procedures but now I am not so sure.

    Read the article

  • Good places to submit a business profile?

    - by Rob
    We have a new graphic/web design site that we've created and we'd like to give it a boost in terms of back links. What are the obvious places to submit a website to achieve some good back links? And what would be the recurring work load (if any) that those back links would need? Are there any good industry specific websites we could submit a profile to? E.g Twitter, would need constant interaction and new content with back links to the website. UPDATE: I've always felt it's worth it but after several years trying to submit different websites, I've never successfully managed to get a site into DMOZ!!

    Read the article

  • Will uploading our .docx files on scribd and embedding the files on our website affect search engine rankings?

    - by user1439968
    We have prepared notes for university students which are on .docx format. And we want it to put on our website for viewing. We tried one option. Uploading the files on scribd and embedding it on our website for viewing on scribd viewer. Will making documents available on srcibd viewer on our website affect search engine rankings ? Will search engines treat it as duplicate content as those are already uploaded on scribd and we are embedding it on our website ? On scribd we have set the uploaded documents as 'private' though. And if it affects, can you suggest any suitable way to make .docx files to be viewed on our website that doesn't affect search engine rankings ?

    Read the article

  • jQuery event not working after load

    - by Shina
    $(document).ready(function(){ $(function() { $('a.ajaxload').live('click', function(e) { var url = $(this).attr('href'); $('#desktopcontainer').load(url); // load the html response into a DOM element e.preventDefault(); // stop the browser from following the link }); }); $(function() { $(".accordion .accordion-tabs .tab").each(function(){ $(this).click(function(){ if ($(this).hasClass('tab')){ $(this).removeClass('tab'); $(this).addClass('active'); }else{ $(this).removeClass('active'); $(this).addClass('tab'); } $(this).next().slideToggle('slow'); return false; }); }); }); }); My tab works fine but after I click the "a.ajaxload" to add a content to the page, then my tab doesn't respond anymore. Can anyone please tell me where the problem is? Thank you in advance.

    Read the article

  • How can I allow search engines to index my invite only website in ruby on rails?

    - by tstyle
    I have a ruby on rails website that will be in invite-only mode for the next couple of months. Currently I have it set up so visits to any page performs an authentication: before_filter :authenticate, :except => [:beta] //authenticate checks for a logged in user But the webpage has a lot of content that I would like to see indexed by search engines, and I was wondering if there's an easy way to allow crawlers to do their work? I am not very knowledgable on SEO related stuff at all, so sorry if this is an suboptimal way to phrase the question.

    Read the article

  • php cms withouth database

    - by user1791795
    A friend of mine asked me for a easy website for him. As it was just 3 subpages, no database need or anything, I've done it quite fast with plain PHP, HTML, JS and CSS. But then another and another friend showed up. They only wanted arrange differently they navigation, some different picutures etc. So I though, is there any kind of CMS, that allows build small business website (barbershop, local groceries shop), with small list of subpages, yet allowing us to arrange look'n'feel. There's no need for the databas as content won't change, or can be stored in simple textfiles for example. Things like WordPress might be simple overkill Does anyone know such cms?

    Read the article

  • Advantages of Search Engine-Friendly Websites

    For every webmaster, System Engine Optimization or SEO only means one thing - tailoring web content to attract more search engine-driven traffic to his website. The higher the rank of a website in the search engine results, the more traffic it gets. Improving the rank of a website means it will have more chances of being visited by more readers and people who may become potential clients or sources of revenue. Regardless of what services or products may be offered, it is essential for for the site to be search engine-friendly as statistics show over 95% of traffic are driven by search engines.

    Read the article

  • What can I do to make my eService website customers feel it is a luxurious service? [closed]

    - by Farshid
    I'm developing an e-service website that its monetization model is via paid membership. Beside quality service and content, because I'm serving them for a high fee, I want to make them feel like it is a personal, unparalleled kind of service and I want to spend money for creating things that I give them after their registration such as a beautiful physical membership card so that I can use the effect of mouth-words better and beside that let them be proud about the service. I've tried my best to develop the site experience classy and I'm looking for things in real world to send them after their registration (such as membership card and a small paper tutorial). What are your suggestions? Have you seen things like this before that a website sends you some physical things for making you more loyal and/or something like that? Please kindly share your experiences/suggestions.

    Read the article

  • ASP.NET MVC Multilingual Web Application

    - by BobhatePradip
    We are going to see how we can show localized content to your ASP.NET MVC web application. We will see mainly two approaches- Approach 1: Using Static Pages We can go for this approach only when we have few/limited static localized pages. Approach 2: Using Dynamic page with localized data at runtime We should go for this approach if we have large number of pages to show a data in localized format. In this approach we can either use resource file or directly data from database.   For details about the this check this link http://www.codeproject.com/KB/aspnet/ASP_NET_MVC_Multilingual.aspx Here you can have code sample with explanation.

    Read the article

  • New Office VBA site launch on MSDN

    MSDN now features a special site (also accessible via www.iheartmacros.com) dedicated to Microsoft Office VBA - an important part of the Office 2010 value.   The site presents a clear path for technically savvy users to begin learning how to customize the Office applications to meet their needs. This new MSDN site highlights content for: What you can do with VBA How to get started Key blogs VBA tips & tricks Access to a new interactive training tool, the Office Developer Atlas. In addition...Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • Updates for the Silverlight Training Kit

    We have had a good response to the free 8 module Silverlight Training Kit we released on Channel 9 back at MIX and that Scott Guthrie announced. We have since updated at the Silverlight 4 Launch with some new content and fixes. Weve also found 2 issues since then that you might run across. Ive corrected these in the source and will update them on the Channel 9 site in our next round (which I hope to include VB version of the courseware, too!) In the meantime, here are the fixes to the 2 problems...Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • Updates for the Silverlight Training Kit

    We have had a good response to the free 8 module Silverlight Training Kit we released on Channel 9 back at MIX and that Scott Guthrie announced. We have since updated at the Silverlight 4 Launch with some new content and fixes. Weve also found 2 issues since then that you might run across. Ive corrected these in the source and will update them on the Channel 9 site in our next round (which I hope to include VB version of the courseware, too!) In the meantime, here are the fixes to the 2 problems...Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • Files: Name column basically useless in list view. Feature or bug?

    - by Luksurious
    So the following is happening in Files whenever the width of the window is somewhat smaller than all the content of the list: In list view the name column is cropped unto a point where no name is visible at all! And it is even not possible to change the column size manually. Funnily, in some situations it quickly flickers from a larger column width to the small one back and forth before settling on the small size. Unnecessarily to say, it is extremely annoying. Is there a way around this or is this just "bad design"? Oh yeah, Ubuntu 13.04 & 13.10, Files version 3.8.2.

    Read the article

  • Designing a hierarchical structure with lots of reads and writes?

    - by JD01
    I am in the process of working on a video on demand system part of it involves the management of a hierarchical tree structure (think windows explorer) which allows users to upload videos, move folders around, create new folders etc. User action will be allowed depending on which permissions they have. In addition to managing the structure (creating folders and uploading videos), subscribers will be viewing content (read access). The number of reads will be significantly more than the writes. My question (and it is big one) is should I store the data in a database (for the writes) and also have some sort of cache which will be used for the reads? or do I use two databases? or is there a better solution? Also I will have to resolve concurrency issues which I think optimistic locking on the database will resolve. I have a fair bit about CQRS over the last few months but not sure if this is the way to go. Any ideas?

    Read the article

  • SEO - A Crash Course

    Search engine optimization, otherwise commonly referred to SEO, is a way to make web content appear as high as possible in search engine rankings. Here, we'll discuss a number of ways you can use this valuable tool to your advantage for your website. Using text on your website and on titles and things of this nature will be used to create placement on web pages. Keywords repeated throughout a page will bring it up towards the top based on the phrase a search engine user types into the search box. You will want to use a keyword phrase in your title tag, the website URL, and about a 4-6% keyword phrase density in your overall page text. Additional locations that these keyword phrases are important include within inbound links, within headings, in the beginning of a document, in alternative text tags, and in metatags.

    Read the article

  • Effective Websites - Which Include Page Ranking

    Make your website design in such a way that website visitors would be able to get convinced about benefits of becoming your customers. Try to win their trust and develop their confidence in your products/services. Access to information from your website should be easy and hassle-free. For perfect lead generation identify the type of visitors you wish to visit your website and plan out the ways to attract them accordingly. Draft the site content in such a manner that they cater to the interests of particular section of visitors you target and get motivated to carry business dealings with your company.

    Read the article

  • Visual Studio 2010 Videos Refresh

    The DevExpress Channels video content is getting an IDE makeover. New videos and screencasts will use the Visual Studio 2010 IDE with DXperience v2010.x release. Some of the popular older videos are also getting re-recorded to show off new and changed product features. For example, this week youll see old (and some new) videos about the versatile and multi-platform reporting suite: XtraReports. In case you didn't know, from DXperience v2010.1 onwards, XtraReports works on these platforms:...Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • Ask the Experts on Silverlight TV

    Thanks to all of you Silverlight TV has really taken off. Were working hard to keep bringing in top, fresh and new content from great presenters. I think youll like what we have in store for the upcoming schedule! One new features for the show is Ask the Experts. During each show I will ask the guest one of your questions! Well be alerting everyone via Twitter about our speaker lineup in advance so you can send your questions to us. Just send your questions to us on Twitter at @SilverlightTV or...Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • Where to recruit other developers for development in my game? [duplicate]

    - by user16871
    This question already has an answer here: Where can I meet other independent game developers? [on hold] 10 answers I am working on creating a futuristic 3d voxel game, but I will not be able to do it alone with the amount of content I perceive being in it, and so I would like to have some co-workers in the development of the game. Unfortunately, I have no idea where to find game developers. Are there any forums or similar exchanges, maybe even here, that I could look for other developers seeking to make a similar game?

    Read the article

  • ???????/???Windows?RAC??!??????????

    - by Yusuke.Yamamoto
    ????? ??:2010/09/01 ??:??????/?? Windows ? RAC ????????????MSCS ???HA????????Oracle Database 11g R2 ?? RAC ???·??????????? Windows Server?Oracle Database????/ Windows ???????? Oracle DatabaseMSCS/MSFC + OFS???HA??????/ OFS ???MSCS/MSFC vs. RACRAC on Windows ?????/ Oracle Database 11g R2 ?? RAC ????11g R2 RAC ???·??TIPS?.NET ?????? RAC ?? ????????? ????????????????? http://otndnld.oracle.co.jp/ondemand/otn-seminar/movie/RAConWin_09011500.wmv http://www.oracle.com/technetwork/jp/content/20100901-raconwindows-251670-ja.pdf

    Read the article

  • Help getting frame rate (fps) up in Python + Pygame

    - by Jordan Magnuson
    I am working on a little card-swapping world-travel game that I sort of envision as a cross between Bejeweled and the 10 Days geography board games. So far the coding has been going okay, but the frame rate is pretty bad... currently I'm getting low 20's on my Core 2 Duo. This is a problem since I'm creating the game for Intel's March developer competition, which is squarely aimed at netbooks packing underpowered Atom processors. Here's a screen from the game: ![www.necessarygames.com/my_games/betraveled/betraveled-fps.png][1] I am very new to Python and Pygame (this is the first thing I've used them for), and am sadly lacking in formal CS training... which is to say that I think there are probably A LOT of bad practices going on in my code, and A LOT that could be optimized. If some of you older Python hands wouldn't mind taking a look at my code and seeing if you can't find any obvious areas for optimization, I would be extremely grateful. You can download the full source code here: http://www.necessarygames.com/my_games/betraveled/betraveled_src0328.zip Compiled exe here: www.necessarygames.com/my_games/betraveled/betraveled_src0328.zip One thing I am concerned about is my event manager, which I feel may have some performance wholes in it, and another thing is my rendering... I'm pretty much just blitting everything to the screen all the time (see the render routines in my game_components.py below); I recently found out that you should only update the areas of the screen that have changed, but I'm still foggy on how that accomplished exactly... could this be a huge performance issue? Any thoughts are much appreciated! As usual, I'm happy to "tip" you for your time and energy via PayPal. Jordan Here are some bits of the source: Main.py #Remote imports import pygame from pygame.locals import * #Local imports import config import rooms from event_manager import * from events import * class RoomController(object): """Controls which room is currently active (eg Title Screen)""" def __init__(self, screen, ev_manager): self.room = None self.screen = screen self.ev_manager = ev_manager self.ev_manager.register_listener(self) self.room = self.set_room(config.room) def set_room(self, room_const): #Unregister old room from ev_manager if self.room: self.room.ev_manager.unregister_listener(self.room) self.room = None #Set new room based on const if room_const == config.TITLE_SCREEN: return rooms.TitleScreen(self.screen, self.ev_manager) elif room_const == config.GAME_MODE_ROOM: return rooms.GameModeRoom(self.screen, self.ev_manager) elif room_const == config.GAME_ROOM: return rooms.GameRoom(self.screen, self.ev_manager) elif room_const == config.HIGH_SCORES_ROOM: return rooms.HighScoresRoom(self.screen, self.ev_manager) def notify(self, event): if isinstance(event, ChangeRoomRequest): if event.game_mode: config.game_mode = event.game_mode self.room = self.set_room(event.new_room) def render(self, surface): self.room.render(surface) #Run game def main(): pygame.init() screen = pygame.display.set_mode(config.screen_size) ev_manager = EventManager() spinner = CPUSpinnerController(ev_manager) room_controller = RoomController(screen, ev_manager) pygame_event_controller = PyGameEventController(ev_manager) spinner.run() # this runs the main function if this script is called to run. # If it is imported as a module, we don't run the main function. if __name__ == "__main__": main() event_manager.py #Remote imports import pygame from pygame.locals import * #Local imports import config from events import * def debug( msg ): print "Debug Message: " + str(msg) class EventManager: #This object is responsible for coordinating most communication #between the Model, View, and Controller. def __init__(self): from weakref import WeakKeyDictionary self.listeners = WeakKeyDictionary() self.eventQueue= [] self.gui_app = None #---------------------------------------------------------------------- def register_listener(self, listener): self.listeners[listener] = 1 #---------------------------------------------------------------------- def unregister_listener(self, listener): if listener in self.listeners: del self.listeners[listener] #---------------------------------------------------------------------- def post(self, event): if isinstance(event, MouseButtonLeftEvent): debug(event.name) #NOTE: copying the list like this before iterating over it, EVERY tick, is highly inefficient, #but currently has to be done because of how new listeners are added to the queue while it is running #(eg when popping cards from a deck). Should be changed. See: http://dr0id.homepage.bluewin.ch/pygame_tutorial08.html #and search for "Watch the iteration" for listener in list(self.listeners): #NOTE: If the weakref has died, it will be #automatically removed, so we don't have #to worry about it. listener.notify(event) #------------------------------------------------------------------------------ class PyGameEventController: """...""" def __init__(self, ev_manager): self.ev_manager = ev_manager self.ev_manager.register_listener(self) self.input_freeze = False #---------------------------------------------------------------------- def notify(self, incoming_event): if isinstance(incoming_event, UserInputFreeze): self.input_freeze = True elif isinstance(incoming_event, UserInputUnFreeze): self.input_freeze = False elif isinstance(incoming_event, TickEvent): #Share some time with other processes, so we don't hog the cpu pygame.time.wait(5) #Handle Pygame Events for event in pygame.event.get(): #If this event manager has an associated PGU GUI app, notify it of the event if self.ev_manager.gui_app: self.ev_manager.gui_app.event(event) #Standard event handling for everything else ev = None if event.type == QUIT: ev = QuitEvent() elif event.type == pygame.MOUSEBUTTONDOWN and not self.input_freeze: if event.button == 1: #Button 1 pos = pygame.mouse.get_pos() ev = MouseButtonLeftEvent(pos) elif event.type == pygame.MOUSEMOTION: pos = pygame.mouse.get_pos() ev = MouseMoveEvent(pos) #Post event to event manager if ev: self.ev_manager.post(ev) #------------------------------------------------------------------------------ class CPUSpinnerController: def __init__(self, ev_manager): self.ev_manager = ev_manager self.ev_manager.register_listener(self) self.clock = pygame.time.Clock() self.cumu_time = 0 self.keep_going = True #---------------------------------------------------------------------- def run(self): if not self.keep_going: raise Exception('dead spinner') while self.keep_going: time_passed = self.clock.tick() fps = self.clock.get_fps() self.cumu_time += time_passed self.ev_manager.post(TickEvent(time_passed, fps)) if self.cumu_time >= 1000: self.cumu_time = 0 self.ev_manager.post(SecondEvent()) pygame.quit() #---------------------------------------------------------------------- def notify(self, event): if isinstance(event, QuitEvent): #this will stop the while loop from running self.keep_going = False rooms.py #Remote imports import pygame #Local imports import config import continents from game_components import * from my_gui import * from pgu import high class Room(object): def __init__(self, screen, ev_manager): self.screen = screen self.ev_manager = ev_manager self.ev_manager.register_listener(self) def notify(self, event): if isinstance(event, TickEvent): pygame.display.set_caption('FPS: ' + str(int(event.fps))) self.render(self.screen) pygame.display.update() def get_highs_table(self): fname = 'high_scores.txt' highs_table = None config.all_highs = high.Highs(fname) if config.game_mode == config.TIME_CHALLENGE: if config.difficulty == config.EASY: highs_table = config.all_highs['time_challenge_easy'] if config.difficulty == config.MED_DIF: highs_table = config.all_highs['time_challenge_med'] if config.difficulty == config.HARD: highs_table = config.all_highs['time_challenge_hard'] if config.difficulty == config.SUPER: highs_table = config.all_highs['time_challenge_super'] elif config.game_mode == config.PLAN_AHEAD: pass return highs_table class TitleScreen(Room): def __init__(self, screen, ev_manager): Room.__init__(self, screen, ev_manager) self.background = pygame.image.load('assets/images/interface/background.jpg').convert() #Initialize #--------------------------------------- self.gui_form = gui.Form() self.gui_app = gui.App(config.gui_theme) self.ev_manager.gui_app = self.gui_app c = gui.Container(align=0,valign=0) #Quit Button #--------------------------------------- b = StartGameButton(ev_manager=self.ev_manager) c.add(b, 0, 0) self.gui_app.init(c) def render(self, surface): surface.blit(self.background, (0, 0)) #GUI self.gui_app.paint(surface) class GameModeRoom(Room): def __init__(self, screen, ev_manager): Room.__init__(self, screen, ev_manager) self.background = pygame.image.load('assets/images/interface/background.jpg').convert() self.create_gui() #Create pgu gui elements def create_gui(self): #Setup #--------------------------------------- self.gui_form = gui.Form() self.gui_app = gui.App(config.gui_theme) self.ev_manager.gui_app = self.gui_app c = gui.Container(align=0,valign=-1) #Mode Relaxed Button #--------------------------------------- b = GameModeRelaxedButton(ev_manager=self.ev_manager) self.b = b print b.rect c.add(b, 0, 200) #Mode Time Challenge Button #--------------------------------------- b = TimeChallengeButton(ev_manager=self.ev_manager) self.b = b print b.rect c.add(b, 0, 250) #Mode Think Ahead Button #--------------------------------------- # b = PlanAheadButton(ev_manager=self.ev_manager) # self.b = b # print b.rect # c.add(b, 0, 300) #Initialize #--------------------------------------- self.gui_app.init(c) def render(self, surface): surface.blit(self.background, (0, 0)) #GUI self.gui_app.paint(surface) class GameRoom(Room): def __init__(self, screen, ev_manager): Room.__init__(self, screen, ev_manager) #Game mode #--------------------------------------- self.new_board_timer = None self.game_mode = config.game_mode config.current_highs = self.get_highs_table() self.highs_dialog = None self.game_over = False #Images #--------------------------------------- self.background = pygame.image.load('assets/images/interface/game screen2-1.jpg').convert() self.logo = pygame.image.load('assets/images/interface/logo_small.png').convert_alpha() self.game_over_text = pygame.image.load('assets/images/interface/text_game_over.png').convert_alpha() self.trip_complete_text = pygame.image.load('assets/images/interface/text_trip_complete.png').convert_alpha() self.zoom_game_over = None self.zoom_trip_complete = None self.fade_out = None #Text #--------------------------------------- self.font = pygame.font.Font(config.font_sans, config.interface_font_size) #Create game components #--------------------------------------- self.continent = self.set_continent(config.continent) self.board = Board(config.board_size, self.ev_manager) self.deck = Deck(self.ev_manager, self.continent) self.map = Map(self.continent) self.longest_trip = 0 #Set pos of game components #--------------------------------------- board_pos = (SCREEN_MARGIN[0], 109) self.board.set_pos(board_pos) map_pos = (config.screen_size[0] - self.map.size[0] - SCREEN_MARGIN[0], 57); self.map.set_pos(map_pos) #Trackers #--------------------------------------- self.game_clock = Chrono(self.ev_manager) self.swap_counter = 0 self.level = 0 #Create gui #--------------------------------------- self.create_gui() #Create initial board #--------------------------------------- self.new_board = self.deck.deal_new_board(self.board) self.ev_manager.post(NewBoardComplete(self.new_board)) def set_continent(self, continent_const): #Set continent based on const if continent_const == config.EUROPE: return continents.Europe() if continent_const == config.AFRICA: return continents.Africa() else: raise Exception('Continent constant not recognized') #Create pgu gui elements def create_gui(self): #Setup #--------------------------------------- self.gui_form = gui.Form() self.gui_app = gui.App(config.gui_theme) self.ev_manager.gui_app = self.gui_app c = gui.Container(align=-1,valign=-1) #Timer Progress bar #--------------------------------------- self.timer_bar = None self.time_increase = None self.minutes_left = None self.seconds_left = None self.timer_text = None if self.game_mode == config.TIME_CHALLENGE: self.time_increase = config.time_challenge_start_time self.timer_bar = gui.ProgressBar(config.time_challenge_start_time,0,config.max_time_bank,width=306) c.add(self.timer_bar, 172, 57) #Connections Progress bar #--------------------------------------- self.connections_bar = None self.connections_bar = gui.ProgressBar(0,0,config.longest_trip_needed,width=306) c.add(self.connections_bar, 172, 83) #Quit Button #--------------------------------------- b = QuitButton(ev_manager=self.ev_manager) c.add(b, 950, 20) #Generate Board Button #--------------------------------------- b = GenerateBoardButton(ev_manager=self.ev_manager, room=self) c.add(b, 500, 20) #Board Size? #--------------------------------------- bs = SetBoardSizeContainer(config.BOARD_LARGE, ev_manager=self.ev_manager, board=self.board) c.add(bs, 640, 20) #Fill Board? #--------------------------------------- t = FillBoardCheckbox(config.fill_board, ev_manager=self.ev_manager) c.add(t, 740, 20) #Darkness? #--------------------------------------- t = UseDarknessCheckbox(config.use_darkness, ev_manager=self.ev_manager) c.add(t, 840, 20) #Initialize #--------------------------------------- self.gui_app.init(c) def advance_level(self): self.level += 1 print 'Advancing to next level' print 'New level: ' + str(self.level) if self.timer_bar: print 'Time increase: ' + str(self.time_increase) self.timer_bar.value += self.time_increase self.time_increase = max(config.min_advance_time, int(self.time_increase * 0.9)) self.board = self.new_board self.new_board = None self.zoom_trip_complete = None self.game_clock.unpause() def notify(self, event): #Tick event if isinstance(event, TickEvent): pygame.display.set_caption('FPS: ' + str(int(event.fps))) self.render(self.screen) pygame.display.update() #Wait to deal new board when advancing levels if self.zoom_trip_complete and self.zoom_trip_complete.finished: self.zoom_trip_complete = None self.ev_manager.post(UnfreezeCards()) self.new_board = self.deck.deal_new_board(self.board) self.ev_manager.post(NewBoardComplete(self.new_board)) #New high score? if self.zoom_game_over and self.zoom_game_over.finished and not self.highs_dialog: if config.current_highs.check(self.level) != None: self.zoom_game_over.visible = False data = 'time:' + str(self.game_clock.time) + ',swaps:' + str(self.swap_counter) self.highs_dialog = HighScoreDialog(score=self.level, data=data, ev_manager=self.ev_manager) self.highs_dialog.open() elif not self.fade_out: self.fade_out = FadeOut(self.ev_manager, config.TITLE_SCREEN) #Second event elif isinstance(event, SecondEvent): if self.timer_bar: if not self.game_clock.paused: self.timer_bar.value -= 1 if self.timer_bar.value <= 0 and not self.game_over: self.ev_manager.post(GameOver()) self.minutes_left = self.timer_bar.value / 60 self.seconds_left = self.timer_bar.value % 60 if self.seconds_left < 10: leading_zero = '0' else: leading_zero = '' self.timer_text = ''.join(['Time Left: ', str(self.minutes_left), ':', leading_zero, str(self.seconds_left)]) #Game over elif isinstance(event, GameOver): self.game_over = True self.zoom_game_over = ZoomImage(self.ev_manager, self.game_over_text) #Trip complete event elif isinstance(event, TripComplete): print 'You did it!' self.game_clock.pause() self.zoom_trip_complete = ZoomImage(self.ev_manager, self.trip_complete_text) self.new_board_timer = Timer(self.ev_manager, 2) self.ev_manager.post(FreezeCards()) print 'Room posted newboardcomplete' #Board Refresh Complete elif isinstance(event, BoardRefreshComplete): if event.board == self.board: print 'Longest trip needed: ' + str(config.longest_trip_needed) print 'Your longest trip: ' + str(self.board.longest_trip) if self.board.longest_trip >= config.longest_trip_needed: self.ev_manager.post(TripComplete()) elif event.board == self.new_board: self.advance_level() self.connections_bar.value = self.board.longest_trip self.connection_text = ' '.join(['Connections:', str(self.board.longest_trip), '/', str(config.longest_trip_needed)]) #CardSwapComplete elif isinstance(event, CardSwapComplete): self.swap_counter += 1 elif isinstance(event, ConfigChangeBoardSize): config.board_size = event.new_size elif isinstance(event, ConfigChangeCardSize): config.card_size = event.new_size elif isinstance(event, ConfigChangeFillBoard): config.fill_board = event.new_value elif isinstance(event, ConfigChangeDarkness): config.use_darkness = event.new_value def render(self, surface): #Background surface.blit(self.background, (0, 0)) #Map self.map.render(surface) #Board self.board.render(surface) #Logo surface.blit(self.logo, (10,10)) #Text connection_text = self.font.render(self.connection_text, True, BLACK) surface.blit(connection_text, (25, 84)) if self.timer_text: timer_text = self.font.render(self.timer_text, True, BLACK) surface.blit(timer_text, (25, 64)) #GUI self.gui_app.paint(surface) if self.zoom_trip_complete: self.zoom_trip_complete.render(surface) if self.zoom_game_over: self.zoom_game_over.render(surface) if self.fade_out: self.fade_out.render(surface) class HighScoresRoom(Room): def __init__(self, screen, ev_manager): Room.__init__(self, screen, ev_manager) self.background = pygame.image.load('assets/images/interface/background.jpg').convert() #Initialize #--------------------------------------- self.gui_app = gui.App(config.gui_theme) self.ev_manager.gui_app = self.gui_app c = gui.Container(align=0,valign=0) #High Scores Table #--------------------------------------- hst = HighScoresTable() c.add(hst, 0, 0) self.gui_app.init(c) def render(self, surface): surface.blit(self.background, (0, 0)) #GUI self.gui_app.paint(surface) game_components.py #Remote imports import pygame from pygame.locals import * import random import operator from copy import copy from math import sqrt, floor #Local imports import config from events import * from matrix import Matrix from textrect import render_textrect, TextRectException from hyphen import hyphenator from textwrap2 import TextWrapper ############################## #CONSTANTS ############################## SCREEN_MARGIN = (10, 10) #Colors BLACK = (0, 0, 0) WHITE = (255, 255, 255) RED = (255, 0, 0) YELLOW = (255, 200, 0) #Directions LEFT = -1 RIGHT = 1 UP = 2 DOWN = -2 #Cards CARD_MARGIN = (10, 10) CARD_PADDING = (2, 2) #Card types BLANK = 0 COUNTRY = 1 TRANSPORT = 2 #Transport types PLANE = 0 TRAIN = 1 CAR = 2 SHIP = 3 class Timer(object): def __init__(self, ev_manager, time_left): self.ev_manager = ev_manager self.ev_manager.register_listener(self) self.time_left = time_left self.paused = False def __repr__(self): return str(self.time_left) def pause(self): self.paused = True def unpause(self): self.paused = False def notify(self, event): #Pause Event if isinstance(event, Pause): self.pause() #Unpause Event elif isinstance(event, Unpause): self.unpause() #Second Event elif isinstance(event, SecondEvent): if not self.paused: self.time_left -= 1 class Chrono(object): def __init__(self, ev_manager, start_time=0): self.ev_manager = ev_manager self.ev_manager.register_listener(self) self.time = start_time self.paused = False def __repr__(self): return str(self.time_left) def pause(self): self.paused = True def unpause(self): self.paused = False def notify(self, event): #Pause Event if isinstance(event, Pause): self.pause() #Unpause Event elif isinstance(event, Unpause): self.unpause() #Second Event elif isinstance(event, SecondEvent): if not self.paused: self.time += 1 class Map(object): def __init__(self, continent): self.map_image = pygame.image.load(continent.map).convert_alpha() self.map_text = pygame.image.load(continent.map_text).convert_alpha() self.pos = (0, 0) self.set_color() self.map_image = pygame.transform.smoothscale(self.map_image, config.map_size) self.size = self.map_image.get_size() def set_pos(self, pos): self.pos = pos def set_color(self): image_pixel_array = pygame.PixelArray(self.map_image) image_pixel_array.replace(config.GRAY1, config.COLOR1) image_pixel_array.replace(config.GRAY2, config.COLOR2) image_pixel_array.replace(config.GRAY3, config.COLOR3) image_pixel_array.replace(config.GRAY4, config.COLOR4) image_pixel_array.replace(config.GRAY5, config.COLOR5)

    Read the article

< Previous Page | 643 644 645 646 647 648 649 650 651 652 653 654  | Next Page >