IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Pascal Discussion :

Version multiplateforme d'un jeu inspir� de Tetris


Sujet :

Contribuez Pascal

  1. #1
    R�dacteur/Mod�rateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    D�cembre 2011
    Messages
    4 167
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : Enseignant

    Informations forums :
    Inscription : D�cembre 2011
    Messages : 4 167
    Billets dans le blog
    9
    Par d�faut Version multiplateforme d'un jeu inspir� de Tetris
    Bonjour !

    Je me suis amus� � adapter pour Linux le jeu �crit par par M.Dlb � l'occasion du d�fi Pascal 2011. (Le lien de t�l�chargement du programme original se trouve ici.)

    Il reste apparemment quelques petites choses � corriger mais le jeu se compile et fonctionne. Je ne l'ai test� que sous Linux mais en principe il devrait toujours fonctionner aussi sous Windows.

    Il y a un probl�me que je n'ai pas r�ussi � r�soudre dans la proc�dure DrawPixel de l'unit� sdl_utils. Je ne sais pas si c'est une erreur dans le code ou si c'est li� au fait que je compile en 64 bits. Chaque appel de la proc�dure d�clenche une exception de type Range check error.

    Du coup j'ai mis un Exit; au d�but de la proc�dure, en attendant mieux. �a n'emp�che pas l'affichage d'�tre correct : apparemment la proc�dure n'est pas vraiment indispensable, ou alors je n'ai pas compris � quoi elle sert.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    procedure DrawPixel(Surface: PSDL_Surface; X, Y: Integer; Color: PSDL_Color);
    var
      BytesPerPixel, PixelColor, ScreenPitch: LongWord;
      InitialPixelLocation: PLongBuffer;
    begin
      Exit; // <---
      BytesPerPixel := Surface^.Format^.BytesPerPixel;
      ScreenPitch := Surface^.Pitch;
      InitialPixelLocation := Surface^.Pixels;
      WriteLn('X=', X, ' Y=', Y, ' BytesPerPixel=', BytesPerPixel, ' ScreenPitch=', ScreenPitch, ' Length(InitialPixelLocation^)=', Length(InitialPixelLocation^));
      PixelColor := SDL_MapRGB(Surface^.Format, Color^.R, Color^.G, Color^.B);
      try
      InitialPixelLocation^[Y * (ScreenPitch div BytesPerPixel) + X] := PixelColor;
      except
        on E: Exception do
        begin
          WriteLn({$I %FILE%} + ' ' + {$I %LINE%} + ' ' + E.Message);
          Halt;
        end;
      end;
    end;
    Je r�alise que �a n'a pas beaucoup de sens de v�rifier Length(InitialPixelLocation^).

    Il y a aussi une violation d'acc�s quand on quitte le programme.

    Voil�, si quelqu'un veut m'aider � corriger les derni�res erreurs, il sera bienvenu.
    Fichiers attach�s Fichiers attach�s

  2. #2
    R�dacteur/Mod�rateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 466
    D�tails du profil
    Informations personnelles :
    �ge : 40

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 466
    Par d�faut
    Content de voir que ce programme int�resse encore du monde, 10 ans apr�s !!!
    Merci pour l'effort, et bon courage pour le portage !

  3. #3
    R�dacteur/Mod�rateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    D�cembre 2011
    Messages
    4 167
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : Enseignant

    Informations forums :
    Inscription : D�cembre 2011
    Messages : 4 167
    Billets dans le blog
    9
    Par d�faut
    Citation Envoy� par M.Dlb Voir le message
    Merci pour l'effort, et bon courage pour le portage !
    Pas de quoi. Je crois que le plus gros est fait.

Discussions similaires

  1. R�ponses: 104
    Dernier message: 06/10/2020, 13h57
  2. Un d�veloppeur ind�pendant distribue une version pirate de son jeu
    Par LittleWhite dans le forum D�veloppement 2D, 3D et Jeux
    R�ponses: 19
    Dernier message: 22/09/2011, 09h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo