Forums Casio - Actualités

Index du Forum | Actualités | La revue des projets - 101
Legolas
Hors ligne
Rédacteur
Niveau: Confirmé
Points: 3256
Défis: 104
Message
Posté le 30/07/2017 19:15

La revue des projets - 101 :


Bonnes vacances – STOP – Dimanche soir – STOP – Revue des Projets n°101 – STOP –


Présentation premier et seul projet de programmation de la semaine – STOP – Cause probable : vacances, indisponibilité des programmeurs – STOP – Zezombye – STOP –

Zezombye a écrit :
Pour les CPC, j'ai terminé BIDE 3.0

L'ajout principal est la mise en place de la RSyntaxTextArea, ce qui apporte :
- Une meilleure gestion du texte, dont le Ctrl+Z, et la meilleure gestion des tabulations
- Une coloration syntaxique qui lague pas
- De l'autocomplétion unicode (taper &thet puis faire entrée autocomplétera en θ)

J'ai également rajouté tous les caractères spécifiques à casio (par exemple le r chelou), en conséquences il y a 2 polices disponibles :
- DejaVu Avec Casio (police par défaut, basée sur DejaVu Sans Mono)
- Casio Graph (reproduction fidèle de la police de Casio qui m'a pris 6 h à faire è_é)

Il y a désormais possibilité de customiser :
- La couleur du texte, le fond et la couleur de la ligne sélectionnée
- La taille de la police (et la police en elle même)
On peut également choisir de ne pas avoir d'unicode, d'autocomplétion ou de choisir quels opérateurs ont des espaces lors de l'importation.

Toujours pour faciliter la programmation, il y a 4 ajouts qui vous serviront :
- Les macros, par exemple #define vieJoueur M ou #define map Mat A
- Un générateur de multi drawstat, il suffit de dessiner votre sprite et de copier coller le code généré
- L'importation de fichier png/bmp pour ajouter une picture
- Possibilité de tester automatiquement sur l'émulateur lors de la sauvegarde en g1m (évite de transférer sur la vraie calculatrice, ce qui peut être assez long)

Enfin, il est possible de se servir de BIDE en CLI :
--compile target.g1m prog1.bide prog2.bide... pour créer un g1m
--decompile prog.g1m /target/directory/ pour lire un g1m
Ainsi vous pourrez utiliser votre éditeur de texte favori sans problème

Quelques screenshots pour finir :


(oui ce sprite est très moche, c'est pour la démo )

Téléchargement : https://www.planet-casio.com/Fr/logiciels/voir_un_logiciel_casio.php?cat=6



On vient de m’avertir que malgré la petite taille de la base de données, on peut encore se permettre de ne pas écrire toutes les news en télégraphe, à condition d’écrire au moins en télégraphe dans les commentaires. Donc je me permets de finir cette news d’une manière plus usuelle, mais en contrepartie je vous prie de bien vouloir économiser les lettres dans les espaces de discussion. On va encore planter sinon. Bref, passez de bonnes vacances, soyez prêts pour les 7 Days CPC de la semaine prochaine et familiarisez-vous avec BIDE pour l’utiliser lors de ce concours !




Mes programmes
Cacher les programmes
Mes défis
Cacher les défis







Cakeisalie5
Hors ligne
Administrateur
Niveau: Confirmé
Points: 1424
Défis: 8
Message
Citer : Posté le 30/07/2017 19:26 | #
-... .. . -. .-. . -.-. ..- .- .-. - .. -.-. .-.. .
-- .. ... . .- .--- --- ..- .-. ... . -- -... .-.. . ... -.-- -- .--. .-
-... --- -. -. . .-. . ...- ..- . -.. . ... .--. .-. --- .--- . - ... -- . -- . ... .. - .- .-. -.. .. ...- .
...-.-
----------------------------------
Fmc_
Hors ligne
Membre
Niveau: Confirmé
Points: 40
Défis: 0
Message
Citer : Posté le 30/07/2017 19:45 | #
56, 75, 20, 6C, 65, 20, 6E, 6F, 6D, 62, 72, 65, 20, 64, 65, 20, 66, 65, 61, 74, 75, 72, 65, 73, 20, 64, 65, 20, 42, 49, 44, 45, 2C, 20, 6A, 27, 61, 69, 20, 70, 6C, 75, 73, 20, 64, 27, 65, 78, 63, 75, 73, 65, 73, 20, 70, 6F, 75, 72, 20, 70, 61, 73, 73, 65, 72, 20, E0, 20, 63, F4, 74, E9, 20, 5E, 5E, 0D, 0A, 47, 6F, 20, 74, 65, 73, 74, 65, 72, 20, E7, 61, 20, 21, 0D, 0A, 42, 52, 45, 41, 4B, 2E, EOF
Legolas
Hors ligne
Rédacteur
Niveau: Confirmé
Points: 3256
Défis: 104
Message
Citer : Posté le 30/07/2017 19:47 | #
--/./.-./-.-./..//

-/..-//.-/...//---/..-/-.../.-../.././/.-.././...//.../../--./-././...//-.././/..././.--./.-/.-./.-/-/../---/-.//-.-.--/
----------------------------------
Mes programmes
Cacher les programmes
Mes défis
Cacher les défis




Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 10113
Défis: 130
Message
Citer : Posté le 30/07/2017 20:12 | #
14 86 02 96 18 42 94 22 50 95 96 40 91 62 91 16 82 10 a4 5a 1a 14 86 02 96 18 42 90 85 52 20 21 48 64 48 a1 48 84 90 81 a1 81 a4 82 01 88 60 69 08 1a 10 95 94 a4 22 84 21 a4 49 59 20 25 61 08 a1 48 61 29 12 56 49 84 89 41 68 52 20 66 40 19 59 28 25 86 52 09 22 12 81 92 28 65 84 20 95 84 86 60 95 92 90 8a 10 85 52 09 26 21 20 48 64 48 a0 50 a0 20 92 56 4a 10 8a 52 48 48 66 20 61 29 08 a5 81 84 26 0a 42 12 18 58 09 86 68 68 42 15 48 60 84 a1 48 49 59 62 66 20 61 25 05 a1 84 25 61 20 29 86 49 a5 82 20 64 1a 44 59 14 90 20 89 29 61 84 20 92 94 60 60 a1 84 84 82 01 88 48 69 09 12 00 82 04 81 21 22 12 91 22 96 20 20 21 94 88 44 64 51

Edit : Bon courage pour le déchiffrer (c'est honnête et pas obfusqué, vraiment). Du coup, bravo Cake ! Voici un indice : `-.-. --- -.. .- --. . - .- .. .-.. .-.. . ..-. .. -..- .`.
----------------------------------
La sagesse est la prunelle de tes yeux, et la gloire l’enveloppe de ton cœur.
Cakeisalie5
Hors ligne
Administrateur
Niveau: Confirmé
Points: 1424
Défis: 8
Message
Citer : Posté le 30/07/2017 20:22 | #
Algos de traduction :
Cherchez d'abord, c'est plus marrant !
Si vous n'avez pas cherché, vite, refermez ça en cliquant ici !
#!/usr/bin/env python3
""" Decoding utilities for this post on Planète Casio:
    http://www.planet-casio.com/Fr/forums/lecture_sujet.php?id=14924
"""

import os

__symb = {
    '': ' ',

    '.-': 'A', '-...': 'B', '-.-.': 'C', '-..': 'D', '.': 'E', '..-.': 'F',
    '--.': 'G', '....': 'H', '..': 'I', '.---': 'J', '-.-': 'K', '.-..': 'L',
    '--': 'M', '-.': 'N', '---': 'O', '.--.': 'P', '--.-': 'Q', '.-.': 'R',
    '...': 'S', '-': 'T', '..-': 'U', '...-': 'V', '.--': 'W', '-..-': 'X',
    '-.--': 'Y', '--..': 'Z',

    '.-.-': 'Ä', '.--.-': 'À', '..-..': 'Ê', '.-..-': 'È', '..--': 'Ü',
    '-.-..': 'Ç', '----': 'CH', '--.--': 'Ñ', '---.': 'Ö',

    '.----': '1', '..---': '2', '...--': '3', '....-': '4', '.....': '5',
    '-....': '6', '--...': '7', '---..': '8', '----.': '9', '-----': '0',

    '.-.-.-': '.', '--..--': ',', '-.-.-.': ';', '---...': ':',
    '..--..': '?', '-.-.--': '!', '-.--.': '(', '-.--.-': ')',
    '.-..-.': '"', '.----.': "'", '.-.-.': '+', '-....-': '-',
    '-...-': '=', '-..-.': '/', '..--.-': '_',

    '...-..-': '$', '.--.-.': '@', '.-..-': '<attention>',
    '...---...': '<SOS>', '-.-': '<TRANSMIT>', '-.-.-': '<START>',
    '...-.': '<ACK>', '..--..': '<REP>', '.-...': '<WAIT>',
    '.-.-.': '<END>', '...-.-': '<ENDTRANS>'
}

def getletter(seq):
    return __symb[seq]

def make_hex(raw, sep=None, skip_last=False):
    tab = raw.split(sep)
    if skip_last:
        tab = tab[:-1]

    return list(map(lambda x: int(x.strip(), 16), tab))

def decode_cake(raw):
    text = ''
    for word in raw.splitlines():
        for let in word.split():
            text += getletter(let)
        text += os.linesep

    return text[:-1]

def decode_fmc(raw):
    l = make_hex(raw, sep=',', skip_last=True)
    return ''.join(map(chr, l))

def __getlegowords(raw):
    for word in raw.split('//'):
        word = word.strip()
        if not word: continue

        seq = ''
        for let in word.split('/'):
            let = let.strip()
            if not let: continue

            seq += getletter(let)

        yield seq

def decode_lego(raw):
    return ' '.join(__getlegowords(raw))

def decode_lephe(raw):
    # Get the bits.
    b = bytes(make_hex(raw))
    s = ''.join(map(lambda x: bin(x)[2:].zfill(8), b))

    # Get the text.
    text = ''
    for i in range(0, len(s), 2):
        text += ['.', '-', '/'][int(s[i:i+2], 2)]

    return decode_lego(text)

def decode_cake2(raw):
    # Get the bits.
    b = bytes(make_hex(raw))
    raw = ''.join(map(lambda x: bin(x)[2:].zfill(8), b))

    # Get the text.
    text = ''
    seq = ''
    while raw:
        cur = '0' if raw[0] == '1' else '1'
        num = raw.find(cur)
        if num < 0: num = len(raw)
        raw = raw[num:]

        if   num == 1:
            seq += '.'
        elif num == 2:
            seq += '-'
        elif num == 3:
            text += getletter(seq)
            seq = ''
        elif num == 4:
            text += getletter(seq)
            seq = ''
            text += ' '
        elif num >= 5:
            break

    if seq: text += getletter(seq)
    return text

def decode_cake3(raw):
    # Get the bits.
    b = bytes(make_hex(raw))
    raw = ''.join(map(lambda x: bin(x)[2:].zfill(8), b))

    # Get the hole sequence.
    allseq = ''
    while len(raw) >= 5:
        seq = ['.. ', '---', '. -', '...'][int(raw[3:5], 2)]
        if raw[0] == '1':
            seq = seq[::-1]
        if raw[2] == '1':
            seq = seq[0] + seq[2]
        if raw[1] == '1':
            seq = seq[1:]

        raw = raw[5:]
        allseq += seq

    words = [x.split() for x in allseq.split('  ')]
    for i in range(len(words)):
        words[i] = ''.join(map(getletter, words[i]))
    return ' '.join(words)

# ---
# Testing zone.
# ---

__cake = """\
-... .. . -. .-. . -.-. ..- .- .-. - .. -.-. .-.. .
-- .. ... . .- .--- --- ..- .-. ... . -- -... .-.. . ... -.-- -- .--. .-
-... --- -. -. . .-. . ...- ..- . -.. . ... .--. .-. --- .--- . - ... -- . -- . ... .. - .- .-. -.. .. ...- .
...-.-"""

__fmc = """\
56, 75, 20, 6C, 65, 20, 6E, 6F, 6D, 62, 72, 65, 20, 64, 65, 20, 66, 65, 61, 74, 75, 72, 65, 73, 20, 64, 65, 20, 42, 49, 44, 45, 2C, 20, 6A, 27, 61, 69, 20, 70, 6C, 75, 73, 20, 64, 27, 65, 78, 63, 75, 73, 65, 73, 20, 70, 6F, 75, 72, 20, 70, 61, 73, 73, 65, 72, 20, E0, 20, 63, F4, 74, E9, 20, 5E, 5E, 0D, 0A, 47, 6F, 20, 74, 65, 73, 74, 65, 72, 20, E7, 61, 20, 21, 0D, 0A, 42, 52, 45, 41, 4B, 2E, EOF"""

__lego0 = "--/./.-./-.-./..//"
__lego1 = """\
-/..-//.-/...//---/..-/-.../.-../.././/.-.././...//.../../--./-././...//\
-.././/..././.--./.-/.-./.-/-/../---/-.//-.-.--/"""

__lephe = """\
14 86 02 96 18 42 94 22 50 95 96 40 91 62 91 16 82 10 a4 5a 1a 14 86 02 96 18 42 90 85 52 20 21 48 64 48 a1 48 84 90 81 a1 81 a4 82 01 88 60 69 08 1a 10 95 94 a4 22 84 21 a4 49 59 20 25 61 08 a1 48 61 29 12 56 49 84 89 41 68 52 20 66 40 19 59 28 25 86 52 09 22 12 81 92 28 65 84 20 95 84 86 60 95 92 90 8a 10 85 52 09 26 21 20 48 64 48 a0 50 a0 20 92 56 4a 10 8a 52 48 48 66 20 61 29 08 a5 81 84 26 0a 42 12 18 58 09 86 68 68 42 15 48 60 84 a1 48 49 59 62 66 20 61 25 05 a1 84 25 61 20 29 86 49 a5 82 20 64 1a 44 59 14 90 20 89 29 61 84 20 92 94 60 60 a1 84 84 82 01 88 48 69 09 12 00 82 04 81 21 22 12 91 22 96 20 20 21 94 88 44 64 51"""

__cake2 = """\
62 BB 15 CD 30 DB B3 22 28 C2 9D BB 17 31 1B 9E 6E E4 5D 89 79 76 64 5C 8A 77 23 11 21 44 50 9B B7 33 B2 24 45 08 DC 91 98 D1 39 BB AF 24 C0"""

__cake3 = """\
B0 22 A1 58 CE 62 AA A2 40 86 89 09 35 31 53 86 94 4D 39 52 34 08 49 AA C6 73 15 29 12 6C D4 74 CD 54 82 24 F4 C5 5A 46 D4 6D A9 54 86 21 26 C5 18 84 54 A0 49 E9 CA B6 95 63 39 8A B4 8D A5 58 CE 62 80 43 57 4E 55 8C E6 2A 70 D2 89 AA 90 97 73 35 2B 6A D0 81 B5 AB 2A AA 13 34 E6 28 02 31 26 40 5E D0 B6 AD AD 59 8A 35 A0 40 28 C4 22 88 68 90 93 53 35 23 28 C4 BB 94 23 59 CA B1 9C CD 47 4C 81 B5 22 4D 8A 94 6D A9 5B 56 D2 B5 AB 6A D6 73 35 1D 46 DA 81 0D 6D 6A DA 62 95 58 39 4C 50 08 A9 2A 4C 55 A4 6D 33 56 21 A2 41 5E 55 21 0C 40 08 46 21 20 65 56 12 06 9C CD 54 86 05 DC C5 18 CE 66 A3 A6 28 84 81 0D 08 13 4A 11 85 5D 5B 4A B1 9C C5 4A 44 9B 35 1D 46 DA D5 48 61 56 12 BC B5 6D 48 90 21 94 49 B1 40 8C 1C AD 32 0E 51 08 AB 6A DA 72 84 02 40 86 54 20 4B DB 4E 51 85 05 55 44 D3 99 03 2A B0 90 20 65 56 1A B3 15 6D 4A C4 21 88 43 12 04 BC AC C5 18 84 D5 48 65 5A 46 D2 98 A0 11 53 82 A0 43 18 CC D4 AC 43 00 56 15 8C E6 69 CC D5 88 66 6A DA 81 95 55 1A 46 D5 B4 C5 18 CE 62 AB 35 1A CE"""

if __name__ == '__main__':
    #print(decode_cake(__cake))
    #print(decode_fmc(__fmc))
    #print(decode_lego(__lego0))
    #print(decode_lego(__lego1))
    #print(decode_lephe(__lephe))
    #print(decode_cake2(__cake2))
    print(decode_cake3(__cake3))

# End of file.
----------------------------------
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 10113
Défis: 130
Message
Citer : Posté le 30/07/2017 20:26 | #
Le code de Legolas est simple à déchiffrer, ce n'est (pas comme le tien, d'après Legolas) que du morse.
----------------------------------
La sagesse est la prunelle de tes yeux, et la gloire l’enveloppe de ton cœur.
Cakeisalie5
Hors ligne
Administrateur
Niveau: Confirmé
Points: 1424
Défis: 8
Message
Citer : Posté le 30/07/2017 22:55 | #
62 BB 15 CD 30 DB B3 22 28 C2 9D BB 17 31 1B 9E 6E 45 D8 97 97 66 45 C8 A7 72 31 12 14 45 09 BB 73 3B 22 44 50 8D C9 19 8D 13 9B BA F7 23 6E 67 2E C6 44 50

EDIT : Je me suis un peu fail (je sais pas trop comment j'ai fait). Voici la version un peu améliorée (ça suit le même principe, j'ai juste ajouté un petit truc et corrigé ce qui existait déjà) :

62 BB 15 CD 30 DB B3 22 28 C2 9D BB 17 31 1B 9E 6E E4 5D 89 79 76 64 5C 8A 77 23 11 21 44 50 9B B7 33 B2 24 45 08 DC 91 98 D1 39 BB AF 24 C0
----------------------------------
Zezombye
Hors ligne
Membre
Niveau: Confirmé
Points: 645
Défis: 7
Message
Citer : Posté le 30/07/2017 23:21 | #
pourquoi s'embêter avec du morse, suffit d'écrire plus petit et ça prend moins de place
----------------------------------
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Cakeisalie5
Hors ligne
Administrateur
Niveau: Confirmé
Points: 1424
Défis: 8
Message
Citer : Posté le 31/07/2017 11:23 | #
B0 22 A1 58 CE 62 AA A2 40 86 89 09 35 31 53 86 94 4D 39 52 34 08 49 AA C6 73 15 29 12 6C D4 74 CD 54 82 24 F4 C5 5A 46 D4 6D A9 54 86 21 26 C5 18 84 54 A0 49 E9 CA B6 95 63 39 8A B4 8D A5 58 CE 62 80 43 57 4E 55 8C E6 2A 70 D2 89 AA 90 97 73 35 2B 6A D0 81 B5 AB 2A AA 13 34 E6 28 02 31 26 40 5E D0 B6 AD AD 59 8A 35 A0 40 28 C4 22 88 68 90 93 53 35 23 28 C4 BB 94 23 59 CA B1 9C CD 47 4C 81 B5 22 4D 8A 94 6D A9 5B 56 D2 B5 AB 6A D6 73 35 1D 46 DA 81 0D 6D 6A DA 62 95 58 39 4C 50 08 A9 2A 4C 55 A4 6D 33 56 21 A2 41 5E 55 21 0C 40 08 46 21 20 65 56 12 06 9C CD 54 86 05 DC C5 18 CE 66 A3 A6 28 84 81 0D 08 13 4A 11 85 5D 5B 4A B1 9C C5 4A 44 9B 35 1D 46 DA D5 48 61 56 12 BC B5 6D 48 90 21 94 49 B1 40 8C 1C AD 32 0E 51 08 AB 6A DA 72 84 02 40 86 54 20 4B DB 4E 51 85 05 55 44 D3 99 03 2A B0 90 20 65 56 1A B3 15 6D 4A C4 21 88 43 12 04 BC AC C5 18 84 D5 48 65 5A 46 D2 98 A0 11 53 82 A0 43 18 CC D4 AC 43 00 56 15 8C E6 69 CC D5 88 66 6A DA 81 95 55 1A 46 D5 B4 C5 18 CE 62 AB 35 1A CE
----------------------------------
Intelligide
Hors ligne
Banni de la Shoutbox
Niveau: Aucun
Points: 33
Défis: 5
Message
Citer : Posté le 03/08/2017 18:55 | #
Cool, le générateur de g1m en CLI et la GUI sont-ils un seul programme ?
----------------------------------
┌∩┐(ಠ_ಠ)┌∩┐
Zezombye
Hors ligne
Membre
Niveau: Confirmé
Points: 645
Défis: 7
Message
Citer : Posté le 03/08/2017 18:57 | #
Oui, Breizh voulait un compilateur séparé mais vu qu'on est pas à 5 Mo près on peut utiliser BIDE.jar tout comme on utiliserait un compilateur séparé.
----------------------------------
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Intelligide
Hors ligne
Banni de la Shoutbox
Niveau: Aucun
Points: 33
Défis: 5
Message
Citer : Posté le 03/08/2017 19:01 | #
Breizh a raison, mieux vaut créer une transfo séparé de la GUI Et une l'un pour faire la passerelle ( et éviter les appels bancals interlogiciel en CLI). (après, c'est le type d'architecture qui me fait banduler alors fais comme tu veux , j'aime avoir pleins de libs dans mon /usr/lib :3 )
----------------------------------
┌∩┐(ಠ_ಠ)┌∩┐
Breizh_craft
Hors ligne
Modérateur
Niveau: Confirmé
Points: 581
Défis: 6
Message
Citer : Posté le 03/08/2017 19:13 | #
« On est pas à 5 Mio près » Si
----------------------------------
Intelligide
Hors ligne
Banni de la Shoutbox
Niveau: Aucun
Points: 33
Défis: 5
Message
Citer : Posté le 03/08/2017 20:02 | #
La taille d'un programme importe généralement peu, sauf dans le cas d'applications mobiles et des jeux ou que tu sois Breton.
----------------------------------
┌∩┐(ಠ_ಠ)┌∩┐
Julese50
Hors ligne
Gourou
Niveau: Confirmé
Points: 303
Défis: 16
Message
Citer : Posté le 03/08/2017 23:30 | #
On est pas à 5 megas près
Faisons-le, et voyons après
Tu verras qu'un code dégueulasse
Ça vaut bien toutes les paires de claques
----------------------------------
Ceci n'est pas une signature.
Cakeisalie5
Hors ligne
Administrateur
Niveau: Confirmé
Points: 1424
Défis: 8
Message
Citer : Posté le 04/08/2017 00:39 | #
Vu que de toute façon, tu utilises Java, vas-y franchement. On s'en branle un peu que ce soit un poil lourd pour ce que c'est, du moment que c'est suffisamment léger et suffisamment rapide.
----------------------------------


Index du Forum | Actualités | La revue des projets - 101
Publicité et partenaires
Casio Education
Casio éducation

TI-Planet
Casiopeia
Casiopeia
CasioFan, la communauté ClassPad
CasioFan
CodeWalrus
CodeWalrus

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2015 | Il y a 35 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Rugby Manager | Jeu de basket | Jeu de handball | Jeu de tennis | Nova Raider | Réparation téléphone | Soccer Rush | Tasty Tale

Planète Casio est un site communautaire indépendant, géré bénévolement et n'est donc pas affilié à Casio | Toute reproduction de Planète Casio, même partielle, est interdite
Les fichiers, programmes et autres publications présents sur Planète Casio restent la propriété de leurs auteurs respectifs et peuvent être soumis à des licences ou des copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd