Witam. Programowanie zacząłem od niedawna w technikum (od września). Teraz mamy na zad. zrobić amatorskiego snake. Ma sie on poruszać za pomocą strzałek (nie sam). Mój problem dotyczy tego co w temacie czyt. "Jak dodać "owoce",punkty i brak mozliwosci "wjechania" w małą "przeszkodę" na środku planszy". W internecie nic nie znalazłem bo tam ludzie piszą snake na poziomie którego w technikum nie mamy i mieć nie będziemy więc się w tym nie odnajduje jakie polecenie do czego idzie itd. Z góry dzięki za pomoc :) Oto kod:
#include <iostream>
#include <windows.h>
#include <conio.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
void gotoxy(int x, int y)
{
COORD c;
c.X = x;
c.Y = y;
SetConsoleCursorPosition (GetStdHandle (STD_OUTPUT_HANDLE), c);
}
const int GORA=72, DOL=80, LEWO=75, PRAWO=77;
int main()
{
HANDLE kolor;
HANDLE hOut;
kolor = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( kolor, 6 );
cout <<endl;
cout <<endl;
gotoxy(57,2);
//kolor tla tekstu na niebieski
SetConsoleTextAttribute( hOut, BACKGROUND_GREEN );
cout<<"Gra SNAKE!"<<endl;
SetConsoleTextAttribute( hOut, BACKGROUND_BLUE );
gotoxy(70,7);
cout<<"Wykonal:"<<endl;
//fioletowy intensywny
SetConsoleTextAttribute( hOut, FOREGROUND_BLUE | FOREGROUND_RED | FOREGROUND_INTENSITY );
gotoxy(74,8);
cout<<"Damian"<<endl;
gotoxy(72,9);
//turkusowy intensywny
SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_INTENSITY );
cout<<"xx"<<endl;
gotoxy(41,9);
SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY );
cout<<"06.12.2019r"<<endl;
SetConsoleTextAttribute( hOut, FOREGROUND_RED | FOREGROUND_RED | FOREGROUND_INTENSITY );
//-----------------------------------ramka glowna---------------------\\
gotoxy(40,1);
cout<<char(201);
int i;
for (i=1;i<40;i++)
cout<<char(205);
gotoxy(80,1);
cout<<char(187);
cout<<endl;
for (i=1;i<10;i++)
{
gotoxy(40,1+i);
cout<<char(186)<<endl;
}
gotoxy(40,20);
cout<<endl;
gotoxy(40,10);
cout<<char(200);
for (i=1;i<40;i++)
{
cout<<char(205);
gotoxy(250,10);
}
gotoxy(80,10);
cout<<char(188);
for (i=1;i<9;i++)
{
gotoxy(80,1+i);
cout<<char(186)<<endl;
}
kolor = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( kolor, 2 );
cout <<endl;
cout <<endl;
cout<<" ";
cout<<"<----------------->";
cout <<" Menu: ";
cout<<" <------------------>";
cout<<endl;
cout<<endl;
kolor = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( kolor, 4 );
cout <<endl;
cout <<endl;
cout <<" 1.Graj.\n 2.Informacje o autorze.\n 3.Czas pracy przy tworzeniu gry.\n";
cout <<endl;
cout <<endl;
cout <<endl;
int wybieranie1;
cin>>wybieranie1;
if (wybieranie1==1) {
system("CLS");
//-----------------------------------------PRZESZKODA W GRZE-------------------------------------\
kolor = GetStdHandle( STD_OUTPUT_HANDLE );
gotoxy(40,10);
//kolor tla tekstu na niebieski
SetConsoleTextAttribute( hOut, BACKGROUND_GREEN );
cout<<"POWODZENIA!!!"<<endl;
gotoxy(45,11);
cout<<":)"<<endl;
SetConsoleTextAttribute( kolor, 2 );
gotoxy(30,5);
cout<<char(201);
int j;
for (j=1;j<30;j++)
cout<<char(205);
gotoxy(60,5);
cout<<char(187);
cout<<endl;
gotoxy(30,15);
cout<<char(200);
for (j=1;j<10;j++)
{
gotoxy(30,j+5);
cout<<char(186)<<endl;
}
for (j=1;j<10;j++)
{
gotoxy(60,j+5);
cout<<char(186)<<endl;
}
gotoxy(31,15);
for (j=10;j<39;j++)
cout<<char(205);
gotoxy(60,15);
cout<<char(188);
//------------------------------------------------------------GŁÓWNA PLANSZA W GRZE----------------------------\
SetConsoleTextAttribute( kolor, 5 );
gotoxy(5,1);
cout<<char(201);
for (j=1;j<85;j++)
cout<<char(205);
gotoxy(90,1);
cout<<char(187);
cout<<endl;
for (j=1;j<20;j++)
{
gotoxy(5,j+1);
cout<<char(186)<<endl;
}
gotoxy(30,20);
cout<<endl;
gotoxy(5,20);
cout<<char(200);
for (j=1;j<86;j++)
{
cout<<char(205);
//gotoxy(50,20);
}
gotoxy(90,20);
cout<<char(188);
for (j=1;j<19;j++)
{
gotoxy(90,1+j);
cout<<char(186)<<endl;
}
{
char c;
int x=10, y=5;
kolor = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( kolor, 0 );
gotoxy(x,y);
cout<<char(3);
do{ c=getch();
switch(c){
case GORA:
{
if(y>2 and y==5) {
SetConsoleTextAttribute( kolor, 0 );
gotoxy(x,y);
cout<<char(214);
y=y-1;
gotoxy(x,y);
SetConsoleTextAttribute(kolor, 100);
cout<<char(214);
}
break;
}
case DOL:
{
if(y<19){
SetConsoleTextAttribute(kolor,0);
gotoxy(x,y);
cout<<char(214);
y=y+1;
gotoxy(x,y);
SetConsoleTextAttribute(kolor,100);
cout<<char(214);
}
break;
}
case LEWO:
{
if(x>6){
SetConsoleTextAttribute(kolor,0);
gotoxy(x,y);
cout<<char(214);
x=x-1;
gotoxy(x,y);
SetConsoleTextAttribute(kolor,100);
cout<<char(214);
}
break;
}
case PRAWO:
{
if(x<89)
{
SetConsoleTextAttribute(kolor,0);
gotoxy(x,y);
cout<<char(214);
x=x+1;
gotoxy(x,y);
SetConsoleTextAttribute(kolor,100);
cout<<char(214);
}
break;
}
}
}
while(c!=27);
}
}
kolor = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( kolor, 6 );
if (wybieranie1==2) {
cout<<"Wykonal: Damian xx\n Klasa:3TEI\n Wiek:18lat\n zawod:technik informatyk\n";
}
if (wybieranie1==3) {
cout<<"Czas pracy przy wykonaniu gry:3 tygodnie\n";
}
return 0;
}