NetVision-Technik

Zur?ck   NetVision-Technik > Forum > Programmierung > C / C++

C / C++ Hier findet ihr Code-Schnipsel zu C & C++

Antwort
 
Themen-Optionen Ansicht
Alt 27.10.2008, 18:33   #1
Moor und Nebel
Solstice Solstice ist offline 27.10.2008, 18:33

Hehe. Ich hab mein erstes echtes C/C++ Game geschrieben.
Es nennt sich Moor und Nebel.

Es geht darum den Weg durch ein ASCII Moor zu finden der irgenwo am rechten Rand endet, den man natürlich vor lauter Nebel nicht sieht... logisch wenn man danebendappt: ein Leben wech.

Bedient wird es mit dem Zocker "wasd"

dh:
nach oben: "w"
nach links: "a"
nach unten: "s"
nach rechts: "d"

Das Spiel kann man mit dem süßen kreuz oben in der rechten ecke des fensters schließen... wie so manche popups

Man kann es beliebig oft spielen und der Weg ist selbstverständlich jedes mal ein anderer XD.

man hat 8 Leben insgesamt jedes Game.

Also fürs erste find ich es echt gut, da man daren echt seinen Spass finden kann, insbesondere mit freunden kann man sich da zu tode lachen XD
(Schadenfreude )
so einfach und doch genial.

Leider hat es halt grafisch nur ASCII zu bieten.
Für Interressierte rück ich auch gern den Quelltext raus:
Code:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>

// QT by Solstice

int umgebung(int rd)
{
    int rdt;
rdt = rand()%2;
if (!(rdt==1))
rdt = -1;
rd = rd+rdt;
return rd;
}

int check(int x,int y, char see[8][9])
{
if (see[x][y] == 'G')
return 2;
if (see[x][y] == '#' || see[x][y] == '*')
return 1;
else
return 0;
}


void main()
{
int lives = 8;

// randomizer
srand(time(0L));
int rd;
int rdt;
int gord;
int x;
int y;
int getit;
int direct;
int ycu;
int cnt;
int cntrd;
char see[8][9];
int dirc;
int game=1;

int curx;
int cury;

while (1) // Das Endlosspiel
{
int got = 0;
while (got == 0)
{

x=0;
y=0;
cnt=0;
for (x=0;x<8;x++)
 for (y=0;y<8;y++)
  see[x][y] = '~';

gord = 1;
x=0;
y=0;
ycu=0;
rd=rand()%8;
see[rd][ycu] = '*';

curx=rd;   // Reihe
cury=ycu;  // Zeile



rdt = rd;
getit = 1;
while(getit)
{


cnt++;          /// Sicherung gegegen Endlosschleife
if (cnt > 70)
break;



direct = rand()%2;
if (direct==1)  // Links/Rechts
{
y = umgebung(ycu);

if (y<8 && y>=0)
{
if (y == 7)
{
see[rd][y]= 'G';
getit = 0;
}

dirc = y-ycu;
dirc = dirc*2+ycu;

if (see[rd][y] == '~' && see[rd][dirc] != '#' && see[rd][dirc] != '*' && see[rd-1][y] != '#' && see[rd+1][y]!='#' && see[rd-1][y] != '*' && see[rd-1][y] != '*')
{
ycu=y;
see[rd][y]= '#';
}
else
continue;


}
else
continue;

} // ende von direct
else                 // Hoch/Runter
{ // else von direct
rdt = umgebung(rd);

if (rdt<8 && rdt>=0)
{

dirc = rdt-rd;
dirc = dirc*2+rd;

if (see[rdt][ycu] == '~' && see[dirc][ycu] != '#' && see[dirc][ycu] != '*' && see[rdt][ycu+1] != '#' && see[rdt][ycu-1] != '#' && see[rdt][ycu-1] != '*' && see[rdt][ycu+1] != '*')
{
rd = rdt;
see[rdt][ycu] = '#'; 
}
else
continue;

} // ende gültigkeitsbereich.
else
continue;


}  // ende else von direct 


game=1;
} // While getit ende

for (cntrd=0;cntrd<8;cntrd++)
{
if (see[cntrd][7] == 'G')
got = 1;
}

}
/*
for (x=0;x<8;x++)
{
for (y=0;y<8;y++)
printf ("%c",see[x][y]);
printf("\n"); 
}
printf("\n\n\n"); 
*/
// randomizer ende

int ch;
    int left;
    int right;
    int up;
    int down;
    int err;
char dir;

printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");

for (x=0;x<8;x++)
{
for (y=0;y<8;y++)
if (see[x][y] != '*')
printf ("~");
else
printf ("*");

printf("\n"); 

}

while (game)
{
left = 0;
right = 0;
up = 0;
down = 0;
err = 1;
dir = 0;


//scanf ("%c", &dir);
dir = getch();

if (dir=='a' || dir=='A')
left = 1;
if (dir=='d' || dir=='D')
right = 1;
if (dir=='w' || dir=='W')
up = 1;
if (dir=='s' || dir=='S')
down = 1;


see[curx][cury] = '#';


if (left)
cury--;
if (right)
cury++;
if (up)
curx--;
if (down)
curx++;


ch = check(curx,cury,see);
see[curx][cury] = '*';

for (x=0;x<8;x++)
{
for (y=0;y<8;y++)
if (see[x][y] == '*')
err = 0;
}
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");

if (ch == 0 || err == 1)
{
lives--;
printf ("Ups, du bist danebengetreten, du verlierst ein Leben\nLeben: %d\n", lives);

see[curx][cury] = '~';
if (left)
cury++;
if (right)
cury--;
if (up)
curx++;
if (down)
curx--;
see[curx][cury] = '*';


if (lives == 0)
{
printf ("Du hast keine Leben mehr... Game Over\n");

for (x=0;x<8;x++)
{
for (y=0;y<8;y++)
printf ("%c",see[x][y]);
printf("\n"); 
}


getch();
game=0;
continue;
}


printf("\n"); 
}

if (ch == 2)
{
printf ("Super, du hast es geschafft.\n Du hast gewonnen!!\n");

for (x=0;x<8;x++)
{
for (y=0;y<8;y++)
printf ("%c",see[x][y]);
printf("\n"); 
}
getch();
game=0;
continue;
}


for (x=0;x<8;x++)
{
for (y=0;y<8;y++)
if (see[x][y] != '*')
printf ("~");
else
printf ("*");

printf("\n"); 

}
} // ende While schleife

lives = 8;
}
} // ende main
mfg,
Sol

Angeh?ngte Dateien
Dateityp: zip MoorSpiel.zip (33,2 KB, 22x aufgerufen)

__________________
Schmutziges Geschirr schimmelt nicht,
wenn man es einfriert


Ge?ndert von Solstice (02.11.2008 um 18:11 Uhr).

 
Benutzerbild von Solstice
Solstice
Moderator
Punkte: 71.264, Level: 100 Punkte: 71.264, Level: 100 Punkte: 71.264, Level: 100
Levelaufstieg: 0% Levelaufstieg: 0% Levelaufstieg: 0%
Aktivität: 0% Aktivität: 0% Aktivität: 0%
Letzte Erfolge
Auszeichnungen
Registriert seit: 10.04.2008
Alter: 36
Beitr?ge: 4.074
Abgegebene Danke: 200
Erhielt 1.331 Danke für 153 Beiträge
Downloads: 2
Uploads: 1
Nachrichten: 731
Hits: 22457
Mit Zitat antworten
Folgende 10 Benutzer sagen Danke zu Solstice für den nützlichen Beitrag:
$iMpLy (27.10.2008), Bluesteel (19.02.2009), Bulli (20.10.2009), Cerberus (27.10.2008), Dark-Destroyer (27.10.2008), djfreakmen (18.04.2009), gotthummer (27.10.2008), One12 (18.04.2009), P4N1C (18.04.2009), Thunder™ (29.03.2013)
Alt 18.04.2009, 09:36   #2
Rasta
Gesperrt
Punkte: 828, Level: 15 Punkte: 828, Level: 15 Punkte: 828, Level: 15
Levelaufstieg: 28% Levelaufstieg: 28% Levelaufstieg: 28%
Aktivität: 75,0% Aktivität: 75,0% Aktivität: 75,0%
Letzte Erfolge
Artikel Benutzer besitzt 2x Anfänger Benutzer besitzt 1x Grundwissen Benutzer besitzt 1x Hilfe Level 2 Benutzer besitzt 1x Hilfe Level 1 Benutzer besitzt 1x Spamer Benutzer besitzt 1x Ideen-Spender Benutzer besitzt 1x Hilfe Level 3
 
Benutzerbild von Rasta
 
Registriert seit: 22.09.2008
Ort: CyberCrew™
Alter: 32
Beitr?ge: 1.153
Abgegebene Danke: 314
Erhielt 181 Danke für 37 Beiträge
Downloads: 61
Uploads: 1
Nachrichten: 755
Renommee-Modifikator:
0 Rasta ist in Verruf geratenRasta ist in Verruf geratenRasta ist in Verruf geratenRasta ist in Verruf geratenRasta ist in Verruf geratenRasta ist in Verruf geratenRasta ist in Verruf geratenRasta ist in Verruf geratenRasta ist in Verruf geratenRasta ist in Verruf geratenRasta ist in Verruf geraten
Standard

hehe das ist ja mal geil
Rasta ist offline   Mit Zitat antworten Nach oben
Alt 18.04.2009, 11:12   #3
P4N1C
Profi
Punkte: 21.413, Level: 92 Punkte: 21.413, Level: 92 Punkte: 21.413, Level: 92
Levelaufstieg: 7% Levelaufstieg: 7% Levelaufstieg: 7%
Aktivität: 0% Aktivität: 0% Aktivität: 0%
Letzte Erfolge
Artikel Benutzer besitzt 1x Hilfe Level 1 Benutzer besitzt 1x Hilfe Level 2 Benutzer besitzt 1x Entwicker I Benutzer besitzt 1x Grundwissen Benutzer besitzt 1x Helfer Benutzer besitzt 1x Hilfe Level 3
 
Benutzerbild von P4N1C
 
Registriert seit: 30.03.2009
Ort: Zuhause
Alter: 34
Beitr?ge: 841
Abgegebene Danke: 91
Erhielt 137 Danke für 27 Beiträge
Downloads: 18
Uploads: 0
Nachrichten: 84
Renommee-Modifikator:
995 P4N1C kann auf vieles stolz seinP4N1C kann auf vieles stolz seinP4N1C kann auf vieles stolz seinP4N1C kann auf vieles stolz seinP4N1C kann auf vieles stolz seinP4N1C kann auf vieles stolz seinP4N1C kann auf vieles stolz seinP4N1C kann auf vieles stolz seinP4N1C kann auf vieles stolz seinP4N1C kann auf vieles stolz sein
Standard

Geht das nur mir so,
oder ist das Spiel verdammt schwer?



mfg panic
__________________
Lernt suchen!
http://www.netvision-technik.de/foru...ead.php?t=3490
Mein auführliches, idiotensicheres How-To!
P4N1C ist offline   Mit Zitat antworten Nach oben
Alt 18.04.2009, 11:15   #4
Rasta
Gesperrt
Punkte: 828, Level: 15 Punkte: 828, Level: 15 Punkte: 828, Level: 15
Levelaufstieg: 28% Levelaufstieg: 28% Levelaufstieg: 28%
Aktivität: 75,0% Aktivität: 75,0% Aktivität: 75,0%
Letzte Erfolge
Artikel Benutzer besitzt 2x Anfänger Benutzer besitzt 1x Grundwissen Benutzer besitzt 1x Hilfe Level 2 Benutzer besitzt 1x Hilfe Level 1 Benutzer besitzt 1x Spamer Benutzer besitzt 1x Ideen-Spender Benutzer besitzt 1x Hilfe Level 3
 
Benutzerbild von Rasta
 
Registriert seit: 22.09.2008
Ort: CyberCrew™
Alter: 32
Beitr?ge: 1.153
Abgegebene Danke: 314
Erhielt 181 Danke für 37 Beiträge
Downloads: 61
Uploads: 1
Nachrichten: 755
Renommee-Modifikator:
0 Rasta ist in Verruf geratenRasta ist in Verruf geratenRasta ist in Verruf geratenRasta ist in Verruf geratenRasta ist in Verruf geratenRasta ist in Verruf geratenRasta ist in Verruf geratenRasta ist in Verruf geratenRasta ist in Verruf geratenRasta ist in Verruf geratenRasta ist in Verruf geraten
Standard

jup also ich bekomm auch nur 3 hin un dann bin ich tot ^^
Rasta ist offline   Mit Zitat antworten Nach oben
Alt 19.04.2009, 02:45   #5
Solstice
Moderator
Punkte: 71.264, Level: 100 Punkte: 71.264, Level: 100 Punkte: 71.264, Level: 100
Levelaufstieg: 0% Levelaufstieg: 0% Levelaufstieg: 0%
Aktivität: 0% Aktivität: 0% Aktivität: 0%
Letzte Erfolge
Auszeichnungen
 
Benutzerbild von Solstice
 
Registriert seit: 10.04.2008
Alter: 36
Beitr?ge: 4.074
Abgegebene Danke: 200
Erhielt 1.331 Danke für 153 Beiträge
Themenstarter Themenstarter
Downloads: 2
Uploads: 1
Nachrichten: 731
Renommee-Modifikator:
6014 Solstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes Ansehen
Standard

Es ist verdammt schwer XD

Aber das ja der fun... wenns dein kollege nur einmal mehr schafft als du ist der ärger umso größer... XD
__________________
Schmutziges Geschirr schimmelt nicht,
wenn man es einfriert

Solstice ist offline   Mit Zitat antworten Nach oben
Alt 22.04.2009, 19:55   #6
P4N1C
Profi
Punkte: 21.413, Level: 92 Punkte: 21.413, Level: 92 Punkte: 21.413, Level: 92
Levelaufstieg: 7% Levelaufstieg: 7% Levelaufstieg: 7%
Aktivität: 0% Aktivität: 0% Aktivität: 0%
Letzte Erfolge
Artikel Benutzer besitzt 1x Hilfe Level 1 Benutzer besitzt 1x Hilfe Level 2 Benutzer besitzt 1x Entwicker I Benutzer besitzt 1x Grundwissen Benutzer besitzt 1x Helfer Benutzer besitzt 1x Hilfe Level 3
 
Benutzerbild von P4N1C
 
Registriert seit: 30.03.2009
Ort: Zuhause
Alter: 34
Beitr?ge: 841
Abgegebene Danke: 91
Erhielt 137 Danke für 27 Beiträge
Downloads: 18
Uploads: 0
Nachrichten: 84
Renommee-Modifikator:
995 P4N1C kann auf vieles stolz seinP4N1C kann auf vieles stolz seinP4N1C kann auf vieles stolz seinP4N1C kann auf vieles stolz seinP4N1C kann auf vieles stolz seinP4N1C kann auf vieles stolz seinP4N1C kann auf vieles stolz seinP4N1C kann auf vieles stolz seinP4N1C kann auf vieles stolz seinP4N1C kann auf vieles stolz sein
Standard

Das Spiel macht voll kaputt^^
Ich habs mittlerweile im Autostart drinne xDD
und ich muss sagen,
ich werde immer besser ;D

Mittlerweile gewinne ich 2/3 Spielen

mfg panic
__________________
Lernt suchen!
http://www.netvision-technik.de/foru...ead.php?t=3490
Mein auführliches, idiotensicheres How-To!
P4N1C ist offline   Mit Zitat antworten Nach oben
Alt 19.09.2009, 00:05   #7
rick
Gesperrt
 
Benutzerbild von rick
 
Registriert seit: 29.05.2009
Ort: Ruhrpott 4 eva
Alter: 34
Beitr?ge: 384
Abgegebene Danke: 19
Erhielt 110 Danke für 33 Beiträge
Downloads: 180
Uploads: 0
Nachrichten: 688
Renommee-Modifikator:
0 rick ist ein wunderbarer Anblickrick ist ein wunderbarer Anblickrick ist ein wunderbarer Anblickrick ist ein wunderbarer Anblickrick ist ein wunderbarer Anblickrick ist ein wunderbarer Anblickrick ist ein wunderbarer Anblick
Standard

och wie öde von den ersten 5 spielen habe ich 4 gewonnen aber idee ist schon geilo xD
rick ist offline   Mit Zitat antworten Nach oben
Alt 19.09.2009, 00:15   #8
Solstice
Moderator
Punkte: 71.264, Level: 100 Punkte: 71.264, Level: 100 Punkte: 71.264, Level: 100
Levelaufstieg: 0% Levelaufstieg: 0% Levelaufstieg: 0%
Aktivität: 0% Aktivität: 0% Aktivität: 0%
Letzte Erfolge
Auszeichnungen
 
Benutzerbild von Solstice
 
Registriert seit: 10.04.2008
Alter: 36
Beitr?ge: 4.074
Abgegebene Danke: 200
Erhielt 1.331 Danke für 153 Beiträge
Themenstarter Themenstarter
Downloads: 2
Uploads: 1
Nachrichten: 731
Renommee-Modifikator:
6014 Solstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes Ansehen
Standard

Sei dir sicher... du hättest es sicher nicht 5 mal gespielt wenn du die ersten 4 mal verloren hättest... aber ich kann da gerne auch weniger leben reinproggen XD
__________________
Schmutziges Geschirr schimmelt nicht,
wenn man es einfriert

Solstice ist offline   Mit Zitat antworten Nach oben
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, G?ste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beitr?ge zu antworten.
Es ist Ihnen nicht erlaubt, Anh?nge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beitr?ge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:01 Uhr.


Powered by vBulletin® Version 3.8.9 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Template-Modifikationen durch TMS