![]() |
LG KS 360
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Avec le kit MidletPASCAL 2.02, on peut se passer du JAVA et écrire directement en Pascal une application pour portables. Cet environnement de programmation
génère directement du code JAVA à partir d'une programmation Pascal classique. Vous obtenez les deux fichiers JAD et JAR pour faire tourner votre application
sur le téléphone. Pour profiter de l'option RUN vous aurez besoin de l'émulateur de téléphone qui se trouve intégré au WTK de SUN et téléchargeable ici! |
![]() |
![]() L'écran de titre de mon Master Mind |
Exemple avec le Master Mind J'ai écrit une petite application dont je vous livre ici le projet complet:
Voir le code source. |
![]() Le plateau du jeu |
![]() |
Voici l'écran de démarrage du CellularBASIC enfin adapté!
Le menu est complet, il permet d'éditer un programme, de le sauver, de le charger et bien sûr, de l'exécuter. |
Une petite image de l'édition d'un programme. Sur ce portable, il est certain que le clavier complet est un atout non négligeable.
On regrettera pourtant que certains symboles soient un peu difficiles à taper (=, ", parenthèses). Sinon, préparer le source sur PC (fichier format texte) et le sauvegarder sur la MicroSD dans le répertoire ZAM avec l'extention *.ZAM! Ainsi l'édition sera facilitée. Il se chargera sans problème dans le CellularBASIC. L'éditeur du Basic pose problème sur le KS360 car il semblerait que le source soit limité à 512 octets lors de l'édition (même si le texte chergé peut atteindre plusieurs Ko, dès qu'on édite seules les 512 premiers restent à l'écran). J'ai résolu ce problème en écrivant un petit éditeur en MidletPascal (voir plus bas). |
![]() |
![]() |
Un exemple de programme: sub main CLS FOR I = 1 TO 50 X = INT(RND * width) Y = INT(RND * height) R = INT(RND * 50) if R < 17 then FILLON else FILLOFF end if color(rnd*256,rnd*256,rnd*256) CIRCLE (X, Y, R) NEXT I end sub |
Le fameux problème des huit reines: Cliquer pour le source. sub main t=timemilli q=0 : i=0 : sol=0 cls : print "Recherche..." while i<>-2 q=q+1 if q=9 then call dessin else r(q)=1 end if i=-1 while i=-1 if q<9 then s(q)=q+r(q) : d(q)=q-r(q) i=1 : p=q while i<p if r(i)=r(p) or s(i)=s(p) or d(i)=d(p) then i=-1 : p=-1 else |
![]() (l'écran affiche 311 pour une précédente version). |
i=i+1 end if wend else q=8 end if if i=-1 then p=1 while p=1 if r(q)<8 then p=0 else q=q-1 if q=0 then p=0 end if end if wend if q=0 then i=-2 else r(q)=r(q)+1 end if end if wend wend end sub |
sub dessin cls : sol=sol+1 x=(width-160)/2 : y=(height-160)/2 color(255,0,0) : filloff : box(x-1,y-1,162,162) color(200,200,200) : fillon : box(x,y,160,160) color(120,0,0) : c=0 for k=x to x+140 step 20 for j=y to y+140 step 20 if c=0 then box(k,j,20,20) end if c=1-c next j c=1-c next k color(0,0,255) : x=x-10 : y=y-10 for k=1 to 8 circle(x+k*20,y+r(k)*20,7) next k color(255,255,255) clt : print sol print int((timemilli-t)/100)/10 end sub |
![]() |
A l'AIDE! Ce BASIC n'a pas d'instruction INKEY$! J'ai été incapable d'en ajouter une malgré mes recherches sur les Canvas de Java. Si quelqu'un pouvait s'y atteler... |
Pour pallier aux défauts de l'éditeur du CellularBASIC, et notemment la limite des 512 octets, voici un petit éditeur de textes
que j'ai écrit en MidletPASCAL. Il est basé sur le principe d'un éditeur russe TextEditor (ce dernier posait d'énormes problèmes
car on devait confirmer les opérations de fichiers à tout bout de champ): Le code source apparait, on peut naviguer dedans et lorsqu'on choisit EDIT, seules les 6 lignes à partir du curseur sont chargées dans une boite d'édition. On peut écrire, corriger, effacer, puis ce bloc est réinséré avec la commande ACCEPT. |
![]() |
![]() |
Vous pouvez télécharger MPedit. L'archive contient le dossier complet du projet:
|