Comment pomper avec un Spectrum+ ?

Tous les Sinclair. Du Mk14 au QL

Modérateur : Politburo

Répondre
Avatar de l’utilisateur
Professeur_Octopus
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 942
Inscription : 17 oct. 2003 23:38
Localisation : Ormeignies Hainaut (Belgique)
Contact :

Comment pomper avec un Spectrum+ ?

Message par Professeur_Octopus » 02 févr. 2004 19:43

Alors, voilà, j'ai voulu aujourd'hui dépoussiérer un peu mon spectrum+. Après l'avoir préchauffé pour réveiller les nappes et avoir accés à toutes les touches :? , j'ai commencé par essayer les petits programmes de démos fournis dans le manuel.
Dans un des programmes (destinés à faire des cercles) se trouve cette ligne : 40 IF RND>.9 THEN GO TO 60
Et c'est là que j'arrive plus à pomper ... :cry:
Ca va sûrement vous paraître très bête mais voilà, j'arrive pas à avoir le THEN :oops: :cry: Après la frappe du IF, la machine passe en mode lettre (curseur L) et pour avoir le THEN et le GO TO, faut être en mode commande (curseur K) si j'ai bien compris (faut vous dire que le manuel est en flammand et que la langue du paradis, moi ... j'ai un peu de mal avec ... Ah ! La Belgique ! :roll: :wink: :lol: ).
Alors, voilà ma question toute bête mais fondamentale : comment sur spectrum + repasser en commande (curseur K) en cours de ligne (quand on a le curseur L).
Sans ça, j'arrive pas à avoir le THEN et certaines autres commandes qui sont pourtant indispensables.

Merci d'avances au Devin Shadok qui pourra m'éclairer ;-)
Savant fou spécialiste en coups tordus et foireux ;-)

J'ai un moog !! Enfin ... Presque ;)

Image Image

Avatar de l’utilisateur
coimbrap
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4090
Inscription : 04 juil. 2002 14:42
Localisation : Nantes
Contact :

Message par coimbrap » 02 févr. 2004 20:30

Je suis pas spécialiste du spectrum (Carl le magicien du ZX pourra t'aider - la philosophie est la même) mais si ton curseur est en L il attend une variable. Donc après le IF tu dois mettre un truc du genre choix=0 et automatiquement tu passeras en mode K pour le THEN.
Voilou.

Avatar de l’utilisateur
Carl
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2542
Inscription : 04 janv. 2003 00:47
Localisation : www.dole.org
Contact :

Message par Carl » 02 févr. 2004 21:14

Hi !
(K, L, C, E or G) to indicate which mode you are operating in... :!:
Après la frappe du IF, la machine passe en mode lettre (curseur L)
...oui, il faudrait taper une variable...
Voir ce site, tout est expliquer !
http://www.madhippy.com/8-bit/sinclair/ ... pter7.html

Carl

Avatar de l’utilisateur
Professeur_Octopus
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 942
Inscription : 17 oct. 2003 23:38
Localisation : Ormeignies Hainaut (Belgique)
Contact :

Message par Professeur_Octopus » 02 févr. 2004 21:14

Ben ... justement, je met RND>.9 après le if donc, il devrait repasser en K mais il reste en L ... comprends pas :(
A moins que je n'ai fait une bourde ... comme je m'y connais pas encore en basic, ça n'aurait rien d'étonnant ...
Voici le listing du programme :
10 BORDER 0: PAPER 0: CLS
20 CIRCLE INK RND*6,RND*80;120+RND*8,80+RND*6,RND*80
30 BEEP 0.1,RND*60
40 IF RND>.9 THEN GO TO 60 (la fameuse ligne qui me fait des ennuis ;-))
50 GO TO 20
60 FOR y=-2 TO 4
70 FOR x=0 TO 6
80 BORDER x
90 BEEP .05,x*y
100 NEXT x
110 NEXT y
120 RUN
Je précise que comme je bloque sur le THEN de la ligne 40, je n'ai pas pu aller jusqu'au bout du porgramme.
A ton avis, le RND qui apparait dans les premières lignes, c'est une variable à rentrer au clavier ou la fonction RND qui est accessible par les touches "extended mode+T" ?
Savant fou spécialiste en coups tordus et foireux ;-)

J'ai un moog !! Enfin ... Presque ;)

Image Image

Avatar de l’utilisateur
coimbrap
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4090
Inscription : 04 juil. 2002 14:42
Localisation : Nantes
Contact :

Message par coimbrap » 02 févr. 2004 21:42

Un truc tout bête, RND c'est bien la fonction RANDOM, donc un fonction BASIC, donc ne peut pas être une variable. Essaye de modifier RND en RMD pour voir...

Avatar de l’utilisateur
Carl
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2542
Inscription : 04 janv. 2003 00:47
Localisation : www.dole.org
Contact :

Message par Carl » 02 févr. 2004 22:21

:arrow: à lire, Mister Octopus

Fonction RND , à saisir en extended mode !

E (for Extended) mode is used to obtain further characters, mostly
tokens. It is entered by pressing the EXTEND MODE key, and lasts for
only one character (or key depression) thereafter. Whenever the E
cursor appears, the next key pressed will be interpreted as follows...


RANDOMIZE
RND

This section deals with the keywords RND and RANDOMIZE.

In some ways RND is like a function - it does calculations and
produces a result. It is unusual in that it does not need an argument.

Each time you use it, its result is a new random number between 0 and
1. (Sometimes it can take the value 0, but never 1.)

Try...

10 PRINT RND
20 GO TO 10

...to see how the answer varies. Can you detect any pattern? You
shouldn't be able to - 'random' means that there is no pattern.

Actually, RND is not truly random, because it follows a fixed sequence
of 65536 numbers. However, these are so thoroughly jumbled up that
there are at least no obvious patterns, and we say that RND is
pseudo-random.

RND gives a random number between 0 and 1, but you can easily get
random numbers in other ranges. For instance, '5*RND' is between 0 and
5, and '1.3+0.7*RND' is between 1.3 and 2. To get whole numbers, uses
INT (remembering that INT always rounds down) as in '1+INT(RND*6)',
which we shall use in a program to simulate dice. 'RND*6' is in the
range 0 to 6, but since it never actually reaches 6, 'INT(RND*6)' is
0, 1, 2, 3, 4 or 5.

Here is the program...

10 REM dice throwing program
20 CLS
30 FOR n=1 TO 2
40 PRINT 1+ INT ( RND *6);" ";
50 NEXT n
60 INPUT a$: GO TO 20

Press ENTER each time you wish to 'throw' the dice.

The RANDOMIZE statement may be used to make RND start off at a
definite place in its sequence of numbers, as you can see with this
program...

10 RANDOMIZE 1
20 FOR n=1 TO 5: PRINT RND ,: NEXT n
30 PRINT: GO TO 10

After each execution of 'RANDOMIZE 1', the RND sequence starts off
again with 0.0022735596. You can use other numbers between 1 and 65535
in the RANDOMIZE statement to start the RND sequence off at different
places.

If you had a program with RND in it and it also had some mistakes that
you had not found, then it would help to use RANDOMIZE like this so
that the program behaved the same way each time you ran it.

RANDOMIZE used on its own (or RANDOMIZE 0) have a different effect -
they really do randomise RND - you can see this in the next program...

10 RANDOMIZE
20 PRINT RND : GO TO 10

The sequence you get here is not very random, because RANDOMIZE uses
the time since the +3 was switched on. As this has gone up by the same
amount each time that RANDOMIZE is executed, the next RND does more or
less the same. You would get better 'randomness' by replacing 'GO TO
10' by 'GO TO 20'.

Here is a program to toss coins and count the numbers of heads and
tails...

10 LET heads=0: LET tails=0
20 LET coin= INT ( RND *2)
30 IF coin=0 THEN LET heads=heads+1
40 IF coin=1 THEN LET tails=tails+1
50 PRINT heads;",";tails,
60 IF tails <> 0 THEN PRINT heads/tails;
70 PRINT: GO TO 20

The ratio of heads to tails should become approximately 1 if you go on
long enough, because in the long run you expect approximately equal
numbers of heads and tails.


Carl

Avatar de l’utilisateur
Professeur_Octopus
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 942
Inscription : 17 oct. 2003 23:38
Localisation : Ormeignies Hainaut (Belgique)
Contact :

Message par Professeur_Octopus » 02 févr. 2004 23:13

Salut,
Carl a écrit ::arrow: à lire, Mister Octopus
On dirait que j'ai fâché Carl :roll: ;-) (Note : le programme que j'ai écrit ci-dessus a été pompé directement du ZX Spectrum+ Gebruikshandleiding ;-) que j'ai eu avec le micro, je n'en suis pas l'auteur et je n'y suis pour rien si une erreur a été commise dans l'utilisation de la fonction RND)
Carl a écrit :Fonction RND , à saisir en extended mode !
Euh ... oui, ça, obtenir RND, il n'y a pas de problème. Mon néerlandais a beau être lacunaire, j'ai réussi à le comprendre :wink:
Non, le problème, c'est que après avoir introduit "IF RND>.9", je suis bloqué en mode L et que j'arrive pas à repasser en mode K pour avoir THEN et GO TO :cry:
Est-ce que ça vient du fait que j'utilise la fonction RND après le if ? Où il y a une astuce que j'ai pas saisie ? Je pige toujours pas et il ne me semble pas avoir trouvé de réponse dans ton post sur RND (très intéressant au demeurant ;-) ) :oops: :(
Savant fou spécialiste en coups tordus et foireux ;-)

J'ai un moog !! Enfin ... Presque ;)

Image Image

Avatar de l’utilisateur
Carl
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2542
Inscription : 04 janv. 2003 00:47
Localisation : www.dole.org
Contact :

Message par Carl » 02 févr. 2004 23:22

Professeur_Octopus a écrit :Salut,
Carl a écrit ::arrow: à lire, Mister Octopus
On dirait que j'ai fâché Carl :roll: ;-)
Mais non :wink: !!!

si tu tapes sur les touches CAPS Shift et 9, tu ne reviens pas en K ?

Les commandes basic + les touches...au clavier
http://home.t-online.de/home/alexander. ... xbasic.htm

Carl

ps : tu pourras remplir ce truc après qlqs heures sur ton spectrum ! :lol:
http://www.nvg.ntnu.no/sinclair/stevo/s ... ecuser.htm
Dernière édition par Carl le 02 févr. 2004 23:31, édité 1 fois.

Avatar de l’utilisateur
Professeur_Octopus
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 942
Inscription : 17 oct. 2003 23:38
Localisation : Ormeignies Hainaut (Belgique)
Contact :

Message par Professeur_Octopus » 02 févr. 2004 23:31

Salut,
Carl a écrit :Mais non :wink: !!!
Ouf ... j'ai eu peur ;-)
Carl a écrit :si tu tapes sur les touches CAPS Shift et 9, tu ne reviens pas en K ?
Ah ? Euh ... bonne question ... pas essayé because que je connaissais pas ce truc-là ...
Si le clavier veut bien réagir normalement, je vais essayer de suite. Sinon, je remettrai le couvert demain après-midi. Je te tiens au courant de toute façon ...
Carl a écrit :Les commandes basic + les touches...au clavier
http://home.t-online.de/home/alexander. ... xbasic.htm
8) intéressant cette URL ... je l'avais pas vue tout de suite ... :arrow: signets ;-)
Savant fou spécialiste en coups tordus et foireux ;-)

J'ai un moog !! Enfin ... Presque ;)

Image Image

Avatar de l’utilisateur
Carl
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2542
Inscription : 04 janv. 2003 00:47
Localisation : www.dole.org
Contact :

Message par Carl » 02 févr. 2004 23:37


Avatar de l’utilisateur
Professeur_Octopus
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 942
Inscription : 17 oct. 2003 23:38
Localisation : Ormeignies Hainaut (Belgique)
Contact :

Message par Professeur_Octopus » 02 févr. 2004 23:58

Salut,
Ca a l'air pas mal en effet ... je regarderai demain ... c'est bientôt l'heure des dessins animés ;-)
Et je crois que je vais créer un répertoire spécial Sinclair dans mes signets 8) :wink:
Sinon ... la combinaison de touches "caps shift+9" me permet de basculer en mode G (heureusement, la touche "graphe" a l'air de déconner aussi :( ) mais pas de revenir en K après if ... comprend toujours pas ...
Je retourne voir ... peut-être que les nappes sont réveillées maintenant ;-)
Savant fou spécialiste en coups tordus et foireux ;-)

J'ai un moog !! Enfin ... Presque ;)

Image Image

Avatar de l’utilisateur
coimbrap
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4090
Inscription : 04 juil. 2002 14:42
Localisation : Nantes
Contact :

Message par coimbrap » 03 févr. 2004 00:10

T'as essayé de ne pas taper RND et de le changer en RMD juste pour voir ?

Avatar de l’utilisateur
Professeur_Octopus
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 942
Inscription : 17 oct. 2003 23:38
Localisation : Ormeignies Hainaut (Belgique)
Contact :

Message par Professeur_Octopus » 03 févr. 2004 00:19

Salut,
coimbrap a écrit :T'as essayé de ne pas taper RND et de le changer en RMD juste pour voir ?
Pas encore ... je ferai ça demain, là, j'en ai un peu marre ...
Ce qui me chiffonne, c'est qu'apparement, c'est bien la fonction RND qui est nécessaire et pas une variable rnd quelconque ... :?
Et si je glisse un : en cours de ligne, j'ai bien accés au mode K mais toujours pas à THEN mais uniquement à GO TO qui est sur la même touche mais au dessus de THEN ...
Comprends pas ... dites, j'y pense, est-ce qu'un de vous deux (Charles ou Carl ou les 2) pourrait se connecter sur le chat demain après-midi ? Qu'on puisse tenter de résoudre ça en discutant en direct ... ce serait peut-être plus facile et plus rapide ? Non ?
Savant fou spécialiste en coups tordus et foireux ;-)

J'ai un moog !! Enfin ... Presque ;)

Image Image

Potrzebie
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 10726
Inscription : 09 mars 2003 17:23
Localisation : Vendée - France
Contact :

Message par Potrzebie » 03 févr. 2004 00:22

pour rire, comme ca, c est un basic Microsoft sur le spectrum ?
Image

Avatar de l’utilisateur
coimbrap
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4090
Inscription : 04 juil. 2002 14:42
Localisation : Nantes
Contact :

Message par coimbrap » 03 févr. 2004 00:23

Peux pas, pas accès au chat du boulot.
Mais j'essaierai de taper ça sur mon +2...
En tous les cas, en toute logique, je ne pense pas que l'éditeur du Spectrum accepte RND comme variable. Pour lui, cela restera une commande BASIC. A mon avis si tu changes le nom de ta variable, ça passera...

Répondre

Revenir vers « Sinclair »