Forum Liberty Basic France
• Index
Ca pour un jeu à la c.. c'était un jeu à la c.. !!!
J'ai dû rêver, ou fumer le chocolat du mauvais coté, ou j'ai pas fait attention à la date... J'étais persuadé qu'il y avait un début de sujet à propos d'idée de jeu, et je me trouvais malin d'y répondre sur un mode décalé, et vlan ! le temps que j'interprète à ma façon le cahier des charges, l'existe plus ! ou l'était sur un autre forum ! et je me retrouve avec mon interprétation sur les bras, sans plus aucun endroit pour la poster ! L'arroseur arrosé, vous dis-je !
Voilà le prototype:
Code VB :
et bon dimanche
J'ai dû rêver, ou fumer le chocolat du mauvais coté, ou j'ai pas fait attention à la date... J'étais persuadé qu'il y avait un début de sujet à propos d'idée de jeu, et je me trouvais malin d'y répondre sur un mode décalé, et vlan ! le temps que j'interprète à ma façon le cahier des charges, l'existe plus ! ou l'était sur un autre forum ! et je me retrouve avec mon interprétation sur les bras, sans plus aucun endroit pour la poster ! L'arroseur arrosé, vous dis-je !
Voilà le prototype:
Code VB :
nomainwin 'alors ça commence : nbm=54 navg=10 etape=1 [mots] 'au final, ce sera un vrai dictionnaire, pour l'instant c'est un jeu de test data "...","!"," ",",","ah","alors","arrive","aviron","bah","bain","bien","but","c'est","camion","chien" data "cliquer","d'un","eh","et","ermitage","fous","firme","goal","je","jeu","l'histoire","la","là","lancer" data "laver","le","mais","malin","mi-temps","moi","oui","paf","patrouille","pour","qu'est-ce","que","qui" data "quidam","rue","sifflet","super","traverse","ultime","une","vitesse","voiture","xylophone","Zéphir","?" 'mettre le dictionnaire en tableau dim dico$(nbm+1) 'garder la première case vide, peut servir pour idée future for a=1 to nbm read a$ dico$(a)=a$ next [egmi] 'encoder les grappes en mitaines inverties data "461 030 251 032 020 037 020 039 027" data "161 036 390 032 293" data "061 048 036 132 037 265 038 172 034 156 038 429 030 475 032 270 034 446" data "361 040 035 192 030 064 034 542" data "491 032 517 038 073" data "191 034 067 543" data "091 032 060 034 540 542 544 030 181 039 110 032 371 037 312 033 152 034 023" data "051 034 134 034 333 030 022 023 024" data "051 037 053 039 057 038 028" data "321 032 402 037 245 030 213 039 285 043 034 355 034 549" dim mce$(navg) 'micro-chip de l'encodeur restore [egmi] for a=0 to navg-1 read a$ mce$(a)=a$ next dim boulier$(navg) 'comptabilisation arrière et compensation d'assiette for b=0 to navg-1 boules$="" 'nombre de cuves dans l'entrepôt espace=0 for a=0 to len(mce$(b))-1 if mid$(mce$(b),a,1)=" " then espace=espace+1 next 'exploration cuve après cuve pour reconstitution du cru for a=1 to espace+1 'séparation préliminaire cuvelier$=word$(mce$(b),a," ") drcuv$=right$(cuvelier$,1) gacuv$=left$(cuvelier$,2) 'adjointure des levures mout$=dico$(val(gacuv$)) if drcuv$="1" then prem$=upper$(left$(mout$,1)) mout$=prem$+right$(mout$,len(mout$)-1) end if boules$=boules$+mout$ next 'on termine la reconstitution boulier$(b)=boules$ next 'raccourcissement de la complexification, première phase WindowWidth = 480 WindowHeight = 230 UpperLeftX=int((DisplayWidth-WindowWidth)/2) UpperLeftY=int((DisplayHeight-WindowHeight)/2) texteditor #main.dial, 20, 15, 440, 100 button #main.cause, boulier$(1), [ehalors], UL, 20, 130, 440, 35 menu #main, "Edit" 'raccourcissement de la complexification, seconde phase open "Super Jeu" for window as #main #main, "trapclose [yenamarjmebar]" #main, "font ms_sans_serif 10" #main.dial, boulier$(0) wait '**** annexes aux contrats détarés de la plus-value endorphine amputée des profits avant récolte [ehalors] #main.cause, "" select case etape case 1 : te=2 : bt=3 case 2 : te=4 : bt=5 case 3 : te=6 : bt=7 case 4 : te=8 : bt=9 end select #main.dial, boulier$(te) gosub [tempor] #main.cause, boulier$(bt) if etape>3 then gosub [yenamarjmebar] else etape=etape+1 wait [tempor] fintempo=time$("ms")+500 while time$("ms")<fintempo wend return [yenamarjmebar] confirm "Votre avis ?" + chr$(13) + "Quitter ce jeu à la xxx !";jfaisquoi$ if jfaisquoi$<>"yes" then notice "eh bien je quitte quand même !" close #main end
et bon dimanche
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Style Visual Novel en très épuré, j'aime bien. Du Gacha Life pour non voyant
Note: 10/10 (-2 pour fin intolérable); concept 'porteur" à exploiter.
EDIT: Oh purée...J'avais pas vu le code et les commentaires.
reEdit: Hey, il manque la règle d'encodage
Pour la [tempo] si on présume que le "timer" suspend le programme (un compteur tournant dans un coin (dont on ignore le fonctionnement (qui est peut-être celui que tu a adopté (comparaison de nombres; le programme tourne)))).
Note: 10/10 (-2 pour fin intolérable); concept 'porteur" à exploiter.
EDIT: Oh purée...J'avais pas vu le code et les commentaires.
reEdit: Hey, il manque la règle d'encodage
Pour la [tempo] si on présume que le "timer" suspend le programme (un compteur tournant dans un coin (dont on ignore le fonctionnement (qui est peut-être celui que tu a adopté (comparaison de nombres; le programme tourne)))).
____________________
Roro
Roro
Merci pour le (10-2)/10 
Je me suis fais plaisir sur ce coup-là, d'autant plus que c'était tout à fait improvisé et inattendu. On pouvait faire beaucoup plus simple, mais ça aurait été bien moins mystérieux...
Il m'a bien fallu plus de 6 heures de travail pour passer de l'idée au résultat, définir la stratégie et me souvenir du fonctionnement et des paramètres des instructions. Pas grave, je suis en congés... Et j'ai rêvé, l'historique de mon navigateur ne se souvenant pas de m'avoir vu consulter une page parlant de projets de jeux. Alors là, je me suis planté quelque part ou j'hébahise... Peut-être une interférence entre des mondes parallèles... ("non, me dit pas qu'il est sérieux, là"
)
L'étape suivante que j'envisageais pour le programme était de rendre les grappes en mitaines inverties sous la forme d'un bloc compact, comme une matrice de 8x8, car là, Bruni, on devine trop facilement que chaque ligne de nombres est une phrase, les deux premiers chiffres donnant le numéro d'ordre du mot dans la liste des datas, et le dernier, quand il vaut "1", demandant d'écrire la première lettre du mot en majuscule. Mais j'arrête là, je suis déjà bien content de reprendre à l'occasion un petit délire basicalistique.
Citation:
Pas grave, il peut fonctionner sans, c'est du code "à la Terminator"
Citation:
Je me souviens avoir trop galéré sur ce timer pour avoir eu envie de me re-souvenir de comment il fonctionnait (la fameuse discussion sur l'horloge binaire), ici ce n'était pas grave si la tempo maison monopolise l'exécution du programme pour une demi-seconde.
Une évolution amusante serait de jouer avec l'affichage caractère par caractère, autant sur le texteditor que sur le bouton, ou de faire défiler la phrase, cà devrait pas être très compliqué à gérer avec les instructions de chaines existantes, et avec une temporisation adéquate entre chaque affichage pour garder la main sur la vitesse de défilement.
Voili
Edité par Christophe Le 13/09/2020 à 16h17

Je me suis fais plaisir sur ce coup-là, d'autant plus que c'était tout à fait improvisé et inattendu. On pouvait faire beaucoup plus simple, mais ça aurait été bien moins mystérieux...
Il m'a bien fallu plus de 6 heures de travail pour passer de l'idée au résultat, définir la stratégie et me souvenir du fonctionnement et des paramètres des instructions. Pas grave, je suis en congés... Et j'ai rêvé, l'historique de mon navigateur ne se souvenant pas de m'avoir vu consulter une page parlant de projets de jeux. Alors là, je me suis planté quelque part ou j'hébahise... Peut-être une interférence entre des mondes parallèles... ("non, me dit pas qu'il est sérieux, là"

L'étape suivante que j'envisageais pour le programme était de rendre les grappes en mitaines inverties sous la forme d'un bloc compact, comme une matrice de 8x8, car là, Bruni, on devine trop facilement que chaque ligne de nombres est une phrase, les deux premiers chiffres donnant le numéro d'ordre du mot dans la liste des datas, et le dernier, quand il vaut "1", demandant d'écrire la première lettre du mot en majuscule. Mais j'arrête là, je suis déjà bien content de reprendre à l'occasion un petit délire basicalistique.
Citation:
Hey, il manque la règle d'encodage
Pas grave, il peut fonctionner sans, c'est du code "à la Terminator"
Citation:
Pour la [tempo] si on présume que le "timer" suspend le programme
Je me souviens avoir trop galéré sur ce timer pour avoir eu envie de me re-souvenir de comment il fonctionnait (la fameuse discussion sur l'horloge binaire), ici ce n'était pas grave si la tempo maison monopolise l'exécution du programme pour une demi-seconde.
Une évolution amusante serait de jouer avec l'affichage caractère par caractère, autant sur le texteditor que sur le bouton, ou de faire défiler la phrase, cà devrait pas être très compliqué à gérer avec les instructions de chaines existantes, et avec une temporisation adéquate entre chaque affichage pour garder la main sur la vitesse de défilement.
Voili
Edité par Christophe Le 13/09/2020 à 16h17
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Citation:
Un: "...07ah","08alors","09arrive","10aviron","11bah..."; éviterait de devoir compter dans la liste, ce qui est assez fastidieux
il manque la règle d'encodage-->: Pas grave, il peut fonctionner sans
Un: "...07ah","08alors","09arrive","10aviron","11bah..."; éviterait de devoir compter dans la liste, ce qui est assez fastidieux
____________________
Roro
Roro
Justement, le but était de garder un peu de mystère, là tu en donnes la clef. J’aurais pu le faire et supprimer les 07, 08, 09 au moment de publier, mais je n'y ai pas pensé.
(c'est vrai que ce n'était pas évident de compter les mots, j'avoue, surtout quand il fallait en rajouter en respectant l'ordre alphabétique)
(c'est vrai que ce n'était pas évident de compter les mots, j'avoue, surtout quand il fallait en rajouter en respectant l'ordre alphabétique)

____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
J'avais commencé un truc du genre: Terre Eau Air Feu Energie
Avec Eau+ Feu=Vapeur; Terre+ Eau=Boue; Terre+ Feu=Pierre; Pierre+ Energie=Maison...ect...
En essayant de trouver une formule pour pointer sur les mots; mais je me suis perdu.
Avec Eau+ Feu=Vapeur; Terre+ Eau=Boue; Terre+ Feu=Pierre; Pierre+ Energie=Maison...ect...
En essayant de trouver une formule pour pointer sur les mots; mais je me suis perdu.
____________________
Roro
Roro
'et pour ma part, ça marche car je me cantonne à des codages simples, je suis pas très doué en cryptologie 
Salut les codeurs fous !
J'avais dit dans une autre discussion que je reprendrais l'exemple ci-dessus parce qu'il n'était pas terminé, le bloc des data n'étant pas "carré". Le but était d'avoir, en un listing des plus abscons, la résurgence du gag de la montagne qui accouche d'une souris. Je m'étais bien amusé, mais l'amusement étant passé, je reviens cette fois-ci avec une organisation plus rationnelle, sans commentaires décoiffants, et mon bloc de data sous forme d'une matrice de 10*8 nombres, bloc qui contient les phrases qui seront affichées à l'écran...
Pour les nouveaux qui découvrent JB/LB, on a utilisé des boucles FOR/NEXT et WHILE/WEND, des conditions IF/THEN/ELSE et SELECT CASE. Le code n'est pas très compliqué, et on peut essayer de comprendre le qui-fait-quoi sans trop de difficulté. Sinon rien n'empêche de poser la question.
On a aussi utilisé des DATA, instruction basic datant de la profondeur des temps géologiques, avec une méthode pour placer ces datas en tableaux, et pouvoir les utiliser commodément. L'utilisation des datas répond habituellement à un usage bien particulier, principalement pour définir des données en grand nombre qui n'auront pas de raison de varier durant l'exécution du programme, et qu'il serait enquiquinant de, ou qu'on ne voudrait pas, définir d'une autre manière. Ici, on ne fait que lire un bloc de données, toujours le même à chaque exécution, donc le recours aux DATAs est tout à fait pertinent.
Le code :
Code VB :
Edité par Christophe Le 11/10/2020 à 19h14

Salut les codeurs fous !
J'avais dit dans une autre discussion que je reprendrais l'exemple ci-dessus parce qu'il n'était pas terminé, le bloc des data n'étant pas "carré". Le but était d'avoir, en un listing des plus abscons, la résurgence du gag de la montagne qui accouche d'une souris. Je m'étais bien amusé, mais l'amusement étant passé, je reviens cette fois-ci avec une organisation plus rationnelle, sans commentaires décoiffants, et mon bloc de data sous forme d'une matrice de 10*8 nombres, bloc qui contient les phrases qui seront affichées à l'écran...
Pour les nouveaux qui découvrent JB/LB, on a utilisé des boucles FOR/NEXT et WHILE/WEND, des conditions IF/THEN/ELSE et SELECT CASE. Le code n'est pas très compliqué, et on peut essayer de comprendre le qui-fait-quoi sans trop de difficulté. Sinon rien n'empêche de poser la question.
On a aussi utilisé des DATA, instruction basic datant de la profondeur des temps géologiques, avec une méthode pour placer ces datas en tableaux, et pouvoir les utiliser commodément. L'utilisation des datas répond habituellement à un usage bien particulier, principalement pour définir des données en grand nombre qui n'auront pas de raison de varier durant l'exécution du programme, et qu'il serait enquiquinant de, ou qu'on ne voudrait pas, définir d'une autre manière. Ici, on ne fait que lire un bloc de données, toujours le même à chaque exécution, donc le recours aux DATAs est tout à fait pertinent.
Le code :
Code VB :
nomainwin [mots] 'une histoire d'il y a cinquante ans : data "Vers huit heures du matin arrive à la station-service une voiture" data "Son conducteur en descend, mais ne trouve pas âme qui vive" data "Un riverain lui annonce alors que le pompiste est parti récupérer son chien qui s'était échappé" data "< Eh bah, c'est bien ma veine ! > se dit-il en remerciant le voisin" data "< Tiens, le voilà !!! >" data "< Oui, j'arrive ! Ah ce chien..., et ce zèbre est malin comme un singe, en plus... >" data "< l'histoire de me retourner , et paf, disparu ! >" data "< Au fait, je n'ai plus de super > dit le pompiste qui traverse la rue d'un pas rapide" data "< C'est pas grave, il me faut de l'ordinaire ." data "< Faites-vous aussi garage ? J'ai du jeu dans la direction, là c'est un truc de fous >" data "< moi je peux vous conseiller mon frère à deux pas d'ici, qu'est-ce que vous en pensez ? >" nbm=155:dim mots$(nbm) nbp=11 restore [mots] for a=0 to nbp read a$ fin=0:mt=1 while fin=0 m$=word$(a$,mt) if m$="" then fin=1 mt=1 else mots$(ma)=m$ mt=mt+1 ma=ma+1 end if wend next [dialogue] 'préparation du dialogue data 163,095,124,057,187,128,032,020 data 155,026,041,078,104,034,100,101 data 007,103,170,150,201,201,254,324 data 158,060,083,026,121,172,201,065 data 163,009,010,005,175,212,650,128 data 157,083,026,121,180,127,210,088 data 161,040,026,121,121,121,039,042 data 084,098,034,045,165,078,066,232 data 156,063,041,070,057,170,062,154 data 162,063,062,063,062,063,062,172 data 160,015,147,027,137,133,128,082 data 136,152,165,120,024,033,121,213 nbmp=96 navg=11:dim mce$(navg) restore [dialogue] nump=1 ph=0 for a=0 to nbmp-1 read b if b>154 and b<164 then ph=1 if b>163 and b<189 then ph=0:nump=nump+1 if ph=1 and b<155 then mce$(nump)=mce$(nump)+mots$(b)+" " mot=mot+1 end if next 'préparation de l'interface graphique WindowWidth = 480 WindowHeight = 230 UpperLeftX=int((DisplayWidth-WindowWidth)/2) UpperLeftY=int((DisplayHeight-WindowHeight)/2) etape=1 texteditor #main.dial, 20, 15, 440, 100 button #main.cause, "Cliquer pour commencer", [SP1], UL, 20, 130, 440, 35 menu #main, "Edit" 'ouverture de l'interface graphique open "Super Jeu" for window as #main #main, "trapclose [fin]" #main, "font ms_sans_serif 10" #main.dial, mce$(1) wait '**** sous-programmes ***** [SP1] 'affiche une phrase dans le texteditor 'et fournit la réaction du joueur dans le bouton #main.cause, "" select case etape case 1 : te=2 : bt=3 case 2 : te=4 : bt=5 case 3 : te=6 : bt=7 case 4 : te=8 : bt=9 end select #main.dial, mce$(te):gosub [SP2] #main.cause, mce$(bt) if etape>3 then gosub [fin] else etape=etape+1 wait [SP2] 'monopolise l'exécution pendant une demi-seconde fintempo=time$("ms")+500 while time$("ms")<fintempo:wend return [fin] 'jeu fini, on s'en va confirm "Votre avis ?" + chr$(13) + "Quitter ce jeu à la xxx !";jfaisquoi$ if jfaisquoi$<>"yes" then notice "eh bien je quitte quand même !" close #main end
Edité par Christophe Le 11/10/2020 à 19h14
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Que dire...?
Des tableaux de temps, lieux, sujets, actions...ect
Une sélection aléatoire ou contrainte
Ferait un interlocuteur fantasque





Des tableaux de temps, lieux, sujets, actions...ect
Une sélection aléatoire ou contrainte
Ferait un interlocuteur fantasque
____________________
Roro
Roro

____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
• Index
1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie