Exemplo n.º 1
0
    def test_txt(self):
        allGpu = {}
        mutex = threading.Lock()
        parser = intel.Intel(allGpu, mutex)
        with open('../test_files/intel_gpu_output.txt', 'r') as file1:
            for line in file1.readlines():
                parser.parseLine(line)

        expected = {}
        expected['Intel.0.fReq'] = '5'
        expected['Intel.0.fAtt'] = '5'
        expected['Intel.0.irq/s'] = '11'
        expected['Intel.0.rc6.%'] = '97'
        expected['Intel.0.gpu'] = '0.06'
        expected['Intel.0.pkg'] = '8.23'
        expected['Intel.0.RCS.%'] = '2.00'
        expected['Intel.0.RCS.se'] = '3'
        expected['Intel.0.RCS.wa'] = '4'
        expected['Intel.0.BCS.%'] = '5.00'
        expected['Intel.0.BCS.se'] = '6'
        expected['Intel.0.BCS.wa'] = '7'
        expected['Intel.0.VCS.%'] = '8.00'
        expected['Intel.0.VCS.se'] = '9'
        expected['Intel.0.VCS.wa'] = '0'
        expected['Intel.0.VECS.%'] = '1.00'
        expected['Intel.0.VECS.se'] = '2'
        expected['Intel.0.VECS.wa'] = '3'

        self.assertEqual(expected, allGpu)
Exemplo n.º 2
0
 def do_actions(self, time_passed):
     #----Send standby shout to intel center------------------
     intel_text=self.soldier.rank.capitalize()+' '+self.soldier.name+\
             ' standing by.'
     shout_intel=intel.Intel(text=intel_text,intel_type='shout',\
             priority=4,start=self.soldier.world.global_time_passed,\
             time=3000)
     self.soldier.world.intel_center.addNewIntel(shout_intel)
Exemplo n.º 3
0
 def entry_actions(self):
     #----Send defencing shout to intel center------------------
     intel_text=self.soldier.rank.capitalize()+' '+self.soldier.name+\
             ': '+StateMachine.getRandomShout()
     shout_intel=intel.Intel(text=intel_text,intel_type='shout',\
             priority=4,start=self.soldier.world.global_time_passed,\
             time=3000)
     self.soldier.world.intel_center.addNewIntel(shout_intel)
Exemplo n.º 4
0
    def entry_actions(self):
        self.soldier._speed *= 0.2

        #----Send defencing shout to intel center------------------
        intel_text = 'Enemy troop: ' + StateMachine.getRandomShout()
        shout_intel=intel.Intel(text=intel_text,intel_type='shout',\
                priority=4,start=self.soldier.world.global_time_passed,\
                time=3000)
        self.soldier.world.intel_center.addNewIntel(shout_intel)
Exemplo n.º 5
0
 def do_actions(self, time_passed):
     if self.soldier.wound is None:
         #----Send standby shout to intel center------------------
         intel_text='Doctor '+self.soldier.name+\
                 ' standing by.'
     else:
         #----Send standby shout to intel center------------------
         intel_text='Doctor '+self.soldier.name+\
                 ' coming!'
     shout_intel=intel.Intel(text=intel_text,intel_type='shout',\
             priority=4,start=self.soldier.world.global_time_passed,\
             time=3000)
     self.soldier.world.intel_center.addNewIntel(shout_intel)
Exemplo n.º 6
0
def startLevel(screen,screen_size,screen_depth,level_info,\
        difficulty,music_volume,effect_volume,fullscreen):

    #----These has to be imported after pygame.init() and
    # screen initialization-
    import game_class
    import ui
    import sounds

    #----Globals--------------------------
    top_panel_width=TOP_PANEL_WIDTH
    topleft=TOPLEFT
    grid_size=GRID_SIZE

    #----Create scene--------------------------
    scene=game_class.GameScene(level_info,screen,\
            effect_volume=effect_volume,difficulty=difficulty,\
            player_name='player',friend_damage=FRIEND_DAMAGE)

    #----Create window elements--------------------------
    menu_button=ui.createMenuButton()
    scroll_bar=ui.createScrollMenu(scene,level_info)
    intel_bar=ui.createIntelBar()
    money_bar=ui.createMoneyBar()
    hq_bar=ui.createHqBar()

    #----Create pause screen--------------------------
    pause_screen=ui.createPauseScreen()

    #----Create option screen--------------------------
    option_screen=ui.createOptionScreen()

    #----Create enemy spawn--------------------------
    enemy_spawn=game_class.EnemySpawn(scene)

    #----Create barrack--------------------------
    barrack=game_class.Barrack(scene)

    #----Intel centre--------------------------
    intel_center=intel.IntelCenter(scene,enemy_spawn)
    scene.addIntelCenter(intel_center)

    #----Create gameover box--------------------------
    gameover_box=ui.createGameOver()
    
    #----Create thread lock--------------------------
    thread_lock=threading.Lock()
    scene.thread_lock=thread_lock

    '''
    soldier_lock=threading.Lock()
    scene.soldier_lock=soldier_lock
    '''

    #----Create music/sound threads--------------------------
    sound_queue=Queue.Queue()
    scene.sound_queue=sound_queue

    sound_threads=[]
    for ii in range(6):
        sound_threadii=sounds.SoundThread(sound_queue,thread_lock,\
                effect_volume,screen_size[0])
        sound_threadii.setDaemon(True)
        sound_threads.append(sound_threadii)
        sound_threadii.start()

    #----Create soldier queue and threads--------------------------
    '''
    soldier_queue=Queue.Queue()
    scene.soldier_queue=soldier_queue
    
    soldier_threads=[]
    for ii in range(10):
        threadii=game_class.SoldierThread(soldier_queue,soldier_lock,\
                scene.surface)
        threadii.setDaemon(True)
        soldier_threads.append(threadii)
        threadii.start()
    '''


    #----Main loop--------------------------
    clock=pygame.time.Clock()
    pygame.mouse.set_visible(True)
    WIN=False
    PAUSED=False
    GAME_OVER=False
    GOT_END_TEXT=False
    OPTION=False

    music_thread=sounds.MusicThread(PAUSED,thread_lock)
    sounds.sound_manager.loadMusic('battle')
    music_thread.start()
    pygame.mixer.music.set_volume(music_volume)

    picked_up_troop=None
    FPS=30
    
    while True:
        '''
        if len(scene.all_troops)>15:
            FPS=20
        elif len(scene.all_troops)<=15 and len(scene.all_troops)>10:
            FPS=15
        '''
        time_passed=clock.tick(FPS)

        for event in pygame.event.get():
            if event.type==QUIT:
                pygame.quit()
                sys.exit()

            if event.type==menu_button.PAUSE_EVENT:
                PAUSED=True
            if event.type==pause_screen.event_num:
                buttonii=pause_screen.button_pressed
                if buttonii=='resume':
                    PAUSED=False
                    pygame.mixer.music.unpause()
                elif buttonii=='option':
                    PAUSED=True
                    OPTION=True
                elif buttonii=='tomain':
                    for ii in sound_threads:
                        ii.stop=True
                    '''
                    for ii in soldier_threads:
                        ii.stop=True
                    '''
                    return 'backtomain'
                elif buttonii=='exit':
                    pygame.quit()
                    sys.exit()
            
            if event.type==option_screen.event_num:
                music_volume=option_screen.music_volume
                scene.effect_volume=option_screen.effect_volume
                pygame.mixer.music.set_volume(music_volume)
                if option_screen.fullscreen:
                    screen=pygame.display.set_mode(screen_size,\
                            FULLSCREEN|HWSURFACE|DOUBLEBUF,\
                            screen_depth)
                    scene.surface=screen
                else:
                    screen=pygame.display.set_mode(screen_size,DOUBLEBUF,\
                            screen_depth)
                    scene.surface=screen

                OPTION=False
                PAUSED=True

            if event.type==KEYDOWN:
                if event.key == K_ESCAPE:
                    PAUSED=True

            if event.type==MOUSEBUTTONDOWN:
                pressed_mouse=event.button
                mouse_pos=event.pos

                if  pressed_mouse==1:
                    if PAUSED and OPTION==False:
                        pause_screen.buttonAction(('mouse_down',1,mouse_pos))
                    elif PAUSED and OPTION:
                        option_screen.buttonAction(('mouse_down',1,mouse_pos))
                    elif GAME_OVER:
                        choice=gameover_box.buttonAction(('mouse_down',1,mouse_pos))
                        if choice is not None:
                            return choice
                    else:
                        scroll_bar.buttonAction(('mouse_down',1,mouse_pos),time_passed)
                        menu_button.actions(('mouse_down',1,mouse_pos))
                        scene.drawUnitCircle(('mouse_down',1,mouse_pos))

                        if picked_up_troop is not None:
                            #----Add defence--------------------------
                            slot=window2Grid(mouse_pos,grid_size,topleft)
                            if slot in scene.spots['defence']:
                                barrack.addTroop(slot,picked_up_troop)
                                picked_up_troop=None
                            else:
                                picked_up_troop=None

                            barrack.resetCursor()

            if event.type==MOUSEBUTTONUP:
                released_mouse=event.button
                mouse_pos=event.pos
                if released_mouse==1:
                    if PAUSED and OPTION==False:
                        pause_screen.buttonAction(('mouse_up',1,mouse_pos))
                    elif PAUSED and OPTION:
                        option_screen.buttonAction(('mouse_up',1,mouse_pos))
                    elif GAME_OVER:
                        choice=gameover_box.buttonAction(('mouse_up',1,mouse_pos))
                        if choice is not None:
                            for ii in sound_threads:
                                ii.stop=True
                            '''
                            for ii in soldier_threads:
                                ii.stop=True
                            '''
                            return choice
                    else:
                        menu_button.actions(('mouse_up',1,mouse_pos))
                        picked_up_troop=scroll_bar.buttonAction(('mouse_up',1,\
                                mouse_pos),time_passed)

                        barrack.replaceCursor(picked_up_troop)
                    
        if PAUSED:
            pygame.mixer.music.pause()
            if OPTION:
                option_screen.draw(screen)
            else:
                pause_screen.draw(screen)
            pygame.display.flip()

            continue

        if GAME_OVER:

            pygame.mouse.set_visible(True)
            
            #----Send game over info to intel center------------------
            scene.globalTimer()

            if not GOT_END_TEXT:
                intel_center.time_table={}
                intel_text=' '
                over_intel=intel.Intel(text=intel_text,intel_type='over',\
                        priority=1,start=scene.global_time_passed,\
                        time=30)
                intel_center.addNewIntel(over_intel)
                ending_text=prepareEndingText(scene,WIN)
                intel_bar.rolling_speed=0.1
                intel_bar.updateText(ending_text)
                GOT_END_TEXT=True

            intel_bar.draw(time_passed,screen)
            gameover_box.chooseButton(WIN)
            gameover_box.draw(screen)


        if not GAME_OVER:
            menu_button.draw(screen)
            scroll_bar.draw(screen)

            #----Intel bar--------------------------
            intel_center.update()
            intel_bar.updateByIntel(intel_center.active_intel)
            intel_bar.draw(time_passed,screen)

            #----Money bar--------------------------
            money_bar.update(scene.money,screen)
            hq_bar.update(scene.hq_life,screen)

            enemy_spawn.spawnAtRandom(time_passed)
            
            screen.blit(level_info.background_image,(0,0+top_panel_width))
            scene.removeDead()
            GAME_OVER=scene.updateHQ(time_passed)

            scene.globalTimer()
            scene.playBackgroundShot()
            scene.layeredDraw(time_passed,screen)
            #soldier_queue.join()
            scene.drawAllBullets(time_passed,screen)
            sound_queue.join()
            scene.drawAnimations(time_passed,screen)
            scene.drawMarkers(time_passed,screen)
            scene.drawAmmoBoxs(screen)

            if picked_up_troop is not None:
                barrack.drawCircleAndSlot(pygame.mouse.get_pos())

            #----Detect victory--------------------------
            WIN=enemy_spawn.isVictory()
            if WIN:
                GAME_OVER=True
                pygame.mixer.music.stop()

        pygame.display.flip()
Exemplo n.º 7
0

####################################################
#                      MAIN                        #
####################################################

import select
import socket
import sys
import threading
import time

allGpu = {}
mutex = threading.Lock()

parserIntel = intel.Intel(allGpu, mutex)
parserAmd = amd.Amd(allGpu, mutex)
parserNvidia = nvidia.Nvidia(allGpu, mutex)

clientConnectedEvent = threading.Event()

clientConnectedEvent.set()

t1 = Runner(parserIntel, clientConnectedEvent)
t2 = Runner(parserAmd, clientConnectedEvent)
t3 = Runner(parserNvidia, clientConnectedEvent)

# we need to sincronize access to 'allGpu'
gpuFount = 0
while len(allGpu) == 0 and (t1.isAlive() or t2.isAlive() or t3.isAlive()):
    with mutex: