Hallo
in meiner Funktion muss der Spieler seinen Namen eingeben,
dies Funktioniert auch, allerdings nur mit kleinbuchstaben.
Wie kann man Großbuchstaben schreiben ?
Mein Spiel
https://www.spieleprogrammierer.de/phpBB…pic.php?t=12402
Meine Funktion
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
void CMenu::InputName()
{
pFramework->Clear();
pBack->Render();
pFramework->Text("Wilkommen bei OpenPong", 300,80);
pFramework->Text("Bitte Spielername eingeben", 300,pos1);
pFramework->Flip();
int len=0,old;
int done=0,i;
for (i=0;i<101;i++)
name[i]=0;
while (!done)
{
while (SDL_PollEvent(&g_Event))
{
if (g_Event.type == SDL_KEYDOWN)
{
old = len;
if ((g_Event.key.keysym.sym <= 57 && g_Event.key.keysym.sym >= 48) ||
(g_Event.key.keysym.sym <= 90 && g_Event.key.keysym.sym >= 65) ||
(g_Event.key.keysym.sym <= 122 && g_Event.key.keysym.sym >= 97 ))
{
name[len]=g_Event.key.keysym.sym;
len++;
}
else if (g_Event.key.keysym.sym == SDLK_SEMICOLON && (KMOD_RSHIFT || KMOD_LSHIFT))
{
name[len]=58;
len++;
}
else if (g_Event.key.keysym.sym == SDLK_BACKSPACE)
{
len--;
name[len]=0;
}
else if (g_Event.key.keysym.sym == SDLK_RETURN)
{
if (len > 0)
{
done=1;
}
}
if (len>=100) len=100;
if (old!=len)
{
pFramework->Clear();
pBack->Render();
pFramework->Text("Wilkommen bei OpenPong", 300,80);
pFramework->Text("Bitte Spielername eingeben", 300,pos1);
pFramework->Text(name, 300 , pos3);
pFramework->Flip();
}
}
}
}
}
|
Über hilfe oder anregungen würde ich mich freuen.
Gruß MacGyver