Wumbo für PPC

Previous topic - Next topic

ToGi

Hi,

ich versuche Wumbo für PPC ein bischen komfortabeler zu gestalten.
Leider habe ich ein prob mit der Stiftsteuerung.
Bin auch kein Expert (noch nicht :-)) in Programmiersprachen.

Wäre echt toll wenn mir jemand helfen könnte. Danke im voraus.

ich kann mich zu jetzigen Zeitpunkt nur nach links oder rechts gehen, wenn ich die Maustaste (B1 drücke)

Code:
*******************************************
   MOUSESTATE mx, my, b1, b2
   MouseMoveX= mx*16
   MouseMoveY= my*16
   IF moving=0
      magnet=magnetcheck()
      IF happened THEN happened=getkey()
      IF happened=FALSE
         dx=0; dy=0;plym=0; onice=FALSE
         IF b1=1 AND MouseMoveX < plyx THEN plym=2
         IF b1=1 AND MouseMoveX > plyx THEN plym=1
         //JOYSTATE joyx, joyy, joyb1, joyb2
         //IF joyx=-1 THEN plym=2
         //IF joyx=1 THEN plym=1
         IF KEY(203) THEN plym=2
         IF KEY(205) THEN plym=1
      ENDIF

      IF plym=0 AND happened=FALSE
         IF b1=1 AND MouseMoveY < plyy THEN plym=4
         IF b1=1 AND MouseMoveY > plyy THEN plym=3
//         IF joyy=-1   THEN plym=4
//         IF joyy=1   THEN plym=3
         IF KEY(200) THEN plym=4
         IF KEY(208) THEN plym=3
      ENDIF

**********************************************************

Kitty Hello

Code (glbasic) Select
  MOUSESTATE mx, my, b1, b2
   IF b1
      IF mx>160 THEN; joyx = 1; ELSE; joyx=-1
      IF my>120 THEN; joyy = 1; ELSE; joyy=-1
   ELSE
      joyx=0; joyy=0
   ENDIF

Jetzt JOYSTATE auskommentieren, und die IF joy... Zeilen reinpacken.

ToGi

Vielen Dank für das schnelle Feedback.
Nach Einbindung des Codes von Dir, erscheinen eine lange Latte von Fehlermeldungen dir ich nicht interpretieren kann.

Hier ein kleiner Auszug davon:

compile+link...
C:\Programme\GLBasic\Compiler\platform\gpc_temp.cpp: In function `DGInt __GLBASIC__::MainGame()':
C:\Programme\GLBasic\Compiler\platform\gpc_temp.cpp:448: parse error before `else'
C:\Programme\GLBasic\Compiler\platform\gpc_temp.cpp: At top level:
C:\Programme\GLBasic\Compiler\platform\gpc_temp.cpp:716: ANSI C++ forbids declaration `__dLn' with no type
C:\Programme\GLBasic\Compiler\platform\gpc_temp.cpp:716: initializer list being treated as compound expression
C:\Programme\GLBasic\Compiler\platform\gpc_temp.cpp:717: ANSI C++ forbids declaration `__dLn' with no type
C:\Programme\GLBasic\Compiler\platform\gpc_temp.cpp:717: redefinition of `int __GLBASIC__::__dLn'

Kitty Hello

Hossa! Wieso meldet der GPC keinen Fehler???
Das muss natürlich:
Code (glbasic) Select
MOUSESTATE mx, my, b1, b2
   IF b1
      IF mx>160; joyx = 1; ELSE; joyx=-1; ENDIF
      IF my>120; joyy = 1; ELSE; joyy=-1; ENDIF
   ELSE
      joyx=0; joyy=0
   ENDIF
heißen. Da hat das ENDIF gefehlt und das THEN muss weg... Ist übrigens ganz übler Stil. Man sollte das in eigene Zeilen packen. Hach, jetzt tut's mir auch schon wieder leid, dass es so schnell gehen musste...
Code (glbasic) Select
MOUSESTATE mx, my, b1, b2
   IF b1
      IF mx>160
         joyx = 1
      ELSE
         joyx=-1
      ENDIF
      IF my>120
         joyy = 1
      ELSE
         joyy=-1
      ENDIF
   ELSE
      joyx=0; joyy=0
   ENDIF

ToGi

Hi Mr. President;
vielen Dank für den Code.

Leider läuft Wumbo hierbei auch nur rechts und links.

ich bin fest überzeugt das ich einen Fehler mache, nur welchen.

Bitte schau Dir den Code einmal an. Vielen Dank.

      moving=MOD(plyx, 32)+MOD(plyy, 32)
      MOUSESTATE mx, my, b1, b2
   IF b1
      IF mx>160; joyx = 1; ELSE; joyx=-1; ENDIF
      IF my>120; joyy = 1; ELSE; joyy=-1; ENDIF
   ELSE
      joyx=0; joyy=0
   ENDIF
      IF moving=0
         magnet=magnetcheck()
         IF happened THEN happened=getkey()
         IF happened=FALSE
            dx=0; dy=0;plym=0; onice=FALSE
            IF joyx=-1 THEN plym=2
            IF joyx=1 THEN plym=1
            IF KEY(203) THEN plym=2
            IF KEY(205) THEN plym=1
         ENDIF
         IF plym=0 AND happened=FALSE
            IF joyy=-1   THEN plym=4
            IF joyy=1   THEN plym=3
            IF KEY(200) THEN plym=4
            IF KEY(208) THEN plym=3
         ENDIF

Kitty Hello

Hoppla. Da müsste man ja genau in die Mitte klicken, damit er hoch/runter läuft.
Jetzt mal ein Stück Code das ich getestet hab'. Spielt sich ziemlich lustig mit dem Stift...
Code (glbasic) Select
moving=MOD(plyx, 32)+MOD(plyy, 32)

IF moving=0
magnet=magnetcheck()
MOUSESTATE mx, my, b1, b2
joyx=0; joyy=0
IF b1
mx = mx-screenwidth/2
my = my-screenheight/2
IF ABS(mx/screenwidth)>ABS(my/screenheight)
joyx=mx/ABS(mx)
ELSE
joyy=my/ABS(my)
ENDIF
ENDIF


ToGi

Perfect !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!   Vielen Dank.

Jetzt noch eine Frage.

Wumbo stürzt grundsätzlich ab nach einer gewissen Zeit auf meinem
iPAQ 3970.
Hast Du irgendeine Ahnung warum.
(iPAQ bedingt oder Hintergrund Programme, etc.)

Danke

Kitty Hello

Ja. Ich hab's gerade gefixt und lade heute noch ein Update hoch. Tip: Es war der Sound.

ToGi

You are the man. ;-) Domo arregato

Kitty Hello

Do itashimashite ;)

ToGi

Hi Tshatscho, :D

danke für das PPC Update.
Leider hängt sich mein iPaq 3970 nach einer Zeit immer noch auf. (Dauert länger mit dem neuen Update aber hängt sich auf). Denke es liegt immer nach am Sound.
Habe eine Option eingebaut, wo ich den Sound abschalten kann, dann klappts auch mit dem iPAQ. :D
Desweiteren funktioniert der mp3 File in der iPAQ Version nicht (Titelmusik)

Just for your reference

Kitty Hello

Ja. MP3 geht noch nicht. Braucht für PPC auch wirklich viel Rechenpower. Das mit dem Sound ist ja ärgerlich...

ToGi

Hi,

habe das Prog "PenInput" in Wumbo für PPC implementiert, um im Editor Modus die Hilfstexte zu editieren. Wenn die Var hint$ in PenInput eingebunden ist, wird nur eine Line gezeigt (Kein Zeilenumbruch). Hätte jemand eine Idee wie man diese in PenInput realisieren könnte.

Danke im voraus

Cu
ToGi

ToGi

Habs selbst gelöst mit der Function "BoxPrint" =D

Kitty Hello

Schön. Gute Idee.