[c++]gaat iets fout in vergelijken arrays

Pagina: 1
Acties:

  • THIJZEL
  • Registratie: Januari 2001
  • Niet online
hallo, ik ben snake aan hat maken in c++ en nu kom ik een vage fout tegen, weet iemand wat ik fout doe?
De functie controleer geeft altijd 1 terug zelfs als het slanngetje's kop z'n lijf niet raakt( x[0]en y[0] zijn gelijk aan x[i] en y[i])

ook is er zo iets als watch, ik wil daarmee de waarden van x en y in de functie controleer bekijken maar ik weet niet prexies hoe dat werkt, kan iemand me dat vertellen?
(ik gebruik borland c++ 3.1
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <iostream.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

int x[] = {10,10,10,10,10,10};
int y[] = {4,5,6,7,8,9};
char slang[] = "@**** ";
int c1,c2;


void paint();
void schuifop();
int controleer();

void main()
{
clrscr();
paint();

    do
    {
        c2=getch();
        if(c2==77 && x[0]<80){schuifop();x[0]++;if(controleer()){break;};} //rechts
        if(c2==75 && x[0]>1){schuifop();x[0]--;if(controleer()){break;};} //links
        if(c2==72 && y[0]>3){schuifop();y[0]--;if(controleer()){break;};} //up
        if(c2==80 && y[0]<25){schuifop();y[0]++;if(controleer()){break;};} //dn
        paint();
    }while(c2!=27); //esc word niet ingedrukt
}

void paint()
{
    //clrscr();
    for(int i=0;i<6;i++)
    {
        gotoxy(x[i],y[i]);
        cout<<(slang[i]);
    }
}

void schuifop()
{


    for (int i=5;i>0;i--)
    {
        x[i] = x[i-1];
        y[i] = y[i-1];

    }
}

int controleer()
{
    for(int i=1;i<6;i++)
    {
    if ((x[0]==x[i])&&(y[0]==y[i])){return(1);}
    }
}

Verwijderd

even niet verder gekeken dan m'n neus lang was
code:
1
2
3
4
5
6
7
8
int controleer()
{
    for(int i=1;i<6;i++)
    {
    if ((x[0]==x[i])&&(y[0]==y[i])){return(1);}
    }
    return 0;
}

  • THIJZEL
  • Registratie: Januari 2001
  • Niet online
Op zaterdag 24 november 2001 19:58 schreef Yarvieh het volgende:
even niet verder gekeken dan m'n neus lang was
code:
1
2
3
4
5
6
7
8
int controleer()
{
    for(int i=1;i<6;i++)
    {
    if ((x[0]==x[i])&&(y[0]==y[i])){return(1);}
    }
    return 0;
}
whoops sollie::P

ik ben maar een beginner he

Verwijderd

Geen compiler waring over gehad trouwens?

  • THIJZEL
  • Registratie: Januari 2001
  • Niet online
Op zaterdag 24 november 2001 20:02 schreef Yarvieh het volgende:
Geen compiler waring over gehad trouwens?
nope

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
THIJZEL: nope
Das wel extreem matig. Ben benieuwd wat de compiler daar dan uitgespookt/van gemaakt heeft...

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • THIJZEL
  • Registratie: Januari 2001
  • Niet online
hoe geef ik in c++ een beep(piepje van pc speaker), ik heb al cout<<7; geprobeerd maar dat werkte nie

(7 is in ascii een beep toch?)

  • Apache
  • Registratie: Juli 2000
  • Laatst online: 14-09 22:46

Apache

amateur software devver

\a ?

If it ain't broken it doesn't have enough features


  • THIJZEL
  • Registratie: Januari 2001
  • Niet online
Op zaterdag 24 november 2001 22:22 schreef Apache het volgende:
\a ?
heb het al cout<<(char(7));

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 16-09 23:59
[...]
nope
Als ik het ding compileer met TC3.1 krijg ik deze warning:
code:
1
Warning NONAME00.CPP 10: Function should return a value

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • THIJZEL
  • Registratie: Januari 2001
  • Niet online
Op zaterdag 24 november 2001 22:49 schreef farlane het volgende:

[..]

Als ik het ding compileer met TC3.1 krijg ik deze warning:
code:
1
Warning NONAME00.CPP 10: Function should return a value
welke compiler gebruik jij dan?

ik degene die standaart bij borland c++ zit.

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 16-09 23:59
Volgens mij is het niet mogelijk om in TC een compiler anders dan de standaard compiler te gebruiken. Anyweeez...de standaard TC3.1 compiler dus. Check je settings in Options->Compiler->Messages->Frequent Errors etc.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • Pooh
  • Registratie: April 2001
  • Niet online

Pooh

Lees eens een boek

Op zaterdag 24 november 2001 20:15 schreef mbravenboer het volgende:

[..]

Das wel extreem matig. Ben benieuwd wat de compiler daar dan uitgespookt/van gemaakt heeft...
Niks returnen betekent in sommige gevallen (bijv meeste compilers op win95/98: return willeukeurige memory-waarde (die waar returnvalue vandaan zou moeten komen)), in sommige gevallen (winNT, die alles netjes op 0 zet), return 0, en in somige andere gevallen weer wat anders. De compiler maakt er altijd wel wat van, maar netjes is natuurlijk anders (al geeft 't bijna nooit problemen als je de returnvalue toch niet gebruikt))
Pagina: 1