-
22. 12. 2007, 16:44 #61
Re: [Sammelthread] Codeschnippsel und kurze Fragen
http://www.highscore.de/cpp/einfuehrung/index.html
Kapitel 2 - Variablen. 2.7 behandelt dann ausführlich die Arrays
Btw, 2 Jahre Programmieren und ihr habt noch nichts von Arrays (Feldern) gehört? Ist das so freiwilliger EDV-Unterricht bzw was macht ihr dort überhaupt? Weil ohne die Grundlagen (Und dazu würd ich Array schon zählen) würd ich mich nicht an ne graphische Bibliothek heranwagen..Fluchen ist die einzige Sprache, die die Programmierer wirklich können - unbekannter Autor
-
22. 12. 2007, 16:46 #62
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Ja, weil ich gerade gute Laune habe...
Zitat von Hofi-1992
Spoiler:
Beim kompilieren gegen libSDL linken:PHP-Code:#include <SDL/SDL.h>
#define SCREENW 640
#define SCREENH 480
int main(int argc, char** argv) {
SDL_Init(SDL_INIT_VIDEO);
SDL_Surface* screen = SDL_SetVideoMode(SCREENW,SCREENH,32,SDL_SWSURFACE);
SDL_Surface* bitmap = SDL_LoadBMP("grafik.bmp");
SDL_Rect drect;
drect.w = bitmap->w; drect.h = bitmap->h;
drect.x = 0; drect.y = 0;
bool done = false;
int vx = 3, vy = 3;
Uint8* key_state = SDL_GetKeyState(0);
while(!done) {
// Altes Bild schwarz übermalen
SDL_FillRect(screen,&drect,0);
// Neue Position berechnen...
drect.x += vx;
if((drect.x + drect.w) >= SCREENW)
vx = -3;
if(drect.x <= 0)
vx = 3;
drect.y += vy;
if((drect.y + drect.h) >= SCREENH)
vy = -3;
if(drect.y <= 0)
vy = 3;
// Das Bild kopieren
SDL_BlitSurface(bitmap,0,screen,&drect);
// Back- und Frontbuffer tauschen
SDL_Flip(screen);
// 20ms warten
SDL_Delay(20);
// Events verarbeiten
SDL_PumpEvents();
if(key_state[SDLK_ESCAPE])
done = true;
}
}
(wie das genau in Borlands C++ IDE geht, weiss ich nicht, da ich immer GCC verwende. Aber Google ist dein Freund)Code:g++ sample.cpp -lSDL
Mit Grüssen aus'm Ozean
KugelfischToday is Sweetmorn, the 41st day of Chaos in the YOLD 3178
-
22. 12. 2007, 16:47 #63
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Nein , tut mir Leid !
Zitat von insa
Ich bin ein Elektroniker , ich mache das Programmieren nicht so ausführlich !
Ich kann mit Zeigern, Abfragen , Schleifen, Felder und (auch Rekursiv-)Funktion arbeiten ..... mehr fällt mir im Moment nicht ein !Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger.
Mein NEUER Wii Code : 2819 - 0364 - 2651 - 8259
-
22. 12. 2007, 16:49 #64
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Was verstehst du unter Feldern? Ist doch das selbe und sowas sollte man noch vor Zeigern lernen
Ein Spezialist weiß immer mehr von immer weniger, bis er irgendwann von gar nichts mehr alles weiß - ein allgemein gut gebildeter Mensch weiß von immer mehr immer weniger, bis er von allem gar nichts mehr weiß.
-
22. 12. 2007, 16:49 #65
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Na in dem Falle nicht
Zitat von Hofi-1992

Aber ich bin mal so freundlich:
Durchlesen, verstehen, Problem beseitigthttp://www.highscore.de/cpp/einfuehrung/index.html
Kapitel 2 - Variablen. 2.7 behandelt dann ausführlich die Arrays
(Und ne Wissenslücke gestopft)Fluchen ist die einzige Sprache, die die Programmierer wirklich können - unbekannter Autor
-
22. 12. 2007, 16:49 #66
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Felder sind Arrays.
Mit Grüssen aus'm Ozean
KugelfischToday is Sweetmorn, the 41st day of Chaos in the YOLD 3178
-
22. 12. 2007, 16:53 #67
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Die Zeiger hab ich vor den Feldern gelernt !
Ich hab erst am Dienstag das erste mal von Feldern was gehört !
Also kenn ich mich nicht so gut aus damit !
Ich weiß ich bin noch ein Noob !Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger.
Mein NEUER Wii Code : 2819 - 0364 - 2651 - 8259
-
22. 12. 2007, 17:02 #68
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Das schwierigste an einem halbwegs brauchbaren Pong wird nicht die Grafik sein, sondern die Kollision Schläger vs. Ball (Rechteck vs. Kreis). Selbst wenn man Tangentialkräfte, die den Ball rotiern lassen könnten, vernachlässigt, ist das immer noch nicht trivial.
Mit Grüssen aus'm Ozean
KugelfischToday is Sweetmorn, the 41st day of Chaos in the YOLD 3178
-
22. 12. 2007, 17:10 #69
Re: [Sammelthread] Codeschnippsel und kurze Fragen
So schwer ist es doch nicht? Wenn man jetzt mal wirklich nur nen Ball an ner Wand abprallen lässt, muss man doch nur die richtung aus der er kommt invertieren. Oder überseh ich da was?
Ein Spezialist weiß immer mehr von immer weniger, bis er irgendwann von gar nichts mehr alles weiß - ein allgemein gut gebildeter Mensch weiß von immer mehr immer weniger, bis er von allem gar nichts mehr weiß.
-
22. 12. 2007, 17:12 #70
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Erstmal thx für die Antworten !
Ich werd jetz mal anfangen und berichten falls ich von euch Hilfe brauche !
lg HofiDer Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger.
Mein NEUER Wii Code : 2819 - 0364 - 2651 - 8259
-
22. 12. 2007, 17:12 #71
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Ja, die Wände sind trivial (siehe mein SDL-Sample-Code. Der lässt auf diese Weise eine Grafik springen), aber die Schläger nicht unbedingt.
Zitat von insa
Mit Grüssen aus'm Ozean
KugelfischToday is Sweetmorn, the 41st day of Chaos in the YOLD 3178
-
22. 12. 2007, 17:14 #72
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Kugelfisch, mal ehrlich: Wenn er nicht mal Arrays kann, wie soll er sich dann mit sowas Komplexen wie SDL zurecht finden?
Wie gesagt, einfache Konsolenanwendung für ein Pong-Spiel reicht.Fluchen ist die einzige Sprache, die die Programmierer wirklich können - unbekannter Autor
-
22. 12. 2007, 17:17 #73
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Sorry, als ich ihm SDL empfohlen habe, habe ich das mit dem nicht-Wissen über Array noch nicht gewusst. Siehe den Anfang der Seite. Ausserdem wollte er ja Grafik
Zitat von Larius

BTW: Ich halte SDL für eines der einfachsten Grafik-Toolkits überhaupt (bis auf die Compilierung mit gewissen proprietären IDEs)
Ja. Jedenfall für den Anfang. Später kann man das dann immer noch grafisch machen.
Zitat von Larius
Mit Grüssen aus'm Ozean
KugelfischToday is Sweetmorn, the 41st day of Chaos in the YOLD 3178
-
22. 12. 2007, 17:18 #74
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Da muss man sich auch noch nicht wirklich gedanken ums abprallen machen da es eh immer 45° sind ^^
Wenn man den Spin nicht mit berechnet den man dem Ball durch einen Schläger geben kann, doch auch nicht?Ja, die Wände sind trivial (siehe mein SDL-Sample-Code. Der lässt auf diese Weise eine Grafik springen), aber die Schläger nicht unbedingt.
OT: Und wieso sagt man eigtl. "gegen die DLL linken"?Ein Spezialist weiß immer mehr von immer weniger, bis er irgendwann von gar nichts mehr alles weiß - ein allgemein gut gebildeter Mensch weiß von immer mehr immer weniger, bis er von allem gar nichts mehr weiß.
-
22. 12. 2007, 17:22 #75
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Nein. Denke daran, dass der Ball auch auf die Ecken des Schlägers treffen kann. Solange der Mittelpunkt des Balls über einer der Seitenflächen steht ist es trivial. Andernfalls leider nicht.
Zitat von insa
Eine furchtbar hässliche Skizze...Mit Grüssen aus'm Ozean
KugelfischToday is Sweetmorn, the 41st day of Chaos in the YOLD 3178
-
23. 12. 2007, 13:11 #76
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Danke für eure Hilfe , ich habs jetz so halbwegs richtig !
Bis auf die Ecken funktioniert alles ! (Falls noch jemand Ideen hätte wie ich das lösen könnte , PN)
Nochmals fettes thx @ all of you !
lg HofiGeändert von Hofi-1992 (23. 12. 2007 um 14:37 Uhr)
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger.
Mein NEUER Wii Code : 2819 - 0364 - 2651 - 8259
-
03. 01. 2008, 16:23 #77
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Hi,
ich habe seit gestern ein C++ Buch für Anfänger vom Markt+Technik Verlag. Mein Problem fängt damit an das sich das DosFenster immer wieder schließt, ziemlich schnell. Ich schreibe mein Problem hier rein. Weil es bestimmt nix aussergewöhnliches ist und ich die Sufu schon benutzt hab.
Mein Compiler ist Bloodshed Dev-C++, mein Betriebssystem Vista 64bit.Wenn mir jemand helfen kann Danke! Vielleicht muss ich was am Compiler ändern.Code:#include <iostream.h> //Funktion DemonstrationFunction //gibt eine Meldung aus void DemonstrationFunction() { cout << "In DemonstrationFunction\n"; } //Funktion main - gibt eine Meldung aus, ruft //dann DemonstrationFunction auf, gibt danach //eine zweite Meldung aus. int main() { cout << "In main\n"; DemonstrationFunction(); cout << "Zurueck in main\n"; return 0; }
Der Compiler spuckt auch den Fehler aus;
Code:32:2 C:\Dev-Cpp\include\c++\3.4.2\backward\backward_warning.h #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
Why are serious?
-
03. 01. 2008, 17:12 #78Mitglied
- Registriert seit
- Feb 2007
- Beiträge
- 469
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Hallo allerseits,
ich habe ein kleines Problem mit C. Und zwar habe ich keine Ahnung davon... Ich kann zwar C# GUI zeugs und so, aber dieses C Konsolenprogramm kann ich nicht Compilen und ich weiß nicht warum... es ist ein Code der mir mein Steam-Passwort wiederherstellt...
Code:/* Copyright 2005,2006,2007 Luigi Auriemma This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA http://www.gnu.org/licenses/gpl.txt */ #include <stdio.h> #include <stdlib.h> #include <stdint.h> #include <windows.h> #include <sys/stat.h> #define VER "0.1.1" #define FIND "Phrase" "\x01\x50" #define STEAMDLL "STEAM.DLL" #define STEAMDLL_OFFSET 0x252397 uint8_t *steampwd(uint8_t *pwdenc); uint8_t *fd_read(uint8_t *name, int *fdlen); uint8_t *find_data(uint8_t *buff, int buffsz, uint8_t *str); void wait_exit(int ret); void std_err(void); int firsttime = 1; int main(int argc, char *argv[]) { uint32_t len; int fdsize; uint16_t nlen; uint8_t *fdbuff, *fdnext, *phrase, *pwdenc, *pwd, *p; setbuf(stdout, NULL); fputs("\n" "Steam password decoder "VER"\n" "by Luigi Auriemma\n" "e-mail: aluigi@autistici.org\n" "web: aluigi.org\n" "\n", stdout); if(argc < 2) { printf("\n" "Usage: %s <ClientRegistry.blob/password>\n" "\n" " NOTE: this password recovery tool works ONLY on the same computer in which\n" " was located the ClientRegistry.blob file!\n" "\n", argv[0]); wait_exit(1); } fdbuff = fd_read(argv[1], &fdsize); fdnext = fdbuff; redo: if(fdnext) { phrase = find_data(fdnext, fdsize, FIND); if(!phrase) { if(!firsttime) goto quit; printf("\n" "- Password not found, probably you have not saved it or have disabled the\n" " storing of the local account informations through the Settings menu of Steam\n"); wait_exit(1); } p = phrase; p += 30; nlen = *(uint16_t *)p; p += 2; len = *(uint32_t *)p; p += 4 + nlen; p[len] = 0; pwdenc = p; } else { pwdenc = argv[1]; } printf("\nEncoded: %s\n", pwdenc); pwd = steampwd(pwdenc); printf("\nPassword: %s\n", pwd); free(pwd); if(fdbuff) { firsttime = 0; fdsize -= (pwdenc - fdnext); fdnext = pwdenc; goto redo; } quit: if(fdbuff) free(fdbuff); wait_exit(0); return(0); } uint8_t *steampwd(uint8_t *pwdenc) { HINSTANCE hLib; static uint8_t *pwd; int (*steam_dll_pwd)(const uint8_t *phrase, const int len, const void *ps); struct { uint32_t boh1; // 0 uint8_t *pass; // password uint32_t boh2; // 0 uint32_t boh3; // 0 uint32_t boh4; // 0 uint32_t passlen; // length of the password uint32_t boh5; // length of the binary encoded password? uint8_t boh6[40]; // needed with newer steam.dll files } steam_pwd; if(firsttime) printf("\n- load the local %s file\n", STEAMDLL); hLib = LoadLibrary(STEAMDLL); if(!hLib) std_err(); steam_dll_pwd = (void *)hLib + STEAMDLL_OFFSET; memset(&steam_pwd, 0, sizeof(steam_pwd)); if(firsttime) printf("\n" "NOTE: now if the tool crashes means the password cannot be recovered since the\n" " ClientRegistry.blob file has not been created on this computer (Steam\n" " uses a ProductID based key).\n" " Remember that you MUST use the STEAM.DLL file located in the steampwd\n" " package (which is the original dll of some versions ago) or is not\n" " possible to recover the password!\n"); steam_dll_pwd(pwdenc, strlen(pwdenc), &steam_pwd); pwd = strdup(steam_pwd.pass); FreeLibrary(hLib); return(pwd); } uint8_t *fd_read(uint8_t *name, int *fdlen) { struct stat xstat; FILE *fd; uint8_t *buff; printf("- open file %s\n", name); fd = fopen(name, "rb"); if(!fd) { perror("\nAlert"); printf("- I handle it as an encoded password\n"); return(NULL); } fstat(fileno(fd), &xstat); buff = malloc(xstat.st_size); if(!buff) std_err(); fread(buff, xstat.st_size, 1, fd); fclose(fd); *fdlen = xstat.st_size; return(buff); } uint8_t *find_data(uint8_t *buff, int buffsz, uint8_t *str) { int strsz; uint8_t *limit; strsz = strlen(str); limit = buff + buffsz - strsz; for(; buff <= limit; buff++) { if(!memcmp(buff, str, strsz)) return(buff); } return(NULL); } void wait_exit(int ret) { printf("\n Press RETURN to exit\n"); fgetc(stdin); exit(ret); } void std_err(void) { perror("\nError"); wait_exit(1); }
Wie gesagt, der Button um das Teil zu Compilen bleibt deaktiviert. Ich benutze MS Visual Studio und habe nur die datei "steampwd.c"

-
03. 01. 2008, 17:17 #79Greenkeeper
- Registriert seit
- Jul 2007
- Beiträge
- 60
Re: [Sammelthread] Codeschnippsel und kurze Fragen
@breed1023
es ist nicht die beste möglichkeit, aber es geht auch mit
Code:system("pause");
-
03. 01. 2008, 17:22 #80
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Aber das muss ich ja vor der } einfügen. Nun ist es immer noch nicht gegangen. Kann es vllt. eine Compiler einstellung sein?
Why are serious?
-


Zitieren
mehr lesen...





Filehoster HellShare sperrt User...
Heute, 14:43 in gulli:news