BASIC

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Takeuchi

Pages: [1] 2
1
Last year i noticed the Arduboy from https://www.arduboy.com. Since i'm in love with GLBasic, i would like to compile something for it. Is it possible to add the Arduboy as a supportet device in a future Version?

2
Thanky alot Andy!! Now it works great. (=
I havent recognized that glbasic does not support non-ascii letters.

Would be nice, if Kitty can fix this.

3
In den Projektoptionen. Nimm sonder- leer- zeichen und ziffern aus dem Projektnamen und deiner company.

Das hilft auch nicht, es funktioniert immernoch nicht.

4
Apologies for no German - I can't speak a word of it I'm afraid and have to rely on Google Translate :)

I've had the same problem in the past.  I can't remember what the original cause was but I did try a few things.

Hi Andy, no of your solutions was working. Every Project is compiling fine for Android. There is just this single one, wich is not working. :/ Anyway, thanks for your help. =)

soweit ich mich erinnere liegt das eh an der strafe gottes nach dem turmbau zu babel  :whistle:

Genau. davor hatten wir alle GLBasic gesprochen. :D

5
ja toll  :noggin: jetzt kann ich gar kein projekt mehr für android kompilieren!

neustart und eigener minicode nützen auch nichts .

 :S K :happy:ITTY ! hilfe

Natoll, jetzt fühle ich mich aucj noch schuldig Marmor.  :S
Merkwürdig, das bei dir nun garnichts mehr geht.

Ich habe in meiner Pause den Quellcode nochmal durchsucht.
 Alle Befehle sind korekkt. Alle Grafiken werden richtig geladen.

Nur ne Idee, aber könnte es daran liegen, das ich zuviele Grafiken durch Stretchsprite skalliere?
Dann wäre es aber merkwürdig, das es unter Windows einwandfrei funktioniert.

Die vermutung kommt deshalb, weil alles wunderbar funktioniert hat, bis ich den SUB und die Funktion für das Angeln erstellt habe.

6
ich würde das auch gerne mal testen .

Nachricht wurde gerade abgeschickt.

7
Merkwürdig, das deine Fehlerausgabe sogar anders ist als meine. Ich bin echt ratlos. Mittlerweile funktioneren alle Projekte problemlos, nur bei diesem tritt das Problem auf. :/

8
Das Antivirenprogramm abzuschalten, hat auch nicht geholfen.

Gerne, die PN ist bei dir im Postfach. (=

9
Okay, das heisst auf deutsch? Schliesslich schlägt er dann ja bei kleineren Projekten auch nicht an. Ich versuche es nacher nochmal, wenn er abgeschalten ist.

10
Einen Neustart habe ich auch schon mehrfach durchgeführt. Wenn ich ein einfaches Projekt ala
PRINT "TEST" ,0,0,1
SHOWSCREEN
KEYWAIT

compiliere, klappt alles reibungslos. Sobald der Code etwas komplexer wird, tritt immer der selbe Fehler auf. :/

11
Das Handy ist angeschlossen. Wenn ich mein Tablet anschliesse, tritt das selbe Problem auf.

12
Bis vor kurzem funktionierte das compilieren für Android problemlos.

Als letztes habe ich vor ca. 1 Stunde mein Projekt für Android compiliert.
Circa 30 min später funktionierte es nicht mehr. Der PC war die ganze Zeit über an und es wurde auch nichts von mir gelöscht oder verschoben.


Code: GLBasic [Select]
    *** Configuration: ANDROID ***
precompiling:
GPC - GLBasic Precompiler V.10.104 SN:ed20d2d3 - 2D, WIN32
Wordcount:252 commands
compile+link:
running Android build-script...
BUILD STAGE 1: Compile and pack RELEASE

BUILD FAILED
C:\Programme\GLBasic\Compiler\platform\android\android-sdk-windows\tools\ant\build.xml:771: The following error occurred while executing this line:
C:\Programme\GLBasic\Compiler\platform\android\android-sdk-windows\tools\ant\build.xml:787: null returned: 1

Total time: 5 seconds
.
BUILD STAGE 2: Build DEBUG and install on device

BUILD FAILED
C:\Programme\GLBasic\Compiler\platform\android\android-sdk-windows\tools\ant\build.xml:771: The following error occurred while executing this line:
C:\Programme\GLBasic\Compiler\platform\android\android-sdk-windows\tools\ant\build.xml:787: null returned: 1

Total time: 5 seconds
finished Android build-script.
Android=C:\GLBasic\Folks\distribute\Android
erfolgreich
_______________________________________
*** Fertig ***
Dauer: 16.0 sek. Zeit: 16:59
Erstellen: 1 erfolgreich.  


Quellcode


Code: GLBasic [Select]
  // --------------------------------- //
// Project: Folks
// Start: Monday, April 29, 2013
// IDE Version: 10.202


// SETCURRENTDIR("Media") // go to media files

GETDESKTOPSIZE b,h
SETSCREEN b,h,1
SETCURRENTDIR ("Media")
SETTRANSPARENCY RGB(255,168,236)

SYSTEMPOINTER TRUE

LOADFONT "smalfont.png"    ,0
SETFONT 0

IF h>b
SETORIENTATION 1
SWAP b,h
ENDIF




// Lade alle Medien

GOSUB Media




// Lade alle Variablen

GLOBAL b,h
GLOBAL mx,my,mbl,mbm,mbr,mxspeed,myspeed,mwheel
GLOBAL g1 = 2 // 0=M�nnlich,1=Weiblich
GLOBAL px = b/2
GLOBAL py = h/2
GLOBAL speed = 2 // erh�hen f�r Spielergeschw.
GLOBAL pldir = 4
GLOBAL planim = 0
GLOBAL angeln1 = 0
GLOBAL zeigerx = b/30*3
GLOBAL zeigery = h-h/5
GLOBAL zeigerg  = 30 // erh�hen f�r zeigergeschw.
GLOBAL bewegen  = 0


// W�hle Geschlecht aus


IF g1 = 2 THEN GOSUB Geschlecht


// Hauptprogamm


WHILE TRUE

Maus(0)
Hintergrund(0)
GrafischeOberflaeche(0)
Spieler(0)
Steuerkreuz(0)
Kollisionsabfrage(0)



IF angeln1 = 1 THEN GOSUB Angeln


SHOWSCREEN


WEND





// ------------------------------------------------------------- //
// ---  HINTERGRUND  ---
// ------------------------------------------------------------- //
FUNCTION Hintergrund: numwor$
        // Diese Variablen sind als LOCAL definiert:
        // numwor$

// Grass

STRETCHSPRITE 400,0,0,b/3,h/3
STRETCHSPRITE 400,0+b/3,0,b/3,h/3
STRETCHSPRITE 400,0+b/3*2,0,b/3,h/3

STRETCHSPRITE 400,0,0+h/3,b/3,h/3
STRETCHSPRITE 400,0+b/3,0+h/3,b/3,h/3
STRETCHSPRITE 400,0+b/3*2,0+h/3,b/3,h/3

STRETCHSPRITE 400,0,0+h/3*2,b/3,h/3
STRETCHSPRITE 400,0+b/3,0+h/3*2,b/3,h/3
STRETCHSPRITE 400,0+b/3*2,0+h/3*2,b/3,h/3

// Wasser

STRETCHSPRITE 401,0+b/3*2,0+h/3,b/3,h/3

// Haus

STRETCHSPRITE 11,0+b/20,0+h/20,b/3,h/3

// Zaun

// Vertikaler Zaun auf b
STRETCHSPRITE 12,0,h-h/2.5,b/20,h/20
STRETCHSPRITE 12,0+b/20,h-h/2.5,b/20,h/20
STRETCHSPRITE 12,0+b/20*2,h-h/2.5,b/20,h/20
STRETCHSPRITE 12,0+b/20*3,h-h/2.5,b/20,h/20
STRETCHSPRITE 12,0+b/20*4,h-h/2.5,b/20,h/20
STRETCHSPRITE 12,0+b/20*5,h-h/2.5,b/20,h/20
STRETCHSPRITE 12,0+b/20*6,h-h/2.5,b/20,h/20
STRETCHSPRITE 12,0+b/20*7,h-h/2.5,b/20,h/20
STRETCHSPRITE 12,0+b/20*8,h-h/2.5,b/20,h/20
STRETCHSPRITE 12,0+b/20*9,h-h/2.5,b/20,h/20
STRETCHSPRITE 12,0+b/20*10,h-h/2.5,b/20,h/20
STRETCHSPRITE 12,0+b/20*11,h-h/2.5,b/20,h/20
STRETCHSPRITE 12,0+b/20*12,h-h/2.5,b/20,h/20
STRETCHSPRITE 12,0+b/20*13,h-h/2.5,b/20,h/20 // Zwichenpunkt zum Angeln

STRETCHSPRITE 12,b-b/20*2+b/100,0+h/20*5+h/29,b/20,h/20
STRETCHSPRITE 12,b-b/20*3+b/100,0+h/20*5+h/29,b/20,h/20
STRETCHSPRITE 12,b-b/20*4+b/100,0+h/20*5+h/29,b/20,h/20
STRETCHSPRITE 12,b-b/20*5+b/100,0+h/20*5+h/29,b/20,h/20
STRETCHSPRITE 12,b-b/20*6+b/100,0+h/20*5+h/29,b/20,h/20
STRETCHSPRITE 12,b-b/20*7+b/100,0+h/20*5+h/29,b/20,h/20


STRETCHSPRITE 12,0,h/3,b/20,h/20         // Zaun am Haus unten
STRETCHSPRITE 12,0+b/20,h/3,b/20,h/20    // Zaun am Haus unten
STRETCHSPRITE 12,0+b/20*2,h/3,b/28,h/20  // Zaun am Haus unten
STRETCHSPRITE 12,0+b/20*4,h/3,b/20,h/20  // Zaun am Haus unten
STRETCHSPRITE 12,0+b/20*5,h/3,b/20,h/20  // Zaun am Haus unten
STRETCHSPRITE 12,0+b/20*6,h/3,b/20,h/20  // Zaun am Haus unten
STRETCHSPRITE 12,0+b/20*7,h/3,b/20,h/20  // Zaun am Haus unten


// Horizontaler Zaun auf h

STRETCHSPRITE 13,b-b/20,0,b/110,h/20
STRETCHSPRITE 13,b-b/20,0+h/20,b/110,h/20
STRETCHSPRITE 13,b-b/20,0+h/20*2,b/110,h/20
STRETCHSPRITE 13,b-b/20,0+h/20*3,b/110,h/20
STRETCHSPRITE 13,b-b/20,0+h/20*4,b/110,h/20
STRETCHSPRITE 13,b-b/20,0+h/20*5,b/110,h/20

STRETCHSPRITE 13,b-b/20*7+b/100,0+h/20*6+h/29,b/110,h/20
STRETCHSPRITE 13,b-b/20*7+b/100,0+h/20*7+h/29,b/110,h/20
STRETCHSPRITE 13,b-b/20*7+b/100,0+h/20*8+h/29,b/110,h/20 // Zwichenpunkt zum Angeln


STRETCHSPRITE 13,0+b/20*7+b/20,h/3,b/110,h/20            // Zaun am Haus rechts
STRETCHSPRITE 13,0+b/20*7+b/20,h/3-h/20,b/110,h/20       // Zaun am Haus rechts
STRETCHSPRITE 13,0+b/20*7+b/20,h/3-h/20*2,b/110,h/20     // Zaun am Haus rechts
STRETCHSPRITE 13,0+b/20*7+b/20,h/3-h/20*3,b/110,h/20     // Zaun am Haus rechts
STRETCHSPRITE 13,0+b/20*7+b/20,h/3-h/20*4,b/110,h/20     // Zaun am Haus rechts
STRETCHSPRITE 13,0+b/20*7+b/20,h/3-h/20*5,b/110,h/20     // Zaun am Haus rechts
STRETCHSPRITE 13,0+b/20*7+b/20,h/3-h/20*6,b/110,h/20     // Zaun am Haus rechts
STRETCHSPRITE 13,0+b/20*7+b/20,h/3-h/20*7,b/110,h/20     // Zaun am Haus rechts

// Steg auf Wasser


STRETCHSPRITE 14,0+b/3*2,0+h/80*37,b/8,h/3.5



ENDFUNCTION // HINTERGRUND








// ------------------------------------------------------------- //
// ---  GRAFISCHE OBERFL�CHE  ---
// ------------------------------------------------------------- //
FUNCTION GrafischeOberflaeche: numwor$
        // Diese Variablen sind als LOCAL definiert:
        // numwor$


STRETCHSPRITE 301,0,0,b/15,h/15 // Schlie�en

IF mx>0 AND mx<b-b/15 AND my>0 AND my<0+h/15 AND mbl = (1) AND angeln1 = 0 THEN END

STRETCHSPRITE 302,0+b/15,0,b/15,h/15 // Speichern

STRETCHSPRITE 303,0+b/15*2,0,b/15,h/15 // Foto


STRETCHSPRITE 300,0,h-h/4,b-b/8*3,h/4


IF g1 = 0 THEN STRETCHSPRITE 20,b-b/8*5.3,h-h/3,b/4,h/3 // M�nnlicher Icon
IF g1 = 1 THEN STRETCHSPRITE 21,b-b/8*5.3,h-h/3,b/4,h/3 // Weiblicher Icon


ENDFUNCTION // GRAFISCHE OBERFL�CHE





// ------------------------------------------------------------- //
// ---  SPIELER  ---
// ------------------------------------------------------------- //
FUNCTION Spieler: numwor$
        // Diese Variablen sind als LOCAL definiert:
        // numwor$


        LOCAL dirx,diry

        // Bewege den Spieler

   IF angeln1 = 0
        IF mx>b-b/8*2 AND mx<b-b/8*2+b/8 AND my>h-h/8*3 AND my<h-h/8*3+h/8 AND mbl = (1) THEN diry=-1 // oben
        IF mx>b-b/8*2 AND mx<b-b/8*2+b/8 AND my>h-h/8   AND my<h-h/8+h/8   AND mbl = (1) THEN diry=1 // unten
    IF mx>b-b/8*3 AND mx<b-b/8*3+b/8 AND my>h-h/8*2 AND my<h-h/8*2+h/8 AND mbl = (1) THEN dirx=-1 // links
    IF mx>b-b/8   AND mx<b-b/8+b/8   AND my>h-h/8*2 AND my<h-h/8*2+h/8 AND mbl = (1) THEN dirx=1  // rechts
   ENDIF


        px=px+(speed*dirx)
        py=py+(speed*diry)


        IF diry=-1 AND dirx=0 THEN pldir=0
        IF diry=-1 AND dirx=-1 THEN pldir=1
        IF diry=0 AND dirx=-1 THEN pldir=2
        IF diry=1 AND dirx=-1 THEN pldir=3
        IF diry=1 AND dirx=0 THEN pldir=4
        IF diry=1 AND dirx=1 THEN pldir=5
        IF diry=0 AND dirx=1 THEN pldir=6
        IF diry=-1 AND dirx=1 THEN pldir=7

        IF dirx<>0 OR diry<>0
                planim=planim+1
                IF planim>15 THEN planim=0
        ENDIF

        DRAWANIM 0,16*pldir+planim,px,py

ENDFUNCTION // SPIELER







// ------------------------------------------------------------- //
// ---  GESCHLECHT  ---
// ------------------------------------------------------------- //
SUB Geschlecht:

WHILE g1 = 2

Maus(0)

STRETCHSPRITE 300,0,0,b,h // Pergament

STRETCHSPRITE 20,0+b/10*6,0+h/4,b/4,h/3 // M�nnlicher Spieler
STRETCHSPRITE 21,0+b/12*2,0+h/12*6,b/4,h/3 // Weiblicher Spieler

PRINT "W�hle dein Geschlecht:" ,0+b/10*1.5,0+h/5,1
PRINT "M�nnlich" ,0+b/10*3,0+h/5*2,1
PRINT "Weiblich" ,0+b/10*5,0+h/6*4,1

IF mx>0+b/10*6 AND mx<0+b/10*6+b/4 AND my>0+h/4 AND my<0+h/4+h/3 AND mbl = (1) THEN g1 = 0
IF mx>0+b/12*2 AND mx<0+b/12*2+b/4 AND my>0+h/12*6 AND my<0+h/12*6+h/3 AND mbl = (1) THEN g1 = 1

SHOWSCREEN

WEND

ENDSUB // GESCHLECHT







// ------------------------------------------------------------- //
// ---  ANGELN  ---
// ------------------------------------------------------------- //
SUB Angeln:

   IF angeln1 = 1

     STRETCHSPRITE 500,0,0,b,h // Hintergrund

     STRETCHSPRITE 503,0,h-h/5,b,h/5                     // Leiste im Hintergund
     STRETCHSPRITE 502,b/2-b/30*2,h-h/5.5,b/30*2,h/6     // OK Bereich auf Hintergundleiste


     AngelnZeiger(0)

     IF mbl = (1) AND zeigerx>b/2-b/30*2 AND zeigerx<b/2-b/30*2+b/30*2
       IF mx>b-b/15 AND mx<b-b/15+b/15 AND my>h-h/5.5-h/5 AND my<h-h/5.5-h/5+h/15 THEN angeln1 = 0
      ENDIF

     STRETCHSPRITE 505,b-b/15,h-h/5.5-h/5,b/15,h/15 // Fisch rausziehen! (Icon)

     IF mbr = (1) THEN angeln1 = 0
   ENDIF


ENDSUB // ANGELN





// ------------------------------------------------------------- //
// ---  ANGELNZEIGER  ---
// ------------------------------------------------------------- //
FUNCTION AngelnZeiger: numwor$
        // Diese Variablen sind als LOCAL definiert:
        // numwor$


    LOCAL zax,zay

     IF bewegen =   0
         zax    =  -1
          IF zeigerx = b/30*3 THEN bewegen = 1
       ENDIF

     IF bewegen =   1
         zax    =   1
          IF zeigerx = b-b/30*5 THEN bewegen = 0
       ENDIF

     zeigerx = zeigerx + (zeigerg*zax)



     IF zeigerx<b/30*3   THEN zeigerx = b/30*3
     IF zeigerx>b-b/30*5 THEN zeigerx = b-b/30*5



     STRETCHSPRITE 504,zeigerx,zeigery,b/30*2,h/5          // Zeiger um zu best�tigen





ENDFUNCTION // ANGELNZEIGER




// ------------------------------------------------------------- //
// ---  KOLLISIONSABFRAGE  ---
// ------------------------------------------------------------- //
FUNCTION Kollisionsabfrage: numwor$
        // Diese Variablen sind als LOCAL definiert:
        // numwor$

LOCAL steg = 0


        IF px<0 THEN px=0
        IF py<0 THEN py=0


    // Zaun

         // Oberer rechter Teil

        IF px>b-b/20*7-32 AND py<0+h/20*5+h/29+32 AND steg = 0
          IF px>b-b/20-32 THEN px=b-b/20-32
          IF py>0+h/20*5+h/29-32 THEN py=0+h/20*5+h/29-32
        ENDIF


     // Unterer Teil

        IF px>0 AND py<0+h/20*8+h/29+h/20 AND py>0+h/20*5+h/29+32 AND steg = 0
      IF px>b-b/20*7-32 THEN px=b-b/20*7-32
      IF py>h-h/2.5-32 THEN py=h-h/2.5-32
    ENDIF


     // Unterer Teil 2 (Zaun in der Breite)

    IF px>0-32 AND px<b-b/20*7+62 AND py>h-h/2.5-32 AND steg = 0
          IF  py>h-h/2.5-32 THEN py=h-h/2.5-32
    ENDIF


   // Haus und Umz�unung

    // Unten

   IF py<0+h/20+h/3 AND px<0+b/20*7+b/20-b/110 AND steg = 0
     IF py<0+h/20+h/3 THEN py=0+h/20+h/3
   ENDIF

    // Rechts

   IF py<0+h/20+h/3 AND px<0+b/20*7+b/20 AND steg = 0
     IF px<0+b/20*7+b/20 THEN px=0+b/20*7+b/20
   ENDIF


   // Steg

   IF px>0+b/3*2 AND py>0+h/80*37 THEN steg = 1
     IF steg = 1
      IF px>0+b/3*2+b/12 THEN px=0+b/3*2+b/12
      IF py<0+h/80*37+32 THEN py=0+h/80*37+32
      IF py>h-h/2.5-32 THEN py=h-h/2.5-32

     IF px>0+b/3*2+b/12-1
      STRETCHSPRITE 501,px-8,py-90,98,98
      IF mx>px-8 AND mx<px-8+98 AND my>py-90 AND my<py-90+98 THEN angeln1 = 1

     ENDIF

   ENDIF







ENDFUNCTION // KOLLISIONSABFRAGE






// ------------------------------------------------------------- //
// ---  STEUERKREUZ  ---
// ------------------------------------------------------------- //
FUNCTION Steuerkreuz: numwor$
        // Diese Variablen sind als LOCAL definiert:
        // numwor$

STRETCHSPRITE 304,b-b/8*2,h-h/8*3,b/8,h/8  // oben
STRETCHSPRITE 305,b-b/8*2,h-h/8,b/8,h/8    // unten
STRETCHSPRITE 306,b-b/8*3,h-h/8*2,b/8,h/8  // links
STRETCHSPRITE 307,b-b/8,h-h/8*2,b/8,h/8    // rechts

ENDFUNCTION // STEUERKREUZ







// ------------------------------------------------------------- //
// ---  MAUS  ---
// ------------------------------------------------------------- //
FUNCTION Maus: numwor$
        // Diese Variablen sind als LOCAL definiert:
        // numwor$

   // Schreibe Mausstatus in Variablen
   MOUSESTATE mx, my, mbl, mbr // X Koordinaten, Y Koordinaten, linker Maustaste, rechte Maustaste
   mxspeed = MOUSEAXIS(0) // X Achse (X Geschwindigkeit)
   myspeed = MOUSEAXIS(1) // Y Achse (Y Geschwindigkeit)
   mwheel  = MOUSEAXIS(2) // Mausrad (1 = hoch / -1 = runter)
   mbm     = MOUSEAXIS(5) // mittlere Maustaste

ENDFUNCTION // MAUS





// ------------------------------------------------------------- //
// ---  MEDIA  ---
// ------------------------------------------------------------- //
SUB Media:

// Grafiken

LOADSPRITE "textbox.png"      ,300
LOADSPRITE "beenden.png"      ,301
LOADSPRITE "speichern.png"    ,302
LOADSPRITE "foto.png"         ,303
LOADSPRITE "steuerkreuz1.png" ,304
LOADSPRITE "steuerkreuz2.png" ,305
LOADSPRITE "steuerkreuz3.png" ,306
LOADSPRITE "steuerkreuz4.png" ,307

LOADSPRITE "grass.jpg"        ,400
LOADSPRITE "wasser.png"       ,401

LOADSPRITE "haus.png"         ,11
LOADSPRITE "zaun1.png"        ,12
LOADSPRITE "zaun2.jpg"        ,13
LOADSPRITE "steg.png"         ,14

LOADSPRITE "male.png"         ,20
LOADSPRITE "female.png"       ,21

LOADANIM "spieler.bmp"        ,0,32,32

LOADSPRITE "angeln-hg.jpg"    ,500
LOADSPRITE "angeln-icon.png"  ,501
LOADSPRITE "leiste_ok.jpg"    ,502
LOADSPRITE "leiste.jpg"       ,503
LOADSPRITE "zeiger.png"       ,504
LOADSPRITE "bangeln-icon.png" ,505





ENDSUB // MEDIA    

13
GLBasic - de / Re: GLBasic IDE für Tablets
« on: 2013-Apr-14 »
Es wurde ja noch nicht mal eine IDE für Linux umgesetzt, also glaube ich auch nicht an eine für Android- mal davon abgesehen, dass wohl kaum jemand Lust darauf haben wird damit zu entwickeln...

Begründe deine Vermutung doch einmal, das es kaum jemand nutzen  würde  (=

14
GLBasic - de / Re: GLBasic IDE für Tablets
« on: 2013-Apr-13 »
Der GLBasic-Compiler ist glaub crossfähig...
Fehlt nur ne IDE :D

Hört sich ja schonmal gut an. :D Die Desktop IDE ist ja auch vorhanden. Etwas abgespekt sollte sie doch super für Tablets geeignet sein.
Bluetooth Tatatur und Maus kompatibel, würde das auch unterwegs für eine menge Spaß sorgen. Ich war echt angetan von AIDE.
Das selbe mit GLBasic wäre der pure Wahnsinn. :D

Dann erwebe ich sogar ne extra Lizenz für. :D

15
bei mir gehts , also welche glb version nutzt du und welche android version hat dein nexus.

Compilierter GLBasic Code funktioniert einwandfrei! Wie kanonet schon vermutet hatte, geht rs um G.A.C.K. . Die App mag einfach nicht laufen.

Pages: [1] 2