Redstone Défis pour tous !

  • Auteur de la discussion Auteur de la discussion Spirit
  • Date de début Date de début
J'avais commencé à en faire un.
Il y avait une ALU fonctionnelle qui savait faire les basiques AND / OR / NOT mais aussi (et surtout !) ADD et SUB. Il était entièrement 8 bits, avait un mode signé et un mode non signé, + une gestion de l'overflow.
Y'avait aussi un afficheur et une entrée décimale des nombres, et donc une conversion automatique en complément à 2^n-1 (permet d'utiliser les additionneurs ripple carry pour faire SUB sans doubler la taille de l'ALU.) Forcément, pour que ce soit un peu opti, il y avait un shift registrer (nécessaire à l'établissement du complément à 2^n-1, mais je m'en servais aussi pour je sais plus quoi) et une petite mémoire toute mimi <3.

À la fin c'était fonctionnel, mais lent, ripple carry oblige. Je devrais avoir les plans de tout ça dans un coin si ça vous intéresse. :)
 
  • J'aime
Reactions: aurecam
J'avais commencé à en faire un.
Il y avait une ALU fonctionnelle qui savait faire les basiques AND / OR / NOT mais aussi (et surtout !) ADD et SUB. Il était entièrement 8 bits, avait un mode signé et un mode non signé, + une gestion de l'overflow.
Y'avait aussi un afficheur et une entrée décimale des nombres, et donc une conversion automatique en complément à 2^n-1 (permet d'utiliser les additionneurs ripple carry pour faire SUB sans doubler la taille de l'ALU.) Forcément, pour que ce soit un peu opti, il y avait un shift registrer (nécessaire à l'établissement du complément à 2^n-1, mais je m'en servais aussi pour je sais plus quoi) et une petite mémoire toute mimi <3.

À la fin c'était fonctionnel, mais lent, ripple carry oblige. Je devrais avoir les plans de tout ça dans un coin si ça vous intéresse. :)

Je veux bien les plans, mais je travaille sur un ordinateur avec carte graphique (qui décode le binaire), un clavier (qui envoie des impulsion et les transforme en levier), un écran, une machine où est relié tous ces éléments (envirronemment), et une mémoir ram
 
J'ai jamais utilisé de commandblock, j'avais stoppé minecraft pile quand c'est sorti et j'ai jamais trop vu d'usage d'apprendre. ^^

Une carte graphique, comment ça ? Ça me paraît ambitieux de gérer un GPU dans minecraft :/ Si pour toi une carte graphique c'est un décodeur binaire, il y a confusion un peu. ^^
Puis je ne vois pas d'unité de calcul dans ton projet (ALU, etc) :/ C'est ça que tu appelle l’environnement ? Ça sous entend qu'il y ait un OS, et donc d'avoir une architecture turing-complet.

Ambitieux du coup. :o
 
Vous voulez de la logique ? En voici !

Le premier qui fait une calculatrice (comprenant les opérations suivantes : addition / soustraction / multiplication / division puissance / LE TOUT AVEC DES ENTIERS RELATIFS DE -10 À 10 ) gagne :p

Je vous mets pas les nombres décimaux et les racines carrées vous en chierez sinon.

Autre défi : créer une représentation graphique d'une fonction linéaire ( f(x)= ax + b).
Vous choisissez a et b tels que -5<a<5 et -5<b<5.
Puis la représentation graphique apparaît, sous forme de droite (logique XD).
Pour l'affichage faites comme vous voulez : setblock, affichage de lampe, ou autre.
Le setblock est le plus en fait, et je vous laisse associer l'ensemble des setblocks (des valeurs prises de la fonction ^^) aux couples (a,b) possibles.

Bon courage !

ÉDIT : le deuxième défi est tout con : c'est juste des AND dans tous les sens au final. Et j'avais oublié, x et lui aussi un entier relatif apparentant à l'intervalle [-5,5] ^^
 
  • J'aime
Reactions: aurecam
Addition, facile.
Soustraction, facile aussi, quand tu code les nombres en 2^n-1.
Multiplication, ça commence à se tendre, faut de la mémoire, une gestion de l'overflow, un shift register et du coup des bus de communication (la logique passe de combinatoire à séquentielle).
Division, c'est franchement chaud, parce que ça implique éventuellement une gestion des flottants (ce qui oblige à repenser tout le design). À la rigueur la division euclidienne est envisageable, et encore, ça doit pas être simple du tout. Par contre pas de problème pour le faire en signed.
La puissance faut un deuxième shift register et une autre mémoire. Ça implique ou double circuit de multiplication, et une unité de contrôle assez compliquée. Puis une mémoire plus grosse, sinon c'est useless.

Déjà, faire une addition signée 8 bits, ça semble un bon début... :luigi:

Mettre que des and pour le deuxième défi c'est pas opti. Une ALU multiplication signée / addition signée avec pas mal de mémoire au cul ira plus vite et est plus intéressante à faire.
 
Pour le multiplicateur :

http://minecraft.fr/forum/index.php...ur-8-16-bits-en-redstone.125678/#post-1183009
94497220140907213618.png


J'ai aussi créer le diviseur qui fait un peu près la même taille (pas de photo)

ainsi qu'une version signé de mon multiplicateur (visible ici : https://forum.openredstone.org/showthread.php?tid=5835&pid=36992#pid36992 )
39851920150319232500.png

Ici il y a les deux versions que j'ai créé, les explications sont dans le lien plus haut.

Il y a Heelfear qui a fait circuit qui calcul les racines carré (en combinatoire). Du coup il faut que j'essaye de le faire en séquentiel histoire diminuer la taille du circuit (comme pour mes multiplicateurs).
 
  • J'aime
Reactions: aurecam et Le minaw