En ce moment, je regarde un peu les BDD (je commence avec SQLite).
Savez-vous s'il existe des codes quelque part pour visualiser et modifier une BDD ?
Merci

Code : Tout sélectionner
Structure sStatPerso
Vie.w
Force.w
Intelligence.W
Chance.w
Sagesse.w
EndStructure
Structure sQuest
id.w ; identifiant de la quete
State.a ; état d'avancement de la quête.
Param$ ; autre paramètres si besoin
EndStructure
Structure sSucces
id.w ; identifiant du succes
State.a ; état d'avancement du succes.
Array nb.w(0) ; le nombre rempli (pour chaque condition qui permettent de débloquer le succès)
EndStructure
Structure sEquipement
id.w
Used.a
stat.sStatPerso
EndStructure
Structure sInventaire
; objets de base, non modifiable
id.w
Nb.w
EndStructure
Structure sSkills
id.w
XP.w
EndStructure
Structure sPersonnage
Nom$
classe.a ; classe du personnage : guerrier, magicien, archer, etc.
; Statistique de base, lié à la classe choisie
; donc non sauvegardé.
stat.sStatPerso
; les points bonus qu'on a donné à nos stats
StatBonus.sStatPerso
; le nombre de point qui restent à donner
NbPointStat.w
; expérience et niveau
XP.i
Level.a
; puis, les tableaux ou list() nécessaires :
Array Quete.squest(0)
Array inventaire.sInventaire(0)
Array equipement.sEquipement(0)
Array skills.sSkills(0)
EndStructure
Code : Tout sélectionner
; Dabord, pour créer et gérer un personnage, les structures.
Structure sStatPerso
Vie.w
Force.w
Intelligence.W
Chance.w
Sagesse.w
EndStructure
Structure sQuest
id.w ; identifiant de la quete
State.a ; état d'avancement de la quête.
Param$ ; autre paramètres si besoin
EndStructure
Structure sSucces
id.w ; identifiant du succes
State.a ; état d'avancement du succes.
Array nb.w(0) ; le nombre rempli (pour chaque condition qui permettent de débloquer le succès)
EndStructure
Structure sEquipement
id.w
Used.a
stat.sStatPerso
EndStructure
Structure sInventaire
; objets de base, non modifiable
id.w
Nb.w
EndStructure
Structure sSkills
id.w
XP.w
EndStructure
Structure sPersonnage
Nom$
classe.a ; classe du personnage : guerrier, magicien, archer, etc.
; Statistique de base, lié à la classe choisie
; donc non sauvegardé.
stat.sStatPerso
; les points bonus qu'on a donné à nos stats
StatBonus.sStatPerso
; le nombre de point qui restent à donner
NbPointStat.w
; expérience et niveau
XP.i
Level.a
; puis, les tableaux ou list() nécessaires :
Array Quete.squest(0)
Array inventaire.sInventaire(0)
Array equipement.sEquipement(0)
Array skills.sSkills(0)
EndStructure
; Puis, la BDD
Procedure DB_Init()
; basé sur un code de metalos lui même basé sur un code Progi1984 :)
Protected plFile.l
Protected psSQLRequest.s
UseSQLiteDatabase()
file$ = GetCurrentDirectory()+"personnagejeuMMORPG1.sqlite"
If FileSize(file$ ) < 0
plFile = CreateFile(#PB_Any, file$ )
If plFile
CloseFile(plFile)
EndIf
EndIf
glDBSQLite = OpenDatabase(#PB_Any, file$ , "", "", #PB_Database_SQLite)
If glDBSQLite = 0
MessageRequester("Erreur BDD jeux videos", DatabaseError())
End
ElseIf plFile
; table "create du personnage"
psSQLRequest = "CREATE TABLE IF NOT EXISTS personnage ("
psSQLRequest + "id_perso INTEGER PRIMARY KEY AUTOINCREMENT Not NULL, "
psSQLRequest + "perso_nom TEXT Not NULL, "
psSQLRequest + "perso_classe INTEGER, "
psSQLRequest + "perso_statbonusvie INTEGER,"
psSQLRequest + "perso_statbonusforce INTEGER,"
psSQLRequest + "perso_statbonusintelligence INTEGER,"
psSQLRequest + "perso_statbonuschance INTEGER,"
psSQLRequest + "perso_statbonussagesse INTEGER,"
psSQLRequest + "perso_nbpointstat INTEGER,"
psSQLRequest + "perso_xp INTEGER,"
psSQLRequest + "perso_level INTEGER"
psSQLRequest + ")"
; Debug psSQLRequest
If DatabaseUpdate(glDBSQLite, psSQLRequest) = 0
MessageRequester("Jeu video1 - DB_Init() 1", DatabaseError())
End
EndIf
psSQLRequest = "CREATE TABLE IF NOT EXISTS inventaire ("
psSQLRequest + "id_perso INTEGER PRIMARY KEY AUTOINCREMENT Not NULL, "
psSQLRequest + "inventaire_id INTEGER,"
psSQLRequest + "inventaire_nb INTEGER"
psSQLRequest + ")"
; Debug psSQLRequest
If DatabaseUpdate(glDBSQLite, psSQLRequest) = 0
MessageRequester("Jeu video1 - DB_Init() 2", DatabaseError())
End
EndIf
MessageRequester("Gestion de persos - DB_Init()", "Bdd initialisée")
EndIf
EndProcedure
DB_Init()