Brugernavn:




Kodeord: Husk
Forside Forum Artikler Downloads Søg
 

Jackpot spil i c++

Forord

I denne artikel vil jeg gennemgå en kode, for at vise jer hvad der sker igennem hele processen.

I denne artikel vil jeg forklare lidt om tegnene som bruges i c++ så i kan følge med i hvad der laves de forskellige steder, så i kan lære lidt.

Forkortelser:
rand=random

Her er der en forklaring af de forskellige tegn:

[ => gør klar til at lave et sted man selv må bestemme hvad man vil skrive.
] => afslutter et sted man selv må bestemme hvad man vil skrive.
<x> => x er et ord som vi har haft tidligere oppe i artiklen. Står der således <jackpot> skal der indsættes en "jackpot" i stedet for hele tekstblokken.
[x] => x bruges tit når man skal indsætte en speciel kode.
... => Når der skal gentages noget flere gange, eksempel:
<hej1>,<hej22>, ... ,<hejmeddig>. I det her eksempel er der forklaret hvad hejmeddig er tidligere i eksemplet, man kan også ændre det til et q så der ikke er meget der skal skrives for det, så det bliver <q>.

Slut på tegn forklaringen, nu skal vi i gang:

Først skal vi includere de filer der skal gøre at vi kan udføre visse ting i koden, og det gør vi her:

  1. #include <iostream>
  2. #include <stdlib.h>
  3. #include <time.h>

Så fik vi includeret nogen filer

nu laver du 2 linieskift og så kan vi gå videre med starten, nu skal der nemlig startes op:

  1. using namespace std;

  2. void Start ();
  3. void GetResults ();

  4. int  i, j, life, maxrand;
  5. char c;


  6. void
  7. Start ()
  8. {
  9.      i = 0;
  10.      j = 0;
  11.      life = 0;
  12.      maxrand = 6;

1. Vi laver en char (også kendt fra SQL)
2. Vi sætter void til at lave så liv starter på 0 så vi kan lave liv længere nede.

Nu skal du igen lave 2 linieskift, det er yderst vigtigt at du gør det, ellers knækker din kode muligvis.

Vi skal nu i gang med cout som er et slags frit område hvor du kan bestemme hvad der skal skrives.

  1.      cout << "Tryk det tal du vil spille:
  2. "; // der skal findes et tal
  3.      cout << "tryk 1 for : barn-teenager (0-15 aar)
  4. ";
  5.      cout << "tryk 2 for : ungkagl (0-30 aar)
  6. ";
  7.      cout << "tryk 3 for : voksen (0-50 aar)
  8. ";
  9.      cout << "eller skriv noget andet for at komme ud af spillet
  10. ";
  11.      c = 30;

1. Først skriver vi hvad den skal skrive, og laver et
som er et linieskift i c++.
2. så skriver vi valg muligheder så der kan vælges om man er barn, ungkagl eller voksen, det er sværdheds grader, teksten kan selvfølgelig ændres.
3. vi skriver til modtageren at han også kan gå ud af spillet ved at skrive noget andet.
4. vi logger videre

Nu laver du igen 2 linieskift, og som sagt det er vigtigt at du gør det.

Og så forsætter vi:

  1.      cin >> c;                   // vi henter dataerne til nedenfor
  2.      cout << "
  3. ";

Vi sender dataerne fra cout videre.

Lav nu igen 2 linieskift.

Og videre så vi ikke går i stå med de data:

  1.      switch (c)
  2.      {
  3.         case "1" : maxrand = 15;  // vi ser hvad der blev valgt
  4.         break;
  5.         case "2" : maxrand = 30;
  6.         break;
  7.         case "3" : maxrand = 50;
  8.         break;
  9.         default : exit(0);
  10.         break;
  11.      }

1. Vi kigger om man valgte 0-15 år, eller hvad man nu valgte.
2. Vi gemmer oplysningerne, vi får brug for dem længere nede.

Lav nu 2 linieskift igen, og derefter videre:


  1.      life = 15;         // vi skriver hvor mange gange brugeren skal kunne spille (en salgs liv)
  2.      srand( (unsigned)time( NULL ) ); // vi laver en Rand() funktion
  3.      j = rand() % maxrand;  // vi laver noget rand saa der ikke kan trykkes 0 som sats

  4.      GetResults();

  5. }

1. Vi vælger hvor mange omgange man skal kunne spille, jeg har valgt 15 da jeg syntes det er passende til et jackpot spil, du kan bare skifte det med de antal omgange du syntes ved life = 15;
2. Vi gør klar med en rand funktion.
3. Vi udføre rand funktionen

lav nu 2 linieskift igen, og derefter videre:

  1. void
  2. GetResults ()
  3. {
  4.      if (life <= 0)
  5.         // hvis brugeren ikke har mere liv tilbage saa skriver vi
  6.      {
  7.         cout << "Du tabte !

  8. ";
  9.         Start();
  10.      }


1. Vi henter dataerne omkring hvor mange omgange der er tilbage at spille i.
2. Vi vælger hvad der skal stå i sætningen når man taber
3. vi afslutter alt med tabte

lav 2 linieskift igen, og bagefter videre:

  1.      cout << "Skriv et nummer du vil spille paa:
  2. ";
  3.      cin >> i;          // vi henter brugerens nummer til databasen

  4.      if ((i>maxrand) || (i<0)) // hvis nummeret ikke kan vaelges saa start forfra
  5.      {
  6.         cout << "Error : Nummeret kan ikke vaere 0 og
  7. " << maxrand;
  8.         GetResults();
  9.      }

  10.      if (i == j)
  11.      {
  12.         cout << "Du vandt !

  13. "; // vi tjekker om der blev vundet
  14.         Start();
  15.      }

Sikke en mundfuld.

1. Vi skriver til modstanderen at han skal skrive et nummer han vil spille på.
2. Så henter vi det nummer brugeren skrev til databasen.
3. Vi laver et lille maxrand så hvis tallet f.eks. er bogstaver så starter systemet forfra.
4. hvis der blev skrevet 0 som nummer skriver vi det lige til brugeren der spiller.
5. Vi laver så den tjekker om der bliver vundet.

Så er vi lidt over halvejs.

Lav nu igen 2 linieskift, og derefter videre:

  1.  else if (i>j)
  2.      {
  3.         cout << "Tallet var for stort
  4. ";
  5.         life = life - 1;    // -1 vi laver minus saa naar man spiller traekker den en omgang (et liv)
  6.         cout << "Du har: " << life << " gange tilbage til at spille for

  7. ";
  8.         GetResults();
  9.      }

  10.      else if (i<j)
  11.      {
  12.         cout << "Dit tal var for lille
  13. ";
  14.         life = life - 1;
  15.         cout << "Antal gange tilbage at spille for:
  16. " << life << "

  17. "; // vi henter og ser hvor mange gange der er tilbage at spille for og skriver det
  18.         GetResults();
  19.      }
  20. }

1. Vi laver else som i sikkert kender fra php, altså "ellers, så gør dit og dat"
2. Vi skriver til systemet at hvis tallet var for stort skal den skrive det.
3. Vi trækker en omgang (et liv)
4. Vi tjekker om tallet er for lille, og skriver hvis det er.
5. Vi skriver hvor mange gange brugeren har tilbage at spille i.
6. Vi laver et getreslutat som kigger hvad man skrev som satstal.
7. vi afslutter else og går videre til det sidste.

Lav 2 linieskift igen, og derefter går vi videre med det sidste i denne artikel.

  1. int
  2. main ()
  3. {
  4.      cout << "** Jackpot **
  5. ";
  6.      cout << "I dette jackpot spil skal du bare vinde ligesom i alle andre jackpot spil
  7. "; // vi skriver hvad der skal startes med for oven at blive skrevet
  8.      cout << "et nummer (du har 15 gange til at spille i)
  9. ";
  10.      cout << "Vi vil fortaelle dig om nummeret er for lille, stort, forkert eller rigtigt

  11. ";
  12.      Start();
  13.      return 0;
  14. }

1. Vi laver et int, som i sikkert også kender fra SQL, og derefter laver vi main.
2. Vi laver cout som skriver hvad der skal stå aller øverst når man starter spillet, i skifter bare teksten som i vil, dog skal ingen
slettes.
3. Vi laver start som også kunne have været i toppen af koden, men sådan har vi ikke tilpasset det, så lad venligst være med det.
4. Vi laver return, så den opdatere det hele tiden og kan komme med nye sætninger, så man ikke skal trykke på et eller anden opdater knap.

Så er vi ved at være færdige, og kunne i ikke få det til at virke står her alligevel hele koden:

  1. #include <iostream>
  2. #include <stdlib.h>
  3. #include <time.h>

  4. using namespace std;

  5. void Start ();
  6. void GetResults ();

  7. int  i, j, life, maxrand;
  8. char c;


  9. void
  10. Start ()
  11. {
  12.      i = 0;
  13.      j = 0;
  14.      life = 0;
  15.      maxrand = 6;

  16.      cout << "Tryk det tal du vil spille:
  17. "; // der skal findes et tal
  18.      cout << "tryk 1 for : barn (0-15 aar)
  19. ";
  20.      cout << "tryk 2 for : Teenager (0-30 aar)
  21. ";
  22.      cout << "tryk 3 for : voksen (0-50 aar)
  23. ";
  24.      cout << "eller skriv noget andet for at komme ud af spillet
  25. ";
  26.      c = 30;

  27.      cin >> c;                   // vi henter dataerne til nedenfor
  28.      cout << "
  29. ";

  30.      switch (c)
  31.      {
  32.         case "1" : maxrand = 15;  // vi ser hvad der blev valgt
  33.         break;
  34.         case "2" : maxrand = 30;
  35.         break;
  36.         case "3" : maxrand = 50;
  37.         break;
  38.         default : exit(0);
  39.         break;
  40.      }

  41.      life = 15;         // vi skriver hvor mange gange brugeren skal kunne spille (en salgs liv)
  42.      srand( (unsigned)time( NULL ) ); // vi laver en Rand() funktion
  43.      j = rand() % maxrand;  // vi laver noget rand saa der ikke kan trykkes 0 som sats

  44.      GetResults();

  45. }


  46. void
  47. GetResults ()
  48. {
  49.      if (life <= 0)
  50.         // hvis brugeren ikke har mere liv tilbage saa skriver vi
  51.      {
  52.         cout << "Du tabte !

  53. ";
  54.         Start();
  55.      }

  56.      cout << "Skriv et nummer du vil spille paa:
  57. ";
  58.      cin >> i;          // vi henter brugerens nummer til databasen

  59.      if ((i>maxrand) || (i<0)) // hvis nummeret ikke kan vaelges saa start forfra
  60.      {
  61.         cout << "Error : Nummeret kan ikke vaere 0 og
  62. " << maxrand;
  63.         GetResults();
  64.      }

  65.      if (i == j)
  66.      {
  67.         cout << "Du vandt !

  68. "; // vi tjekker om der blev vundet
  69.         Start();
  70.      }

  71.      else if (i>j)
  72.      {
  73.         cout << "Tallet var for stort
  74. ";
  75.         life = life - 1;    // -1 vi laver minus saa naar man spiller traekker den en omgang (et liv)
  76.         cout << "Du har: " << life << " gange tilbage til at spille for

  77. ";
  78.         GetResults();
  79.      }

  80.      else if (i<j)
  81.      {
  82.         cout << "Dit tal var for lille
  83. ";
  84.         life = life - 1;
  85.         cout << "Antal gange tilbage at spille for:
  86. " << life << "

  87. "; // vi henter og ser hvor mange gange der er tilbage at spille for og skriver det
  88.         GetResults();
  89.      }
  90. }


  91. int
  92. main ()
  93. {
  94.      cout << "** Jackpot **
  95. ";
  96.      cout << "I dette jackpot spil skal du bare vinde ligesom i alle andre jackpot spil
  97. "; // vi skriver hvad der skal startes med for oven at blive skrevet
  98.      cout << "et nummer (you have 15 gange til at spille i)
  99. ";
  100.      cout << "Vi vil fortaelle dig om nummeret er for lille eller stort

  101. ";
  102.      Start();
  103.      return 0;
  104. }

Hvis i har læst artiklen, så bedøm den gerne, hvis i kun har læst koden, så ville en kommentar fra jeres side være dum i mit øre.

I får mest ud af at læse artiklen

Kan i ikke få det til at virke så skriv hvad fejlen er i en kommentar.

Har i heller ikke et program til c++ kan det findes på http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup.exe?use_mirror=jaist

PS. det er dev-c++, jeg bruger selv programmet.
Sidst redigeret 16:39 30/05/2007 af Rowl
Oprettet af:

C/C++

Point modtaget: 0

Rate:
13:54 16/06/2006

Kommentarer

Giv din mening tilkende om denne artikel, eller læs andres.
Har du spørgsmål eller brug for hjælp til denne artikel henvises du til forummet.
LR; du sagde at man skulle have time.h med for at kunne pluse i et program. Time-funktionen er jo ligesom en time-funktion i et hviklet som helst andet sprog.

Insanity Of Denmark; det har han skam heller ikke.
Oprettet af:
  Mail
18:16 16/06/2006
ikke pludse, minus"e
- og jo jeg har skrevet artiklen, dog er spillet standardt kode i programmet..
- har selv skrevet den ;P nu skal i ikke komme for godt i gang
Oprettet af:
  Mail
18:23 16/06/2006
Kom videre i dit liv ;) det var fortid.. det er slettet nu så shh :D
Oprettet af:
  Mail
18:24 16/06/2006
Virker som om du har brugt lang tid på det og at du gør dig umage med at beskrive tingene, dog lidt for lang til mig da jeg entelig ikke behøver at lære det ;) Ellers fint
Oprettet af:
  Mail
11:15 17/06/2006
LR, er liidt ligesom Aldiin, Henrik og alle de der hoveder. "Kom videre i dit liv, det fortid" "Sut min pik" "Svans" "Taber" i kan ikke sige andet? Forhelvede.. De prøver kun at hjælpe, hvis i ikke kan tage kritik så SKRID FORHELVEDE!
Oprettet af:
  Mail
09:44 25/06/2006
jeg vil sq ikke forbindes med de SVIN.. jeg gider bare ikke blive ved med at køre rundt i hvad jeg taler om i artiklen, når jeg har slettet det igen :D
Oprettet af:
  Mail
22:06 25/06/2006
Ikke for at afbryde jeres skænderi men det er en artikel og ikke et sted hvor man skændes og ja som LR siger så kom videre, og han er (så vidt jeg ved) ikke som Aldiin og henrik!
Sidst redigeret 19:45 - 09/07/2006
Oprettet af:
  Mail
19:44 09/07/2006
Hold da op void .. tænk at du gider at spilde din tid på at skrive så mange ord ( grimme ) til sådan en flot artikel. noob
Oprettet af:
  Mail
16:18 04/03/2008
Hold da op void .. tænk at du gider at spilde din tid på at skrive så mange ord ( grimme ) til sådan en flot artikel. noob
Oprettet af:
  Mail
16:18 04/03/2008
Du skal være oprettet og logget ind for at kommentere en artikel
Copyright © Rowl.dk v/ Michael Raagaard | 2005-12 | Alle rettigheder forbeholdes