|
You last visited: Today at 22:21
Advertisement
Klick counter
Discussion on Klick counter within the C/C++ forum part of the Coders Den category.
06/01/2015, 08:11
|
#1
|
elite*gold: 83
Join Date: Jul 2014
Posts: 25
Received Thanks: 0
|
Klick counter
Hallo Leute
Ich will mit C++ sowas wie ein kleines Klickspiel erstellen, jeder kennt sowas wie Dr.meth oder cookie clicker
Und meine Frage an euch :
Wie kann ich machen, dass wenn ich die Linke Maustaste oder am besten sogar ein zuvor deklarierte Taste drücke, dass dann ein Counter immer +1 geht
|
|
|
06/01/2015, 08:15
|
#2
|
elite*gold: 20
Join Date: Aug 2009
Posts: 58
Received Thanks: 13
|
Klick counter
Im Prinzip ist das eine einfache If abfrage.
Du erstellst dir eine Variable z. B clicks und diese lässt du hochzählen durch die Abfrage. Sprich wenn Tasten Druck Variable clicks +1. und mit der Variable kannst du dann weiter arbeiten.
|
|
|
06/01/2015, 08:17
|
#3
|
elite*gold: 83
Join Date: Jul 2014
Posts: 25
Received Thanks: 0
|
Hat vielleicht jemand einen code parat? Auf google finde nichts wirklich qualifiziertes
|
|
|
06/01/2015, 11:17
|
#4
|
elite*gold: 294
Join Date: Feb 2008
Posts: 6,734
Received Thanks: 1,315
|
Quote:
Originally Posted by Katarina48
Hat vielleicht jemand einen code parat? Auf google finde nichts wirklich qualifiziertes
|
Wer soll das Spiel programmieren? Du oder wir? ^^
Insofern musst du schon selbst probieren. Bei Problemen können wir dir gern weiterhelfen.
PS: Probiers mit GetAsyncKeyState
|
|
|
06/01/2015, 18:15
|
#5
|
elite*gold: 0
Join Date: Jan 2015
Posts: 62
Received Thanks: 13
|
Quote:
Originally Posted by manniL
PS: Probiers mit GetAsyncKeyState
|
Ungeignet, da diese Funktion sehr unpräzise ist und die ganze Zeit True zurückgibt, auch wenn man den Button nur gedrückt hält.
Eine Möglichkeit wäre allerdings auf Window Messages wie WM_KEYDOWN oder WM_LBUTTONDOWN zurückzugreifen.
|
|
|
06/02/2015, 14:48
|
#6
|
elite*gold: 8
Join Date: Sep 2014
Posts: 625
Received Thanks: 178
|
Quote:
Originally Posted by hazejp
Ungeignet, da diese Funktion sehr unpräzise ist und die ganze Zeit True zurückgibt, auch wenn man den Button nur gedrückt hält.
Eine Möglichkeit wäre allerdings auf Window Messages wie WM_KEYDOWN oder WM_LBUTTONDOWN zurückzugreifen.
|
Das lässt sich aber mit sehr wenig Aufwand 'präzisieren'.
|
|
|
06/04/2015, 01:19
|
#7
|
elite*gold: 0
Join Date: Mar 2008
Posts: 598
Received Thanks: 465
|
Welche IDE benutzt du (Visual Studio, Qt, Bloodshed Dev C++ etc.) und wo soll das ganze laufen?
|
|
|
06/04/2015, 15:23
|
#8
|
elite*gold: 1000
Join Date: Jun 2015
Posts: 70
Received Thanks: 26
|
google, da findest du in den ersten 3 beiträgen eig. gute antworten, hab das auch mal aus spaß gemacht :d
|
|
|
07/13/2015, 20:02
|
#9
|
elite*gold: 274
Join Date: Jun 2012
Posts: 4,523
Received Thanks: 434
|
Quote:
#include <iostream>
#include <Windows.h>
int zahl1 = 0;
void ClickZeahler()
{
if((GetKeyState(VK_LBUTTON)) != 1)
{
zahl1++;
std::cout << zahl1 << std::endl;
Sleep(600);
}
}
int main()
{
while(1)
{
ClickZeahler();
}
return 0;
}
|
Hab das gerad ma so zusammen geschrieben bin selbst ziemlicher newbie in C++ kannst ja mal ausprobieren ^^
|
|
|
07/14/2015, 08:16
|
#10
|
elite*gold: 198
Join Date: Mar 2011
Posts: 835
Received Thanks: 263
|
Wenn du nicht einmal weisst, wie man eine Variable inkrementiert oder einen Tastendruck erkennt wirst du in absehbarer Zeit sowieso nichts in dieser Art programmieren können. Das sind wahrscheinlich die zwei Sachen, die bei so einem Spiel am simpelsten sind. Damit will ich nicht sagen, dass du es nicht versuchen sollst, aber du würdest besser erst einmal die basics einer Programmieresprache lernen.
|
|
|
07/14/2015, 08:48
|
#11
|
elite*gold: 0
Join Date: May 2010
Posts: 107
Received Thanks: 30
|
Quote:
Originally Posted by ƬheGame
oder einen Tastendruck erkennt
|
Naja im Vergleich zu deinen Verständnisproblemen bezüglich Konsolenausgaben via "printf" ist das schon etwas komplexer.
Quote:
|
Originally Posted by qqdev
Das lässt sich aber mit sehr wenig Aufwand 'präzisieren'.
|
Selbst wenn, jeder der Tastaturabfragen in einem Spiel explizit mit GetAsyncKeyState implementiert ist einfach nur bescheuert. Moderne Betriebssysteme verfügen nicht umsonst über gut durchdachte, ausgereifte Modelle bezüglich der Nachrichtenverarbeitung.
Quote:
|
Originally Posted by Mognakor
Welche IDE benutzt du
|
Jo. Das ist für die Inkrementierung einer Variable bestimmt von großer Bedeutung.
|
|
|
07/14/2015, 09:22
|
#12
|
elite*gold: 198
Join Date: Mar 2011
Posts: 835
Received Thanks: 263
|
Quote:
Originally Posted by Ninjotzu
Naja im Vergleich zu deinen Verständnisproblemen bezüglich Konsolenausgaben via "printf" ist das schon etwas komplexer.
|
?
|
|
|
07/15/2015, 01:49
|
#13
|
elite*gold: 0
Join Date: Mar 2008
Posts: 598
Received Thanks: 465
|
Quote:
Originally Posted by Ninjotzu
Jo. Das ist für die Inkrementierung einer Variable bestimmt von großer Bedeutung.
|
Nein, aber für das erkennen eines Mausklicks eventuell relevant. In Qt haben Fenster zum Beispiel eine Funktion die automatisch für jeden Mausklick aufgerufen wird.
|
|
|
07/15/2015, 11:25
|
#14
|
elite*gold: 58
Join Date: Jun 2008
Posts: 2,311
Received Thanks: 8,420
|
Was machst du aber, wenn ich QT in Visual Studio programmiere? Dann sage ich dir, dass ich Visual Studio verwende, du weißt aber nicht dass ich QT benutze 
Was er damit sagen will: Die IDE gibt überhaupt keine Informationen zu benutzbaren Sachen, wenn dann musst du nach dem Compiler fragen bzw. noch genauer: nach der/den Zielplattformen.
Padmak
|
|
|
07/15/2015, 12:17
|
#15
|
elite*gold: 198
Join Date: Mar 2011
Posts: 835
Received Thanks: 263
|
Quote:
Originally Posted by Padmak
Was machst du aber, wenn ich QT in Visual Studio programmiere? Dann sage ich dir, dass ich Visual Studio verwende, du weißt aber nicht dass ich QT benutze 
Was er damit sagen will: Die IDE gibt überhaupt keine Informationen zu benutzbaren Sachen, wenn dann musst du nach dem Compiler fragen bzw. noch genauer: nach der/den Zielplattformen.
Padmak
|
Seit wann verwendest du QT? Als ich damals damit ankam, meintest du das es scheisse ist xD
|
|
|
All times are GMT +1. The time now is 22:21.
|
|