KINGx - Das inoffizielle PlayStation Forum & News Portal

Normale Version: Zähler in C
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo, ich habe heute mit dem C Programmieren angefangen und auch schon eine Art Zähler gecodet. Hier der Quellcode

Code:
#include <stdio.h>

int main()
{
  int abbruch, i;  

  printf ("Zählen von 0 bis (inklusive): ");
  scanf ("%d",&abbruch);

  for (i = 0; i <= abbruch; i++)
  {  
    printf ("%d\n", i);
  }
  
  system ("PAUSE");

  
  return 0;
}


Nun möchte ich diesen Zähler auf die PSP portieren. Ich weiss das die inlude Datei schonmal falsch ist, und das ich bei der PSP andere brauche. Welche aber weiss ich leider nicht. Außerdem bräuchte ich einen Befehl mit dem ich das Schreibfeld der PSP öffnen kann, oder zumindest den Zähler mit [x] kann. Wie wären die Befehle dafür? Vllt gibt es ja iwo eine Sammlung dieser Befehle.

mfg Vault 11

http://psp.jim.sh/pspsdk-doc/
Hier eine Doxygen Dokumentation.

Das könnte dir vieleicht noch helfen, habe vor einiger Zeit auch mal ein paar kleine Spielereien mit der PSP gemacht:

http://www.pspking.de/forum/showthread.php?tid=27623

PSP-Hilfe :
http://psp.jim.sh/pspsdk-doc/
Hier eine Doxygen Dokumentation.

Das könnte dir vieleicht noch helfen, habe vor einiger Zeit auch mal ein paar kleine Spielereien mit der PSP gemacht:

http://www.pspking.de/forum/showthread.php?tid=27623


Dein Tut habe ich mir heute morgen schonmal angesehen und dabei wirklich garnichts kapiert Big Grin Aber jetzt verstehe ich schon fast alles.

Danke für die schnelle Antwort

mfg Vault 11

Code:
int main()
{

pspDebugScreenInit();
SetupCallbacks();
SceCtrlData pad;

int counter = 0;
int i;
int cross;
int circle;

printf ("Druecke [x] um den Zaehler zu starten\n");
printf ("Counter:  ");

  for (i = 0; i &lt;= circle; i++)

  while (counter == 0)
  {
      sceCtrlReadBufferPositive(&amp;pad, 1);
      
      if (pad.Buttons &amp; PSP_CTRL_CROSS)
      {
          i = 0;
          printf ("%d", i);
      }
  }

sceKernelSleepThread();
return 0;

}


Ok, das habe ich bisjetzt. Doch leider gibt es ein Problem bei dem ich nicht weiterkomme. Und zwar Zeigt mir die PSP wie gewollt die beiden strings an, doch wenn ich auf X drücke passiert nicht wie gewollt ein Zählvorgang, sondern es wird einfach die ganze Zeit 0 in einer Reihe geschrieben. Sobal ich X wieder loslasse hört die 0 auf zu rennen. Woran liegt das?

Wenn unmittelbar vor der Printausgabe i = 0 steht, kann ja nur '0' angezeigt werden.

if(pad.Buttons & PSP_CTRL_CROSS) {
for (i = 0; i < 10; i++) { printf ("%d\n", i); }
}

knopper :
Wenn unmittelbar vor der Printausgabe i = 0 steht, kann ja nur '0' angezeigt werden.

if(pad.Buttons & PSP_CTRL_CROSS) {
for (i = 0; i < 10; i++) { printf ("%d\n", i); }
}


Oh, danke, hab mich schon gefragt ob man in einem If ein for stehen kann. Das machst die Sache um einiges einfacher.

Referenz-URLs