Forum Liberty Basic France

Jeux » Un jeu à la c.. ou l'arroseur arrosé
Le 13/09/2020 à 06h54

Modérateur

Groupe: Modérateur

Inscrit le: 09/02/2015
Messages: 612
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 :
 
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 courante avec GNU/Linux Mageia6 + Wine (Pas trouvé d'incohérences ou de bug de compilation à ce jour)
  • utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc

   
Le 13/09/2020 à 10h39

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2253
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)))).
____________________
Roro

   
Le 13/09/2020 à 16h16

Modérateur

Groupe: Modérateur

Inscrit le: 09/02/2015
Messages: 612
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:
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 courante avec GNU/Linux Mageia6 + Wine (Pas trouvé d'incohérences ou de bug de compilation à ce jour)
  • utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc

   
Le 13/09/2020 à 16h55

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2253
Citation:
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

   
Le 13/09/2020 à 17h16

Modérateur

Groupe: Modérateur

Inscrit le: 09/02/2015
Messages: 612
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) ;)
____________________
Just BASIC v2.0 :
  • utilisation courante avec GNU/Linux Mageia6 + Wine (Pas trouvé d'incohérences ou de bug de compilation à ce jour)
  • utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc

   
Le 13/09/2020 à 18h51

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2253
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.
____________________
Roro

   
Jeux » Un jeu à la c.. ou l'arroseur arrosé  

 |  |

1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie