fiche initiation à PB, votre avis?!

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Huitbit
Messages : 940
Inscription : jeu. 08/déc./2005 5:19
Localisation : Guadeloupe

fiche initiation à PB, votre avis?!

Message par Huitbit »

(post utilisant la v3.94 pour la v4 voir plus bas...)

Hello, ev'rybady

Etant débutant, je ne peux pas me permettre de proposer des cours d'infos à mes élèves!!! :cry: .
Il y a suffisamment de documents crées par des gens compétents sur le net! :P

Par contre je compte faire une série de fiches d'initiation.
Chaque fiche permettrait d'assimiler une notion ou un groupe de notions.
Aucune connaissance particulière n'est requise(à part l'addition et la multiplication!)

J'ai testé cette fiche l'année dernière avec des élèves de seconde, ça m'a donné un petit aperçu:
Certains groupes, en quelques minutes avaient fait quasiment toute la fiche + de nouveaux programmes en modifiant les anciens.
Par contre certains restaient bloqués au premier programme sur des fautes de frappe 8O

Les fiches se présentent sous forme de feuille A4 recto verso(j'ai pas réussi à poster le fichier *.doc :mad: ).
La fiche n°2(en cours) doit porter sur le mode console.

Cette première fiche permet de faire des dessins dès la première séance.
En effet, quand on est jeune est impatient :roll: on aime bien voir le résultat tout de suite!
Si je commence par des listes de chiffres ça peut en refroidir certains!
J'utilise des delay() sur la fiche n°1 car la notion de boucle du programme principal n'a pas été abordée (fiche 2 mode console, intoduction de quelques mots clés de base )


Voilà la soluce pour ceux qui n'arriveraient pas à faire la fiche :lol:

Code : Tout sélectionner

;Exercice n°1
OpenWindow(1,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput())
Circle(200,200,100,RGB(255,0,0))
StopDrawing()
Delay(1000)
;Exercice n°2
OpenWindow(2,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput())
DrawingMode(4)
Circle(200,200,100,RGB(255,0,0))
StopDrawing()
Delay(1000)
;Exercice n°3
OpenWindow(3,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput())
For i = 1 To 4
  Circle(100+50*i,200,25,RGB(255,0,0))
Next i 
StopDrawing()
Delay(1000)
;Exercice n°4
OpenWindow(4,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput())
DrawingMode(4)
For i = 1 To 4
  Circle(200,200,25+i*25,RGB(255,0,0))
Next i 
StopDrawing()
Delay(1000)
;Exercice n°5
OpenWindow(5,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput())
For i = 1 To 4
  For j=1 To 3
    Circle(100+50*i,100+50*j,25,RGB(255,i*50,j*50))
  Next j
Next i 
StopDrawing()
Delay(1000)
;Exercice n°6
OpenWindow(6,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput())
For i = 0 To 19 
  Circle(10+i*20,180,10,RGB(255,0,0))
Next i 
For i = 0 To 19 Step 2
   Circle(10+i*20,200,10,RGB(255,0,0))
Next i 
StopDrawing()
Delay(1000)
;Exercice n°7
OpenWindow(7,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput())
For i = 0 To 400 Step 10
  LineXY(0,i,400,i,RGB(0,0,255))
  LineXY(i,0,i,400,RGB(0,0,255))
Next i 
StopDrawing()
Delay(1000)
;Exercice n°8
OpenWindow(8,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput())
For i=0 To 100 Step 2
Circle(200,200,100-i,RGB(55+2*i,55+2*i,55+2*i))
Next i
StopDrawing()
Delay(1000)
;damier
OpenWindow(8,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput())
For i = 0 To 320 Step 80
  For j=0 To 320 Step 80
    Box(i,j,40,40,RGB(255,255,255))
    Box(i+40,j,40,40,RGB(0,0,0))
    Box(i+40,j+40,40,40,RGB(255,255,255))
    Box(i,j+40,40,40,RGB(0,0,0))
  Next j
Next i 
StopDrawing()
Delay(1000)
; IDE Options = PureBasic v3.94 (Windows - x86)
; CursorPosition = 16
; Folding = -

Voilà le copier-coller de la fiche( la présentation papier est différente)


Enoncé
Ouvrez le logiciel Purebasic puis tapez les exercices suivant en respectant les consignes.
( vous pourrez utiliser la fonction copier-coller pour ne pas retaper ceraines parties du programme !)
IMPORTANT : IL N’EST PAS NECESSAIRE DE RECOPIER LES COMMENTAIRES PLACES APRES LE POINT VIRGULE


Exercice n°1

Code : Tout sélectionner

OpenWindow(1,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput());  commence à dessiner dans la fenêtre !
Circle(200,200,100,RGB(255,0,0)); dessine un disque rouge
StopDrawing(); arrête de dessiner!
Delay(1000); affiche la fenêtre pendant 1000 ms c’est à dire 1 s !
A quoi sert la fonction “ OpenWindow(.........)” ?
Comment modifier la couleur du disque ?

Exercice n°2

Code : Tout sélectionner

OpenWindow(1,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput())
DrawingMode(4)
Circle(200,200,100,RGB(255,0,0))
StopDrawing()
Delay(1000)
Comparez les exercices n°1 et n°2, quelle est la ligne responsable du changement ?

Exercice n°3

Code : Tout sélectionner

OpenWindow(1,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput())
For i = 1 To 4 ; pour i=1 à 4 dessine un disque en changeant sa position
  Circle(100+50*i,200,25,RGB(255,0,0))
Next i ; tant que i n’est pas égal à 4, on recommence ! 
StopDrawing()
Delay(1000)
Complétez: « i » est une ................ car sa valeur peut changer.
Comment modifier le tracé des disques pour qu’ils s’alignent verticalement ?
Le « couple » For...... Next est appelé une ............. .

Exercice n°4

Code : Tout sélectionner

OpenWindow(1,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput())
DrawingMode(4)
For i = 1 To 4
  Circle(200,200,25+i*25,RGB(255,0,0))
Next i 
StopDrawing()
Delay(1000)
Quelle caractéristique du cercle est modifiée ici ?

Exercice n°5

Code : Tout sélectionner

OpenWindow(1,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput())
For i = 1 To 4
  For j=1 To 3
    Circle(100+50*i,100+50*j,25,RGB(255,i*50,j*50))
  Next j
Next i 
StopDrawing()
Delay(1000)
Quelles précautions doit-on prendre lorsqu’on utilise des boucles imbriquées (boucles avec les variables i et j)?

Exercice n°6

Code : Tout sélectionner

OpenWindow(1,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput())
For i = 0 To 19 
  Circle(10+i*20,180,10,RGB(255,0,0)) ;dessine une première série de disques 
Next i 
For i = 0 To 19 Step 2
   Circle(10+i*20,200,10,RGB(255,0,0)); dessine une deuxième série de disques
Next i 
StopDrawing()
Delay(1000)
Est-ce que cela pose un problème que la variable i soit utilisée dans plusieurs boucles ?
A quoi sert l’instruction « Step 2 » ?

Exercice n°7

Code : Tout sélectionner

OpenWindow(1,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput())
For i = 0 To 400 Step 10
  LineXY(0,i,400,i,RGB(0,0,255)) ; trace une série de droites parallèles horizontales
  LineXY(i,0,i,400,RGB(0,0,255)); trace  une série de droites parallèles verticales
Next i 
StopDrawing()
Delay(1000)
Combien de droites contient une série ?

Exercice n°8

Code : Tout sélectionner

OpenWindow(1,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput())
For i=0 To 100 Step 2
Circle(200,200,100-i,RGB(55+2*i,55+2*i,55+2*i))
Next i
StopDrawing()
Delay(1000)
Que représentent les valeurs présentes dans la fonction « RGB(..,..,...) » ?
Dans quel intervalle se trouvent-elles ?

Un peu de réflexion...

Code : Tout sélectionner

OpenWindow(1,0,0,400,400,#PB_Window_WindowCentered,"Le damier")
StartDrawing(WindowOutput())
For i = .... To ...... Step .......
  For j=..... To.......... Step.........
    Box(........,.......,40,40,RGB(255,255,255))
    Box(........,.......,40,40,RGB(0,0,0))
    Box(........,.......,40,40,RGB(255,255,255))
    Box(........,.......,40,40,RGB(0,0,0))
  Next j
Next i 
StopDrawing()
Delay(1000)
On veut dessiner un damier (10 cases*10 cases).
Chaque case fait 40 unités de largeur et 40 unités de hauteur.
Chercher dans l’aide des informations sur la fonction « Box(.....) » puis compléter le programme ci-dessus !
Toutes les idées d'amélioration sont les bienvenues
Si vous avez des idées de fiches...
Je posterai les fiches sur le forum à chaque fois qu'elles seront prêtes!

PS: je me suis attaqué au programme "moulinette" (c'est plutôt lui qui m'a attaqué :lol: ), je rame ENORMEMENT, mais pour l'instant j'embête personne car je veux voir comment je peux me débrouiller seul avec l'aide :wink:
Dernière modification par Huitbit le lun. 02/oct./2006 4:15, modifié 2 fois.
Elevé au MSX !
bernard13
Messages : 1221
Inscription : mer. 05/janv./2005 21:30

Message par bernard13 »

excellent idée
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

Wow les veinards tes élèves !! apprendre à faire joujou avec PureBasic, c'est que du bonheur :)


Pourquoi tu n'utilises pas la version 4 ?

C'est quoi comme cours ? il y a un objectif à atteindre ? un programme particulier à suivre ? ou c'est juste un cours d'éveil à l'informatique ?
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
brossden
Messages : 822
Inscription : lun. 26/janv./2004 14:37

Message par brossden »

Bonjour
Qu'entends tu par "moulinette" ?

Le code qui suit est la simple adaptation pour la version 4 de PB pour ceux qui ont des difficultés à adapter la chose ! ( Juste une petite modif au niveau du titre des fenêtres successives )

Code : Tout sélectionner

;Exercice n°1
OpenWindow(1,0,0,400,400,"Initiation 1",#PB_Window_ScreenCentered )
StartDrawing(WindowOutput(1))
Circle(200,200,100,RGB(255,0,0))
StopDrawing()
Delay(1000)
;Exercice n°2

OpenWindow(2,400,0,400,400,"Initiation 2",#PB_Window_WindowCentered)

StartDrawing(WindowOutput(2))
DrawingMode(4)
Circle(200,200,100,RGB(255,0,0))
StopDrawing()
Delay(1000)

;Exercice n°3
OpenWindow(3,0,0,400,400,"Initiation 3",#PB_Window_WindowCentered)
StartDrawing(WindowOutput(3))
For i = 1 To 4
  Circle(100+50*i,200,25,RGB(255,0,0))
Next i
StopDrawing()
Delay(1000)

;Exercice n°4
OpenWindow(4,0,0,400,400,"Initiation 4",#PB_Window_WindowCentered)
StartDrawing(WindowOutput(4))
DrawingMode(4)
For i = 1 To 4
  Circle(200,200,25+i*25,RGB(255,0,0))
Next i
StopDrawing()
Delay(1000)

;Exercice n°5
OpenWindow(5,0,0,400,400,"Initiation 5",#PB_Window_WindowCentered)
StartDrawing(WindowOutput(5))
For i = 1 To 4
  For j=1 To 3
    Circle(100+50*i,100+50*j,25,RGB(255,i*50,j*50))
  Next 
Next 
StopDrawing()
Delay(1000)
;Exercice n°6
OpenWindow(6,0,0,400,400,"Initiation 6",#PB_Window_WindowCentered)
StartDrawing(WindowOutput(6))
For i = 0 To 19
  Circle(10+i*20,180,10,RGB(255,0,0))
Next i
For i = 0 To 19 Step 2
  Circle(10+i*20,200,10,RGB(255,0,0))
Next i
StopDrawing()
Delay(1000)
;Exercice n°7
OpenWindow(7,0,0,400,400,"Initiation 7",#PB_Window_WindowCentered)
StartDrawing(WindowOutput(7))
For i = 0 To 400 Step 10
  LineXY(0,i,400,i,RGB(0,0,255))
  LineXY(i,0,i,400,RGB(0,0,255))
Next i
StopDrawing()
Delay(1000)
;Exercice n°8
OpenWindow(8,0,0,400,400,"Initiation 8",#PB_Window_WindowCentered)
StartDrawing(WindowOutput(8))
For i=0 To 100 Step 2
  Circle(200,200,100-i,RGB(55+2*i,55+2*i,55+2*i))
Next i
StopDrawing()
Delay(1000)
;damier
OpenWindow(9,0,0,400,400,"Initiation 9",#PB_Window_WindowCentered)
StartDrawing(WindowOutput(9))
For i = 0 To 320 Step 80
  For j=0 To 320 Step 80
    Box(i,j,40,40,RGB(255,255,255))
    Box(i+40,j,40,40,RGB(0,0,0))
    Box(i+40,j+40,40,40,RGB(255,255,255))
    Box(i,j+40,40,40,RGB(0,0,0))
  Next j
Next i
StopDrawing()
Delay(1000)
; IDE Options = PureBasic v4.00(Windows - x86)
; CursorPosition = 16
; Folding = -
Denis

Bonne Jounée à tous
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

excuse moi :oops:
je ne suis pas arrivé a trouver ça !! :lol: :lol:
Un peu de réflexion...
Code:
OpenWindow(1,0,0,400,400,#PB_Window_WindowCentered,"Le damier")
StartDrawing(WindowOutput())
For i = .... To ...... Step .......
For j=..... To.......... Step.........
Box(........,.......,40,40,RGB(255,255,255))
Box(........,.......,40,40,RGB(0,0,0))
Box(........,.......,40,40,RGB(255,255,255))
Box(........,.......,40,40,RGB(0,0,0))
Next j
Next i
StopDrawing()
Delay(1000)
On veut dessiner un damier (10 cases*10 cases).
Chaque case fait 40 unités de largeur et 40 unités de hauteur.
Chercher dans l’aide des informations sur la fonction « Box(.....) » puis compléter le programme ci-dessus
pourrai tu me donner la soluce ??

moi j'y arrive comme ça


InitSprite ()
InitKeyboard ()
OpenWindow (1,0,0,400,400, "Le damier" , #PB_Window_WindowCentered|#PB_Window_SystemMenu )
OpenWindowedScreen ( WindowID (1),0,0,400,400,1,1,1)
Repeat
     ExamineKeyboard ()
    Event= WindowEvent ()
    a= #False
     StartDrawing ( ScreenOutput ())
     For i = 0 To 400 Step 40
         For j=0 To 400 Step 40
             If a= #True
                a= #False
                couleur= RGB (0,0,0)
             Else
                a= #True
                couleur= RGB (255,255,255)
             EndIf
             Box (j,i,40,40,couleur)
         Next j
     Next i
     StopDrawing ()
     FlipBuffers ()
Until KeyboardPushed ( #PB_Key_All ) Or Event= #PB_Event_CloseWindow





sinon avec ton code j'arrive seulement a faire des bandes verticales
mais pas possible de faire un damier !! 8O :?
d'ailleurs cela ne me semble pas possible !!
car tu fait afficher 4 cases d'un coup , puis a la ligne tu recomence le meme dessin !! peut pas etre Damier cette affaire, il me semble :lol:
en plus 4 cases dessiner d'un coup pour faire 10 cases de larges !! hum !

tu met les 4 premieres, puis les 4 suivantes (ok ça fait 8 cases de dessiné) , mais comment en dessinant 4 cases de plus, on peut en faire 10 , je pense que cela fera 12 cases de déssiné non ?

8O
Avatar de l’utilisateur
Huitbit
Messages : 940
Inscription : jeu. 08/déc./2005 5:19
Localisation : Guadeloupe

extrait du programme officiel

Message par Huitbit »

Extrait du programme de la section MPI(mesures physique et informatique) de la classe de seconde( option 3h par semaine):

Partie tronc commun (environ 72 heures)

Partie thématique (environ 18 heures)
Cette partie est laissée à la liberté de l'enseignant en fonction des spécificités locales et de l'intérêt des élèves. Elle pourra être l'occasion d'utiliser un pont de Wheatstone pour conditionner un capteur passif, des portes logiques, de montrer le principe de l'additionneur, de mettre en œuvre un actionneur, d'utiliser quelques notions de programmation (algorithme élémentaire : analyse d'un problème simple, instruction conditionnelle alternative ; langage de programmation associé au tableur utilisé en classe.). La partie Thématique ne pourra donner lieu à des compétences que dans le prolongement de celles du programme du tronc commun.
Voilà! Avec cette section j'ai le droit! :P
Avec les autres classes, je compte leur en parler, quand 4 ou 5 fiches seront prêtes(si vous avez des idées de mini-exercices ou mini énigmes!), je les mettrai sur le site du lycée.

Pourquoi tu n'utilises pas la version 4 ?
C'est une fiche de l'année dernière, cette année j'utiliserai PB v4 :wink: puisque le lycée a acheté plusieurs licences.
Bonjour
Qu'entends tu par "moulinette" ?
voir le post
Une moulinette à programme, ça existe ?
Cet un utilitaire pour voir "l'arborescence" d'un programme(liens entre prog,sous-programmes, constantes, variables...., modif en live des extraits du prog etc...).
Un de mes programmes (Pure_guitare) a dépassé 1200 lignes, je faisais des appels inutiles de procédure(double ou triple appels)! Ca marche quand même, mais bon!
Donc j'ai commencé depuis deux jours ce programme, comme j'ai dit, je rame mais je pense que le résultat aidera les débutants et les gens désordonnés :wink:
Peut-être que ça existe, mais j'aimerais essayer de le faire! Pour l'instant, j'essaye de faire un maximum tout seul(j'espère que mon code dépassera 10 lignes :lol: :lol: )

Le code qui suit est la simple adaptation pour la version 4 de PB pour ceux qui ont des difficultés à adapter la chose ! ( Juste une petite modif au niveau du titre des fenêtres successives )
Merci M'sieur :D
excuse moi
je ne suis pas arrivé a trouver ça !!


Comme c'est la première fiche, je n'utilise pas encore les "if.....endif" (voir bientôt deuxième fiche):wink: ,faut pas faire trop fort du premier coup!
Au fait ces 4 cases sont un bloc de 2*2, il faut donc 5 blocs!

Mais, tu as raison ça prête à confusion, je détaillerai plus l'énoncé!.
Je les préviens quand même:"un peu de réflexion!" :lol:


Hasta la vista!

PS: j'ai des pwoblem' pour aller sur le forum, ces temps-ci, "il" me met souvent:"impossible d'afficher la page" :?
Dernière modification par Huitbit le dim. 01/oct./2006 16:07, modifié 2 fois.
Elevé au MSX !
brossden
Messages : 822
Inscription : lun. 26/janv./2004 14:37

Message par brossden »

Désolé Dobro mais chez moi ça marche !
je n'ai pas analysé le code, seulement traduit en version 4 Mais tout fonctionne bien !
Denis

Bonne Jounée à tous
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

brossden a écrit :Désolé Dobro mais chez moi ça marche !
je n'ai pas analysé le code, seulement traduit en version 4 Mais tout fonctionne bien !
bon alors quelqu'un me donne la soluce en remplissant les points de l'exercice ?

Code : Tout sélectionner

OpenWindow(1,0,0,400,400,#PB_Window_WindowCentered,"Le damier")
StartDrawing(WindowOutput())
For i = .... To ...... Step .......
For j=..... To.......... Step.........
Box(........,.......,40,40,RGB(255,255,255))
Box(........,.......,40,40,RGB(0,0,0))
Box(........,.......,40,40,RGB(255,255,255))
Box(........,.......,40,40,RGB(0,0,0))
Next j
Next i
StopDrawing()
Delay(1000) 
?????????????????????


a bah oui comme ça ! :lol:


OpenWindow (1,0,0,400,400, "Le damier" , #PB_Window_WindowCentered )
StartDrawing ( WindowOutput (1))
For i = 1 To 400 Step 80
     For j=1 To 400 Step 80
         Box (j,i,40,40, RGB (255,255,255))
         Box (j+40,i,40,40, RGB (0,0,0))
         Box (j,i,40,40, RGB (255,255,255))
         Box (j,i+40,40,40, RGB (0,0,0))
     Next j
Next i
StopDrawing ()
Delay (1000)


:lol: :lol: :lol: :lol:
Avatar de l’utilisateur
Huitbit
Messages : 940
Inscription : jeu. 08/déc./2005 5:19
Localisation : Guadeloupe

Bien!

Message par Huitbit »

Ca vaut au moins un pastaga! :10:
Elevé au MSX !
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

ça m'ennervais de pas comprendre comment faire :lol:

c'est une question de point de vue , je prefere ma methode
(avec les #true/#false) , elle est plus dans ma logique
en utilisant une seul Box() dont on change alternativement la couleur

les "enarques" disent que c'est la methode des "saint cyriens" , que pour faire une omelette un "saint cyrien" va d'abords casser un oeuf
puis le touiller , puis va recommencer avec chaque oeuf :lol:
brossden
Messages : 822
Inscription : lun. 26/janv./2004 14:37

Message par brossden »

Dobro, si tu es puriste ! ( :lol: )

Pourquoi utiliser "#PB_Window_WindowCentered" qui ne sert à rien dans ce cas ! Alors que "#PB_Window_ScreenCentered " est ici adapté !

et pourquoi ne pas faire un seul grand carré blanc puis ne dessiner que les noirs par dessus ( ferais-tu différemment avec un pinceau ?? )

Code : Tout sélectionner

  OpenWindow   (1,0,0,400,400,  "Le damier"   ,  #PB_Window_ScreenCentered )
  StartDrawing ( WindowOutput (1))
  Box(1,1,400,400,RGB(255,255,255))
  For i = 1 To 400 Step 80
    For j=1 To 400 Step 80
      Box (j+40,i,40,40, RGB (0,0,0))
      Box (j,i+40,40,40, RGB (0,0,0))
    Next j
  Next i
  StopDrawing ()
  Delay (3000) 
Aller :jesors:
Denis

Bonne Jounée à tous
Avatar de l’utilisateur
Huitbit
Messages : 940
Inscription : jeu. 08/déc./2005 5:19
Localisation : Guadeloupe

Message par Huitbit »

c'est une question de point de vue , je prefere ma methode
(avec les #true/#false) , elle est plus dans ma logique
en utilisant une seul Box() dont on change alternativement la couleur
Je te rassure, je ferais exactemenent pareil, mais sur la première fiche ils n'ont pas encore vu les conditions :D

Pourquoi utiliser "#PB_Window_WindowCentered" qui ne sert à rien dans ce cas ! Alors que "#PB_Window_ScreenCentered " est ici adapté !

et pourquoi ne pas faire un seul grand carré blanc puis ne dessiner que les noirs par dessus ( ferais-tu différemment avec un pinceau ?? )
J'achète!!! 8)

C'est pour tout cela que j'ai mis cette fiche sur le forum!
Je n'ai pas autant de recul que vous!
:wink:
Merci
Elevé au MSX !
erix14
Messages : 480
Inscription : sam. 27/mars/2004 16:44
Contact :

Message par erix14 »

Pour corser l'affaire tu peux leur proposer l'exercice avec une seule boucle For :

Code : Tout sélectionner

OpenWindow   (1,0,0,400,400,  "Le damier"   ,  #PB_Window_ScreenCentered )
StartDrawing ( WindowOutput (1))
Box(1,1,400,400,RGB(255,255,255))
For i = 0 To 49
          Box (..., ..., 40, 40, RGB (0,0,0))
Next i
StopDrawing ()
Delay (3000) 
Solution :

Code : Tout sélectionner

OpenWindow   (1,0,0,400,400,  "Le damier"   ,  #PB_Window_ScreenCentered )
StartDrawing ( WindowOutput (1))
Box(1,1,400,400,RGB(255,255,255))
For i = 0 To 49
          Box ((i%5)*80+40*(((i+5)/5)%2), 40*(i/5), 40, 40, RGB (0,0,0))
Next i
StopDrawing ()
Delay (3000) 
Avatar de l’utilisateur
Huitbit
Messages : 940
Inscription : jeu. 08/déc./2005 5:19
Localisation : Guadeloupe

Heu...

Message par Huitbit »

Je crois que ça va les énerver :lol: :lol: :lol: :!:

Faut garder ça pour la fiche 97_bis!
Elevé au MSX !
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

@erix14 : M'etonne pas de toi ça :lol:

@brossden : je suis reparti du source de huitbit
l'essentiel est que ça marche :D (Merci quand meme :D )
Répondre