Mesi fa marigno ha proposto un corso su python per creare giochi, abbandonato completamente.
Considerato che al tempo c'erano diversi interessati ed alla luce del format che mi ha fatto perdere il mio engine 2d (avendo inoltre rovinato i backup) ho deciso di riscrivere tutto in Python perché lo sto usando per un corso in università (Data Structures and Algorithms).
La mia intenzione è postare qui i risultati ottenuti giornalmente sia per premunirmi dai crash, sia per dare qualcosa alla comunità :)
Non mi dilungherò sulla teoria, quella se volete la potete trovare ovunque, darò solo qualche scratch.
(nota per i mod: modifichereste il css per aumentare la leggibilità?)
Spiegazioni:
Tutti i commenti iniziano per # (cancellletto) La prima riga serve soltanto per gli utilizzatori di sistemi linux/unix per poter eseguire lo script direttamente da shell: invece di scrivere
python finestra.py
è possibile eseguire lo script con
./finestra.py
avendo settato in precedenza i permessi
chmod +x finestra.py
l'import è la parola chiave per importare delle librerie, in questo caso pygame che si occupa di tutto quello che ci serve per il gioco e sys che contiene alcune funzioni basilari di sistema
La classe Tutte le classi in python devono avere un padre da cui ereditano, object è la classe base. Lo schema è class Nomeclasse(classepadre)
Le variabili dentro una classe ma non dentro il metodo sono variabili di classe per accedervi dalla stessa classe ho usato il costrutto self.__class__.nomevariabile sono accessibili al di fuori anche a chi non conosce il nome della classe ed anche se non sono state ancora create delle istanze della stessa
I metodi I metodi sono le funzioni di una classe, come primo argomento devono avere self che viene automaticamente passato nel momento in cui viene chiamata la funzione da un elemento (finestra.run() diventa classe[finestra].run(finestra) )
Pygame Questa spiegazione è a richiesta ovvero potete postare chiedendo cosa non capite ed io ve la spiego (preferisco questo rispetto a lunghe spiegazioni esaustive che annoiano tutti, anche per capire a che livello siete)
Question
Keroro
Mesi fa marigno ha proposto un corso su python per creare giochi, abbandonato completamente.
Considerato che al tempo c'erano diversi interessati ed alla luce del format che mi ha fatto perdere il mio engine 2d (avendo inoltre rovinato i backup) ho deciso di riscrivere tutto in Python perché lo sto usando per un corso in università (Data Structures and Algorithms).
La mia intenzione è postare qui i risultati ottenuti giornalmente sia per premunirmi dai crash, sia per dare qualcosa alla comunità :)
Non mi dilungherò sulla teoria, quella se volete la potete trovare ovunque, darò solo qualche scratch.
Risorse:
Se comunque non capite qualcosa, non esitate a chiedere :)
Versione 0001: Visualizzare una finestra
finestra.py
#!/usr/bin/python import pygame, sys from pygame.locals import * class GameWindow(object): game_running = True def __init__(self,title,width=640,height=480): self.width = width self.height = height pygame.init() self.schermo = pygame.display.set_mode((width,height),DOUBLEBUF) pygame.display.set_caption(title) def game_end(self): sys.exit(0) def run(self): clock = pygame.time.Clock() while (self.__class__.game_running): clock.tick(60) for evento in pygame.event.get(): self.input(evento) self.draw() pygame.display.flip() self.game_end() def input(self,evento): if evento.type == QUIT: self.__class__.game_running = False; else: print evento def draw(self): self.schermo.fill(0x39d2c2) finestra = GameWindow("Finestra Colorata") finestra.run()(nota per i mod: modifichereste il css per aumentare la leggibilità?)
Spiegazioni:
- Tutti i commenti iniziano per # (cancellletto)
- l'import è la parola chiave per importare delle librerie, in questo caso pygame che si occupa di tutto quello che ci serve per il gioco e sys che contiene alcune funzioni basilari di sistema
- La classe
- Le variabili dentro una classe ma non dentro il metodo sono variabili di classe
- I metodi
- Pygame
Edited by KeroroLa prima riga serve soltanto per gli utilizzatori di sistemi linux/unix per poter eseguire lo script direttamente da shell:
invece di scrivere
è possibile eseguire lo script con
avendo settato in precedenza i permessi
Tutte le classi in python devono avere un padre da cui ereditano, object è la classe base.
Lo schema è class Nomeclasse(classepadre)
per accedervi dalla stessa classe ho usato il costrutto self.__class__.nomevariabile
sono accessibili al di fuori anche a chi non conosce il nome della classe ed anche se non sono state ancora create delle istanze della stessa
I metodi sono le funzioni di una classe, come primo argomento devono avere self che viene automaticamente passato nel momento in cui viene chiamata la funzione da un elemento (finestra.run() diventa classe[finestra].run(finestra) )
Questa spiegazione è a richiesta ovvero potete postare chiedendo cosa non capite ed io ve la spiego (preferisco questo rispetto a lunghe spiegazioni esaustive che annoiano tutti, anche per capire a che livello siete)
I Miei Script:
Salva Schermata (3 Aprile 2012)
Attacco Personalizzabile (2 Aprile 2012)
Keyboard Input (Porting) (17 Marzo 2012)
Continua...
Link to comment
Share on other sites
24 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now