Путаница в функции GROUP BY / агрегатной функции в SQL

Мне нужна небольшая помощь, чтобы кое-что исправить, я знаю, что это очень простой легкий вопрос, но это то, что меня немного сбивает с толку в SQL.

Этот SQL-запрос выдает ошибку «не выражение GROUP BY» в Oracle. Я понимаю, почему, поскольку я знаю, что как только я группирую по атрибуту кортежа, Нет настоящего руководства о том, как разумно организовать код. На ...

Я начал учиться создавать игры с помощью python / pygame, и, как будто в pygame легко быстро создать рабочую игру, нет настоящего руководства о том, как разумно организовать код.

На странице руководств по pygame я нашел 3 способа сделать это.

1- Никаких классов, для небольших проектов

2- Структура MVC типа ruby-on-rails, но без направляющих. структура, которая приводит к чему-то слишком сложному и непонятному (даже с OO-программированием и знанием рельсов)

3- C ++ - подобная структура следующим образом: (чистая и интуитивно понятная, но, возможно, не очень похожая на Python?)

import pygame
from pygame.locals import *

class MyGame:
    def __init__(self):
        self._running = True
        self._surf_display = None
        self.size = self.width, self.height = 150, 150
    def on_init(self):
        pygame.init()
        self._display_surf = pygame.display.set_mode(self.size)
        pygame.display.set_caption('MyGame')
        #some more actions
        pygame.display.flip()
        self._running = True
    def on_event(self, event):
        if event.type == pygame.QUIT:
            self._running = False
        elif event.type == KEYDOWN:
            if event.key == K_ESCAPE:
                self._running = False
        elif event.type == MOUSEBUTTONDOWN:
            if event.button == 1:
                print event.pos
    def on_loop(self):
        pass
    def on_render(self):
        pass
    def on_cleanup(self):
        pygame.quit()
    def on_execute(self):
        if self.on_init() == False:
            self._running = False
        while( self._running ):
            for event in pygame.event.get():
                self.on_event(event)
            self.on_loop()
            self.on_render()
        self.on_cleanup()

if __name__ == "__main__" :
    mygame = MyGame()
    mygame.on_execute()

Я используется для создания игр SDL на C ++, и я использую эту точную структуру, но мне интересно, можно ли ее использовать как для небольших, так и для больших проектов или есть ли ' более чистый способ в pygame.

Например, я нашел игру, организованную следующим образом:

imports

def functionx
def functiony

class MyGameObject:
class AnotherObject:
class Game: #pygame init, event handler, win, lose...etc
while True: #event loop
display update

Она также выглядит очень хорошо организованной и простой в использовании.

Какую структуру я должен последовательно использовать во всех моих проектах, чтобы иметь чистый код, который можно использовать в маленьких и больших играх?

6
задан 6 January 2011 в 06:41
поделиться