søppel Skrevet 30. mai 2004 Del Skrevet 30. mai 2004 God idé å lage et slikt spill. :] ..tror du finner ut av det med litt prøving og feiling, så gidder ikke gi deg noen hint nå. Lenke til kommentar
Dead_Rabbit Skrevet 31. mai 2004 Del Skrevet 31. mai 2004 Kunne det kansje vært en ide å bruke switch isteden for if? Lenke til kommentar
Vann: kr.15 Skrevet 31. mai 2004 Forfatter Del Skrevet 31. mai 2004 (endret) Men hva er forskjellen på "switch" og "if"? Endret 22. juli 2004 av Tha Phreak Lenke til kommentar
Dead_Rabbit Skrevet 31. mai 2004 Del Skrevet 31. mai 2004 Med switch er det lettere holder man bedre orden, hvertfall hvis det er mye som skal testes. Kan du lage en switch settning? For det ville vært bedre her ser det ut som. Lenke til kommentar
Vann: kr.15 Skrevet 31. mai 2004 Forfatter Del Skrevet 31. mai 2004 Kan du gi meg et eksempel på en switch-setning? Lenke til kommentar
Dead_Rabbit Skrevet 31. mai 2004 Del Skrevet 31. mai 2004 Ja det kan jeg : ----------------------------------KODE HER------------------------------------- cout << "Tast a for å velge 'a', eller tast b for å velge 'b': "; char variabel; switch (variabel) { case 'a': cout << "Du skrev a."; break; case 'b': cout << "Du skrev b."; break; default: cout << "Du tasta verken a eller b."; break; } ----------------------------------------------------------------------------------- Lenke til kommentar
Vann: kr.15 Skrevet 31. mai 2004 Forfatter Del Skrevet 31. mai 2004 (endret) Her er spillet mitt.. Det er fortsatt litt uferdig men det kommer seg nå. Jeg fant en måte å løse problemene på, så nå kan jeg lage det ganske langt. Ta en titt på koden og se litt der det står en notis etter //. EDIT: Forresten glem det.. Fant feilen.. Jeg har rettet koden nå. #include <iostream> #include <string> using namespace std; namespace hus { string streng = "a house."; }; namespace tre { string streng = "a tree."; }; int main () { int a; int b; int c; int d; int e; int f; int g; int h; int i; int j; int k; int l; int m; int n; int o; int p; int q; int r; int s; int t; int u; int v; int w; int x; int y; int z; int gold; gold = 0;//Her er koden rettet// cout << "Do you want to look left or right? Type 0 for left, or 1 for right" << endl; cin >> a; if (a == 0) cout << "You look to the left, and see see " << hus::streng << endl; if (a == 1) cout << "You look to the right, and see " << tre::streng << endl; if (a == 0) b = 0; if (a == 1) b = 1; if (b == 0) cout << "You walk over to the house and, discover that the door is not locked. What do you do? 0=Enter the house 1=Walk into the nearby forest" << endl; if (b != 1) cin >> c; if (b == 1) cout << "You walk over to the tree and you see a hole in the ground. What do you do? 0=Go back to your house to get a spade 1=Dig with your hands" << endl; if (b != 0) cin >> d; if (c == 0) cout << "The door slowly opens, and you walk inside. There you see a crate. Inside the crate, you find some gold. Would you like to pick it up? 0=Yes 1=No" << endl; if (c == 0) cin >> d; if (d == 0) cout << "10 Gold has been added to your inventory!! You walk out of the house" << endl; if (d == 0) gold = gold + 10; if (d == 0) cout << "You have " << gold << " gold in your inventory" << endl;//Hvorfor funker det ikke å vise hvor mye gold man har i ryggsekken?// if (d == 1) cout << "You leave the gold in the crate, thinking its best not to steal from someone else, and walk out of the house" << endl; return (0); } Endret 31. mai 2004 av Tha Phreak Lenke til kommentar
GNUfan Skrevet 31. mai 2004 Del Skrevet 31. mai 2004 Der var det voldsomt mange flere integere enn du trenger! Også litt overkill å bruke namespaces til hver sin streng. En ting du kunne gjort her var å bruke nøstede if-setninger, altså if(han gikk mot skogen){ if(han fant ei dame i skogen){ cout<< "######SENSUR!!" << endl; } else if(han fant ikkeno i skogen){ cout<<"Bwahaha! Du er pwned!" << endl; } } if(han gikk mot huset){ if(han gadd å plukke opp){ gold+=10; } } Grunnen til at den gold-tingen ikke virker er at du ikke initialiserer variabelen gold. Du må sette int gold = 0; i stedet for int gold; ellers så vil gold inneholde en verdi som tilfeldigvis lå på minne der som gold skulle ligge. Når du da øker gold med 10 sånn: gold = gold + 10; så blir gold satt til ett tilfeldig tall pluss 10. Edit: Åja, du hadde ordna det ja. En ting til: Lær deg bruken av {}, for if (d == 0) cout << "10 Gold has been added to your inventory!! You walk out of the house" << endl; if (d == 0) gold = gold + 10; if (d == 0) cout << "You have " << gold << " gold in your inventory" << endl;//Hvorfor funker det ikke å vise hvor mye gold man har i ryggsekken?// kan skrives sånn: if (d == 0){ cout << "10 Gold has been added to your inventory!! You walk out of the house" << endl; gold = gold + 10; cout << "You have " << gold << " gold in your inventory" << endl;//Hvorfor funker det ikke å vise hvor mye gold man har i ryggsekken?//} Og da blir ting plutselig mye greiere å holde styr på. Bruk også mer logiske navn på variablene dine! (ikke a,b,c,d) Lenke til kommentar
Vann: kr.15 Skrevet 31. mai 2004 Forfatter Del Skrevet 31. mai 2004 Ok, det skal jeg. Det er en namespace til hver sin streng, fordi jeg skulle teste namespace. Jeg skal bruke flere {}, så takk for tipset. Lenke til kommentar
Vann: kr.15 Skrevet 2. juni 2004 Forfatter Del Skrevet 2. juni 2004 Hei! Er det noen som har peiling på hvordan man får lyd-filer til å kjøre med et program. Programmet skal ikke gjøre noe annet enn å kjøre lydfilen. Det vil si at det ikke skal vises noe vindu når man starter programmet. Lenke til kommentar
consilium Skrevet 3. juni 2004 Del Skrevet 3. juni 2004 Når vi først er inn på C++ her... Hvordan kan man bearbeide en ekstern fil, som f.eks. en .EXE-fil i et program? Vi antar at vi vet hvordan .EXE-filenes konstruksjon er bygd opp. Lenke til kommentar
søppel Skrevet 3. juni 2004 Del Skrevet 3. juni 2004 (endret) Tha Phreak: Gløm det der nå .. du må først lære C++ .. ikke kom tilbake før du har lest en hel bok og kan alt i den. (men spør gjerne om ting du måtte lure på i sammenheng med det som står i boka) Hint: Du må finne et bibliotek/API (dette eller dette f.eks. eller det i DirectX) som leser inn lydfilen og spiller den av. Akkurat samme som når man vil lage GUI'er i programmet .. man må finne seg et bibliotek/API. Endret 3. juni 2004 av søppel Lenke til kommentar
søppel Skrevet 3. juni 2004 Del Skrevet 3. juni 2004 (endret) D-Xpert: Dette er rett frem; man åpner filen i binary-mode og leser den inn .. gjør endringer .. og skriver den ut igjen. Hint: Finn frem en bok om C++ .. slå opp på IO eller Input/output. Edit: Man trenger ingen eksterne biblioteker eller api'er for dette: http://nostdal.net/lars/ticpp-v1/Chapter02.html#Heading95 http://nostdal.net/lars/ticpp-v2/#_Toc53985673 Endret 3. juni 2004 av søppel Lenke til kommentar
Vann: kr.15 Skrevet 3. september 2004 Forfatter Del Skrevet 3. september 2004 Heisann.. En stund siden jeg har posta noe her.. Tenkte å legge ut koden til det nyeste programmet mitt her for å se hva dere syns.. Sammenlign med det første programmet mitt, som jeg tror er posta her.. #include <iostream>#include <cctype> using namespace std; int main () { const char jasvar = 'J'; const char neisvar = 'N'; const char trekant = 'T'; const char sirkel = 'S'; const char kvadrat = 'K'; const char rektangel = 'R'; const double pi = 3.14; bool flere = true; while (flere) { char valg; cout << "Trekant, Sirkel, Rektangel eller Kvadrat (" << trekant << "/" << sirkel << "/" << rektangel << "/" << kvadrat << ") ? "; cin >> valg; valg = toupper(valg); double areal; if (valg == trekant) { double grunnlinje; double hoyde; cout << "skriv grunnlinje og hoyde: "; cin >> grunnlinje >> hoyde; areal = grunnlinje * hoyde * 0.5; } else if (valg == sirkel) { double radius; cout << "skriv radius: "; cin >> radius; areal = pi * radius * radius; } else if (valg == kvadrat) { double side; cout << "skriv en av sidene: "; cin >> side; areal = side * side; } else if (valg == rektangel) { double lengde; double bredde; cout << "Skriv lengde og bredde: "; cin >> lengde >> bredde; areal = lengde * bredde; } cout << "arealet blir: " << areal << endl; char svar; cout << "flere beregninger? (" << jasvar << "/" << neisvar << ") "; cin >> svar; svar = toupper(svar); if (svar != jasvar) flere = false; } return 0; } Lenke til kommentar
GeirGrusom Skrevet 3. september 2004 Del Skrevet 3. september 2004 Ville bare lage litt kvalme og poste litt av koden til spillet mitt. void c_terrain::createTerrain(c_terrain *target, ulong w_segs, ulong h_segs, float cell_width, float cell_height, float u_tiles, float v_tiles) { uint x, y; triangle *t; float start_x = -((cell_width * w_segs) / 2) / 2; float start_y = -((cell_height * h_segs) / 2) / 2; float w_t_x = cell_width * w_segs; float w_t_y = cell_height * w_segs; float w_x = start_x, w_y = start_y; float ww_x = 0, ww_y = 0; mesh_vertex *mb; if(!target->createBuffer(h_segs * w_segs, 2 * ((h_segs - 1) * (w_segs - 1)))) return; target->m_cell_width = cell_width; target->m_cell_height = cell_height; target->m_h_segs = h_segs; target->m_w_segs = w_segs; // Create vertex buffer // Start at first entry in buffer mb = target->m_vertexbuffer; for(y=0;y<target->m_h_segs;y++) { for(x=0;x<target->m_w_segs;x++) { mb->u = (ww_x / w_t_x) * u_tiles; mb->v = (ww_y / w_t_y) * v_tiles; mb->alpha = 255; mb->x = w_x + start_x; mb->y = w_y + start_y; mb->z = 0; w_x += cell_width; ww_x += cell_width; mb++; } w_x = start_x; ww_x = 0; ww_y += cell_height; w_y += cell_height; } // Faces t = target->m_tribuffer; for(y=0;y<h_segs - 1;y++) { for(x=0;x<w_segs - 1;x++) { t->a = target->toIndex(x, y); t->b = target->toIndex(x + 1, y); t->c = target->toIndex(x, y + 1); t++; t->a = target->toIndex(x + 1, y); t->b = target->toIndex(x + 1, y + 1); t->c = target->toIndex(x, y + 1); t++; } } } Lenke til kommentar
Vann: kr.15 Skrevet 3. september 2004 Forfatter Del Skrevet 3. september 2004 (endret) For nå skjønnte jo jeg mye.. Endret 3. september 2004 av Tha Phreak Lenke til kommentar
Rafael Skrevet 7. september 2004 Del Skrevet 7. september 2004 (endret) *slettet* Endret 7. september 2004 av Rafael Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå