| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen | 
	
	
		| Autor | Nachricht | 
	
		| matmaster Junior JLI'ler
 
  
 
 Anmeldedatum: 18.02.2006
 Beiträge: 67
 Wohnort: Wien
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 07.04.2006, 15:36    Titel: 2 Fragen |   |  
				| 
 |  
				| Hi Ich habe zwei Fragen:
 
 1.)Wie kann ich alle 10 Sekunden etwas Bestimmtes wiederholen ?
 z.B.: Ein Strategiespiel bei dem alle 10 Sekunden der Holzvorrat um 10
 steigen soll, und der Benutzer etwas Anderes inzwischen machen kann.
 
 
 2.)Folgendes Problem:
 
  	  | Code: |  	  | #include <iostream>
 #include <windows.h>
 using namespace std;
 
 int var = 10;
 
 int main()
 {
 while(var != 0)
 {
 cout << var ;
 Sleep(1000);
 var--;
 }
 return 0;
 }
 
 | 
 Wie kann ich die Konsole dazu bringen, dass Sie die Werte nicht untereinander schreibt, sondern jeweils an der selben Stelle um eins verringert ?
 
 Zuletzt bearbeitet von matmaster am 07.04.2006, 16:04, insgesamt einmal bearbeitet
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| 51m0n JLI'ler
 
  
 Alter: 33
 Anmeldedatum: 06.01.2006
 Beiträge: 167
 Wohnort: Erkelenz
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 07.04.2006, 15:58    Titel: |   |  
				| 
 |  
				| Hallo 
 zu 1)
 Ich weis nicht genau ob und wie das bei Konsolen funktioniert, aber wenn du ein "richtiges" Windows Programm hast dann solltest du dir SetTimer() und die Nachricht WM_TIMER mal genauer anschauen.
 
 zu 2)
 Ich binn mir nicht ganz sicher was du jetzt genau meinst, aber mach mal das << endl weg. Das heißt nämlich so viel ich weiß endline und bewirkt, dass der nächste Text erst in der nächsten Zeile ausgegeben wird.
 _________________
 Teigwaren
 heißen Teigwaren,
 weil sie früher einmal Teig waren
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| C++progging Senior JLI'ler
 
  
 Alter: 32
 Anmeldedatum: 03.10.2005
 Beiträge: 244
 Wohnort: Sauerland
 Medaillen: Keine
 
 
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| 51m0n JLI'ler
 
  
 Alter: 33
 Anmeldedatum: 06.01.2006
 Beiträge: 167
 Wohnort: Erkelenz
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 07.04.2006, 16:01    Titel: |   |  
				| 
 |  
				|  	  | C++progging hat Folgendes geschrieben: |  	  | Zu 1.) : 
  	  | CPP: |  	  | #include <windows.h> ...
 Sleep(/* Anzahl der Millisekunden*/);
 
 | 
 Einfach die windows.h inkludieren und Sleep verwenden
 | 
 
 Das wird ihm nich viel helfen er arbeitet ja schon mit Sleep(), aber mich würde mal interresieren wie du das damit realisieren willst. Die einzige Lösung die mir Dazu einfällte wäre Multithreading(oder wie das auch immer heißt).
 _________________
 Teigwaren
 heißen Teigwaren,
 weil sie früher einmal Teig waren
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| matmaster Junior JLI'ler
 
  
 
 Anmeldedatum: 18.02.2006
 Beiträge: 67
 Wohnort: Wien
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 07.04.2006, 16:03    Titel: |   |  
				| 
 |  
				| @C++progging Wenn ich Sleep verwende kann der Benutzer inzwischen gar nichts Ausführen
  |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| fast hawk Senior JLI'ler
 
  
 
 Anmeldedatum: 15.07.2005
 Beiträge: 237
 Wohnort: Freiburg
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 07.04.2006, 16:07    Titel: |   |  
				| 
 |  
				| Zu 1: 
  	  | Code: |  	  | LARGE_INTEGER LastTime=1000; LARGE_INTEGER CurTime = 1000;
 //Init PerformanceCounter
 while Spielschleife
 {
 QueryPerformanceCounter(&CurTime);
 if((CurTime-LastTime)/Frequenz>=2000)
 {
 Holz++;
 LastTime = CurTime;
 }
 }
 
 | 
 
 Zu 2:
 Tabulatorrücklauf(\r).
 _________________
 Jetziges Projekt: The Ring War
 Status: 40%
 -----------------------------------
 Nicht weil es schwer ist, wagen wir es nicht, sondern weil wir es nicht wagen, ist es schwer.
 --
 Lucius Annaeus Seneca (4)
 röm. Philosoph, Dramatiker und Staatsmann
 
 Zuletzt bearbeitet von fast hawk am 07.04.2006, 17:59, insgesamt 3-mal bearbeitet
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| matmaster Junior JLI'ler
 
  
 
 Anmeldedatum: 18.02.2006
 Beiträge: 67
 Wohnort: Wien
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 07.04.2006, 16:09    Titel: |   |  
				| 
 |  
				| @fast hawk Danke werd ich gleich ausprobieren!
  |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| PeaceKiller JLI Master
 
  
 Alter: 36
 Anmeldedatum: 28.11.2002
 Beiträge: 970
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 07.04.2006, 16:18    Titel: |   |  
				| 
 |  
				|  	  | fast hawk hat Folgendes geschrieben: |  	  |  	  | Code: |  	  | if((CurTime-LastTime)/Frequenz==2000) | 
 | 
 
 sollte folgendes sein:
  	  | Code: |  	  | if((CurTime-LastTime)/Frequenz>=2000) | 
 _________________
 »If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
 – Robert X. Cringely, InfoWorld magazine
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Jonathan_Klein Living Legend
 
  
 Alter: 38
 Anmeldedatum: 17.02.2003
 Beiträge: 3433
 Wohnort: Siegerland
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 07.04.2006, 17:58    Titel: |   |  
				| 
 |  
				| Also, ich würde dir einfahc empfeheln, die Konsolenprogramme nur dazu zu nutzen, ein wenig C++ kennenzulernen und dann mit Windows anzufangen. So komplexe Sachen wie Strategiespiele kann man damit einfach viel netter machen, weil man eben nicht nur auf Texte beschränkt ist und viel mehr Möglichkeiten hat.
 _________________
 https://jonathank.de/games/
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| fast hawk Senior JLI'ler
 
  
 
 Anmeldedatum: 15.07.2005
 Beiträge: 237
 Wohnort: Freiburg
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 07.04.2006, 17:59    Titel: |   |  
				| 
 |  
				| Jo hab das halt einfaclh mal so schnell aus dem Kopf getippt da darf so was passieren  !!....... ist geändert. _________________
 Jetziges Projekt: The Ring War
 Status: 40%
 -----------------------------------
 Nicht weil es schwer ist, wagen wir es nicht, sondern weil wir es nicht wagen, ist es schwer.
 --
 Lucius Annaeus Seneca (4)
 röm. Philosoph, Dramatiker und Staatsmann
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| matmaster Junior JLI'ler
 
  
 
 Anmeldedatum: 18.02.2006
 Beiträge: 67
 Wohnort: Wien
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 08.04.2006, 07:24    Titel: |   |  
				| 
 |  
				| @Jonathan_Klein Da stimme ich dir zu. Ich hatte mir nur gedacht das ich ein etwas Größeres Konsolenprogramm programmier, bevor ich mich mit Windows bescheftige.
 Mir ist nichts besseres eingefallen alls ein kleines Strategiespiel.
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Jonathan_Klein Living Legend
 
  
 Alter: 38
 Anmeldedatum: 17.02.2003
 Beiträge: 3433
 Wohnort: Siegerland
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 08.04.2006, 07:47    Titel: |   |  
				| 
 |  
				| jo, ich hab damals zum lernen mal n Textadventure und ein Rundenbasiertes Prügelspiel gemacht. Muss man sich halt damit zurechtfinden, das bestimmte Sachen, wie z.B. Text an einer bestimmten Position anzeigen oder halt alle 10 sek. etwas machen nicht soo einfach zu machen sind. Ist aber ja egal, da man das später eh nur noch zu Testzwecken Konsolenprogramme schreibt. _________________
 https://jonathank.de/games/
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Clythoss Junior JLI'ler
 
  
 Alter: 45
 Anmeldedatum: 04.05.2005
 Beiträge: 64
 Wohnort: Berlin
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 08.04.2006, 17:06    Titel: |   |  
				| 
 |  
				| Wem Windows ein zu großer Sprung ist dem kann ich nur immer wieder Allegro empfehlen. 
 Allegro ist eine Bibliothek für Spieleprogrammierung in C/C++, die kostenlos nutzbar ist, und die folgenden Plattformen unterstützt: DOS, Unix (Linux, FreeBSD, Irix, Solaris, Darwin), Windows, QNX, BeOS und MacOS X. Enthalten sind viele Funktionen für Graphik, Sound, Benutzer-Eingabe (Tastatur, Maus und Joystick) und Zeit-Steuerung. Außerdem werden mathematische Festkomma- und Fließpunkt-Funktionen, 3D-Funktionen, Dateisystem-Funktionen, Funktionen für komprimierte Dateien und eine graphische Oberfläche bereitgestellt.
 
 http://alleg.sourceforge.net/index.de.html
 _________________
 Derzeitiges Projekt : Wing Fusion
 Status: Es geht vorwärts...
 
 -------------------------------------------------------
 E=MC²+1W6
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Blubb-Tec JLI'ler
 
  
 Alter: 34
 Anmeldedatum: 29.03.2005
 Beiträge: 171
 Wohnort: Düsseldorf
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 08.04.2006, 17:49    Titel: |   |  
				| 
 |  
				| für den umstieg von konsole auf win32 empfehle ich das buch "Windows Programmierung 5. Auflage" von Charles Petzold, werden wohl alle kennen, da wird alles wichtige super erklärt, zwar in C, aber das macht ja nix  Sonderausgabe kostet "nur" 30€, sonst 50€ oder mehr, kA, aber lohnen tut sich's auf jeden fall, den "Petzold" brauch man immer wieder  _________________
 www.planlos.de
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Jonathan_Klein Living Legend
 
  
 Alter: 38
 Anmeldedatum: 17.02.2003
 Beiträge: 3433
 Wohnort: Siegerland
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 09.04.2006, 08:41    Titel: |   |  
				| 
 |  
				| das Buch ist sehr gut, WENN man den "richtige" Win32 Applikationen machen will. Für ein paar Spiele reicht es meiner Meinung nach, wenn man gerade genug Windows kann, um DX zu initialisieren, also das was im JLI-Buch steht. Ich persönlich bin damit gut genug zurecht gekommen, wenn man erstmal n paar Funktionen hat, um Sprites auszugeben, interessiert es ersteinmal nicht mehr das man DX benutzt und wie das alles intern funktioniert (für den Anfang wohlgemerkt, später steigt man warhscheinlich tiefer ein und dann ist das auch interessant). Den Petzold hab ich mir erst gekuaft, als ich auch mal wissen wollte, wie ich einen gescheiten Leveleditor oder ähnliches machen kann, also ein Programm wo man es mal wirklich mit Fenstern und so zu tun hat, und nicht einfach nur DX-Fullscreenmode. Also, das Buch ist auf jeden Fall empfehlenswert, aber wenn man erstmla nur ein paar Games proggen will, bruacht man es nicht umbedingt.
 _________________
 https://jonathank.de/games/
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		|  |