Liste chainé dynamique

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Liste chainé dynamique

Message par Kwai chang caine »

Et la famille ici comment elle va?
Je sais pas comment vont les autres parties du corps ????
Mais pour le trou de balle, ton serviteur, je vais bien :mrgreen:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Liste chainé dynamique

Message par Ar-S »

cederavic a écrit :Ben je m'informe de temps en temps, je code toujours en PB pour 2-3 trucs, mais là je suis vraiment passé à coté :p

Pas de nouvelle Polux, Yukin et Djes... J'ai mal saisie la chance que BGames m'a offerte mais ça fait toujours une belle experience. J'espere que tout va bien pour eux :)

Et la famille ici comment elle va? :D
Salut Cederavic,
il me semble que BGames est en pleine mutation.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
cederavic
Messages : 1338
Inscription : lun. 09/févr./2004 23:38
Localisation : Bordeaux

Re: Liste chainé dynamique

Message par cederavic »

J'ai essayer les linked list natives, mais ducoup je me heurte à plusieurs problèmes...
Tout semble lier au pointeurs, dé/commenter successivement les problème cités :

Code : Tout sélectionner

Structure MembersTest
  *vTable.i
  *instance.i
  
  List List.i()
EndStructure 

Interface ClassTest
  GetInstance()
  Destroy()
  
  TestIt.i(a.i)
  TestIt2.i(a.i)
EndInterface

Procedure.i NewTest()
  Protected *object.MembersTest
  
  *object = AllocateMemory(SizeOf(MembersTest))
  If *object
    *object\vTable = ?VTable_ClassTest
    *object\instance = *object
  EndIf

  ProcedureReturn *object
EndProcedure

Procedure.i ClassTest_GetInstance(*this.MembersTest)
  
  ProcedureReturn *this\instance
  
EndProcedure

Procedure ClassTest_Destroy(*this.MembersTest)
  
  FreeMemory(*this)
  
EndProcedure

Procedure.i ClassTest_TestIt(*this.MembersTest, a.i)
  
  AddElement(*this\List())
    *this\List() = a
  
  ForEach *this\List()
    Debug *this\List()
  Next
  
  ProcedureReturn #True
  
EndProcedure

Procedure.i ClassTest_TestIt2(*this.MembersTest, a.i)
  
  Debug "Test : " + Str(a)
  
  ProcedureReturn #True
  
EndProcedure

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

b.i = 10
test.ClassTest = NewTest()

; 1er problème : impossible d'utiliser la linked list d'une structure via une interface?
test\TestIt(b)

; 2eme problème : A moins que ce soit tout simplement impossible via un pointeur?
*iTest.MembersTest = test\GetInstance()
AddElement(*iTest\List())
  *iTest\List() = b

; 3eme problème : on ne peux pas appeler une interface via un pointeur?
*pTest.ClassTest = @test
*pTest\TestIt2(b)

test\Destroy()


;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
;-VIRTUAL TABLES.

DataSection 
  VTable_ClassTest: 
  Data.i @ClassTest_GetInstance()
  Data.i @ClassTest_Destroy()
  
  Data.i @ClassTest_TestIt()
  Data.i @ClassTest_TestIt2()
EndDataSection
  

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

Plutot ennuyant :?
Fred
Site Admin
Messages : 2805
Inscription : mer. 21/janv./2004 11:03

Re: Liste chainé dynamique

Message par Fred »

J'ai pas pu tester, mais si tu utilises une alloc dynamique pour ta structure qui contient ta liste, il va te falloir appeler InitializeStructure() pour initialiser la structure (et un ClearStructure() avant ton FreeMemory() pour tout cleaner).
Avatar de l’utilisateur
case
Messages : 1545
Inscription : lun. 10/sept./2007 11:13

Re: Liste chainé dynamique

Message par case »

Ar-S a écrit : il me semble que BGames est en pleine mutation.
on dirait que leur domaine a été racheté :/
Dernière modification par case le lun. 29/août/2011 11:25, modifié 1 fois.
ImageImage
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Liste chainé dynamique

Message par Ar-S »

case a écrit :
Ar-S a écrit : il me semble que BGames est en pleine mutation.
on diraiT que leur domaine a été racheté :/
J'avais lu qu'ils changeaient de nom pour se rediriger vers des jeux [je cite] gratuits et de qualité...
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
cederavic
Messages : 1338
Inscription : lun. 09/févr./2004 23:38
Localisation : Bordeaux

Re: Liste chainé dynamique

Message par cederavic »

Fred a écrit :J'ai pas pu tester, mais si tu utilises une alloc dynamique pour ta structure qui contient ta liste, il va te falloir appeler InitializeStructure() pour initialiser la structure (et un ClearStructure() avant ton FreeMemory() pour tout cleaner).

Merci Fred, ça fonctionne à merveille du coup :)
J'avais lu qu'ils changeaient de nom pour se rediriger vers des jeux [je cite] gratuits et de qualité...
Tu as ce "nom" à tout hazard?
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Liste chainé dynamique

Message par G-Rom »

BSoftware ?
Avatar de l’utilisateur
Cool Dji
Messages : 1126
Inscription : ven. 05/sept./2008 11:42
Localisation : Besançon
Contact :

Re: Liste chainé dynamique

Message par Cool Dji »

Only PureBasic makes it possible
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Liste chainé dynamique

Message par G-Rom »

ils ont blendman avec eux ^^ , je reconnais un de ces perso ;)
Avatar de l’utilisateur
Cool Dji
Messages : 1126
Inscription : ven. 05/sept./2008 11:42
Localisation : Besançon
Contact :

Re: Liste chainé dynamique

Message par Cool Dji »

Yes :D
Only PureBasic makes it possible
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Liste chainé dynamique

Message par Backup »

G-Rom a écrit :ils ont blendman avec eux ^^ , je reconnais un de ces perso ;)
apparemment Polux est toujours là aussi :)
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Liste chainé dynamique

Message par G-Rom »

Je viens de relancer un jeu auquel j'ai participé ( PureBreaker3 ) , c'était Djes le codeur principal & dans les crédits ( terrain en fil de fer qui se déforme avec les supersprite3D... ) , tu es en tête Dobro... :mrgreen:
Avatar de l’utilisateur
flaith
Messages : 1487
Inscription : jeu. 07/avr./2005 1:06
Localisation : Rennes
Contact :

Re: Liste chainé dynamique

Message par flaith »

C'est quel jeu ca dans le Top 3 Joueurs "Hero vs FC" ? c'est pas plutôt "Hero vs FS" ?
Avatar de l’utilisateur
Polux
Messages : 440
Inscription : mer. 21/janv./2004 11:17
Localisation : france
Contact :

Re: Liste chainé dynamique

Message par Polux »

Coucou ced :)
y a pas de souci tu rigole, tu peux participer à l'aventure quand tu veux, avec nous ce qu'il y a de bien c'est qu'il n'y a pas de contraintes, on est là pour se faire plaisir et faire plaisir aux autres :)
désolé pour le silence radio, pas mal occupé ces derniers temps! Bgames est devenu 'The Shooting Crew'. Les liens pour ceux qui veulent jeter un oeil:
http://www.shootingcrew.com et http://www.facebook.com/pages/The-Shoot ... 5579370584 pour nous rejoindre sur facebook et avoir les dernières news.
Pour le reste effectivement, je suis passé au C#/XNA (rôoh le traitre!!) mais j'aime toujours autant Pb, mais pour d'autres types d'applications ;)
J'ai porté Lethal Judgment en version HD sur XBox 360 et j'ai fait un Lethal Judgment Origins aussi ( les deux sont dispos gratos sur PC sur le site ) qui sont sortis sur le xbox live ( côté indépendants ). Là je suis sur un space invader like un peu particulier 'Hero vs Flying Saucer' avec Blendman et Djes ;)
Pleins de projets pour la suite :)
un RPG/Action 2D, un jeu de plateforme,un lethal Judgment en 3D, un remake d'ikari warrior et un autre de Ghost'ngoblins, bref je suis pas prêt de m'arrêter :)
Sinon je vois avec plaisir que la communauté est toujours aussi active ici ;) et y a toujours autant de pointures; c'est un vivier de talents :)
Promis je viendrais faire un tour plus souvent, là j'étais vraiment débordé.
Voili voilou pour les news :)
Répondre