Witam, to mój pierwszy post na tym forum więc na wstępie przepraszam za wszystkie błędy, które zostały i zostaną popełnione podczas pisania tego wątku.
Jestem studentem I roku politechniki na którym po pierwszy raz zetknąłem się z jakimkolwiek programowaniem.(kompletny laik)
Na następny projekt muszę zmodyfikować prostą grę w której odbijałem piłkę poruszającą się wewnątrz ramki paletką umiejscowioną przy dolnej krawędzi tej ramki,na grę w której piłkę i jej ruch po ramce zastąpią wystrzelone z owej paletki ''pociski''' .
Podczas pisania fragmentu kodu w którym po naciśnięciu danego przycisku zostaną wystrzelone dwa pociski z obydwu końców mojej ''paletki'' napotkałem następujące problemy:
I.
Gdy nacisnę przycisk ''w'' pociski zostają wystrzelone jednak znika mi paletka która pojawia się ponownie dopiero w momencie gdy owe ''pociski'' znikną na górze mojej ramki.
II.
Nie wiem też jak uniezależnić ruch paletki od ruchu wystrzelonych pocisków tak by po wystrzeleniu pocisków i w trakcie ich lotu można było przesuwać paletką i wystrzelać kolejną serię, próbowałem w jakiś sposób uzależnić koordynat x pocisków od koordynatów x obu końców paletki jednak kończyło się to na blokowaniu paletki.
Próbowałem szukać podpowiedzi w internecie i na zasadzie prób i błędów napisać chociaż kawałek działającego kodu, jednak nie wiem co dalej z tym zrobić, za wszystkie podpowiedzi serdecznie dziękuje ;)
Nie wiem gdzie umieszczać fragmenty kodów więc zamieszczam je poniżej jak i w załącznikach.
fragment kodu ze strzelaniem
#include "pch.h"
#include<stdlib.h>
#include <iostream>
#include<conio.h>
#include"windows.h"
#include<ctime>
using namespace std;
void gotoxy(int x, int y)
{
COORD coord;
coord.X = x;
coord.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
int main(int argc, char**argv)
{
unsigned char aa;
int xd = 32;//deska
char k1;
int a = 1;
ramka();
while (a == 1)
{
gotoxy(xd, 38);
aa = 196;
cout << aa << aa << aa << aa << aa << aa;
Sleep(50);
gotoxy(xd, 38);
cout << " ";
while (_kbhit())//oczekiwanie na nacisniecie
{
k1 = _getch();//zapisanie klawisza
if (k1 == 'd')
{
xd = xd + 2;
}
if (k1 == 'a')
{
xd = xd - 2;
}
if (k1 == 'w')
{
for (int i = 30;i > 2;i--)
{
gotoxy(xd, i);
cout << "o";
gotoxy(xd+6, i);
cout << "o";
Sleep(50);
gotoxy(xd, i);
cout << " ";
gotoxy(xd+6, i);
cout << " ";
}
}
}
}
gotoxy(5, 80);
cout << endl;
return 0;
}
Pozdrawiam ;)