Après avoir trimé sur cet utilitaire, GEOGEBRA sur Z80 est enfin né. Mais son code n'est certainement pas optimisé, et comme je vois pas en quoi, je préfère m'en référer à des professionnels...
Mon code, le voici :
- Code: Tout sélectionner
:Degree
:GridOff
:PlotsOff
:FnOff
:Full
:ClrDraw
:AxesOff
:0→Xmin
:94→Xmax
:0→Ymax
:‾62→Ymin
:CoordOff
:Lbl D
:ClrHome
:Text(57,4,"A+
:Line(18,‾58,32,‾61
:Text(57,40,"FIG^
:Text(57,60,"OPT^
:Text(57,79,"MES^
:Goto 1
:ClrHome
:Lbl 1
:While 1
:getKey→K
:If K=11
:Then
:Input
:Pt-On(X,Y,3
:End
:If K=12
:Then
:Input
:Pt-On(X,Y,2
:X→A
:Y→B
:Input
:Line(A,B,X,Y
:Pt-On(X,Y,2
:End
:If K=13
:Then
:Menu("FIGURES","CERCLE",2,"TRIANGLE",3,"PARALLELE",7,"DROITE",8,"MILIEU",9,"PARALLELOGRAMME",50,"RETOUR",30
:Lbl 50
:Input
:X→A
:Y→B
:Pt-On(A,B
:Input
:X→C
:Y→D
:Line(A,B,C,D
:Input
:Line(C,D,X,Y
:Line(X,Y,X-(C-A),Y-(D-B)
:Line(A,B,X-(C-A),Y-(D-B)
:Goto D
:Lbl 9
:Input
:X→A
:Y→B
:Input
:(X+A)/2→X
:(Y+B)/2→Y
:Pt-On(X,Y,3)
:Goto D
:Lbl 8
:Input
:X→A
:Y→B
:Input
:(Y-B)/(X-A)→C
:Y-CX→B
:DrawF C(X)+B
:Goto D
:Lbl 7
:Input
:X→A
:Y→B
:Input
:X→C
:Y→D
:Input
:Pt-On(X,Y,2
:Pt-On(X+(C-A),Y+(D-B),2
:Line(X,Y,X+(C-A),Y+(D-B)
:Goto D
:Lbl 3
:Input
:Pt-On(X,Y,2
:X→A
:Y→B
:Input
:Pt-On(X,Y,2
:Line(A,B,X,Y
:X→C
:Y→D
:Input
:Pt-On(X,Y,2
:Line(A,B,X,Y
:Line(C,D,X,Y
:Goto D
:Lbl 2
:Input
:Pt-On(X,Y,3
:X→A
:Y→B
:Input
:Circle(A,B,√((X-A)²+(Y-B)²)
:Goto D
:End
:If K=15
:Then
:Menu("MESURES","LONGUEUR",20,"ANGLE",21,"RETOUR",30
:Lbl 21
:Input
:X→A
:Y→B
:Input
:√((X-A)²+(Y-B)²)→L
:X→C
:Y→D
:Input
:√((X-A)²+(Y-B)²)→H
:√((X-C)²+(Y-D)²)→M
:Disp "ANGLE°",cos<sup>-1</sup>((H²-M²-L²)/(‾2ML)
:Pause
:DispGraph
:Goto D
:Lbl 20
:Input
:X→A
:Y→B
:Input
:ClrHome
:Disp "LONGUEUR",√((X-A)²+(Y-B)²)
:Pause
:DispGraph
:Goto D
:End
:If K=14
:Then
:Menu("OPTIONS","OUVRIR",4,"SAUVER",5,"EFFACER",6,"QUITTER",10,"TEXTE",40,"RETOUR",30
:Lbl 40
:Input
:Input "TEXTE : ",Str1
:Text(‾Y,X,Str1
:Goto D
:Lbl 30
:Goto D
:Lbl 10
:Menu("SAUVER ?","OUI",55,"NON",56
:Lbl 55
:StorePic 9
:Goto 56
:Lbl 56
:ClrDraw
:ZStandard
:CoordOn
:AxesOn
:Disp
:Stop
:Lbl 4
:RecallPic 9
:Goto D
:Lbl 5
:StorePic 9
:Goto D
:Lbl 6
:prgmGEOGEBRA
:End
:End
:Goto 1
Une idée ?