All pastes #1301127 Raw Edit

Mine

public text v1 · immutable
#1301127 ·published 2009-01-06 20:12 UTC
rendered paste body
#include <cstdlib>
#include <iostream>
#include <conio.h>
#include "console.ddt"
#include <time.h>

void cursoroff()                        //funkcja dająca znikanie kursora
{  
CONSOLE_CURSOR_INFO ccinf;  
HANDLE _hcout = GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleCursorInfo(_hcout,&ccinf);
ccinf.bVisible = false; 
SetConsoleCursorInfo(_hcout,&ccinf); 
}

using namespace std;
using namespace ddt::console;
/*
  Name: --------------------GRA DARKSPACE--------------------- 
  Copyright: Tomasz 'Sawik' Sawicki
  Author: Tomasz 'Sawik' Sawicki
  Description: Gra, zarówno jej kod jak i plik wykonawczy są własnością w/w Autora,
  Zmienianie kodu(dotyczy również komentarzy) jest surowo zakazane,
  Pozdrawiam!
*/
     


int main(int argc, char *argv[])
{

time_t sekundy; //zmienne do odliczania czasu
time_t koniec;
time_t czas;
    
    char napis[10] = {'D','A','R','K',' ','S','P','A','C','E'};
    
    string imie;
    
    int wybor;//zmienna switch;
    
    int tab[80][26]; //tablica zapisujaca pozycje kursora
    
    char z;  //znak-zmienna w której zapisyawany jest kod klawisza
    
    int x=1; //zmienne komendy gotoxy
    int y=1;
    
    int poziom; //zmienna wyboru poziomu
    int temp = 0; //zmienna naliczająca punkty   

             
             //symulacja naciśnięcia klawisz Alt+Enter(fullscreen)    
             
keybd_event(VK_MENU,0x38,0,0);
keybd_event(VK_RETURN,0x1c,0,0);
keybd_event(VK_RETURN,0x1c,KEYEVENTF_KEYUP,0);
keybd_event(VK_MENU,0x38,KEYEVENTF_KEYUP,0);




         cout<<"podaj swoje imie..."<<endl;
         getline (cin,imie);
 cursoroff(); 
 gotoxy(15,14);
cout<<"Studio Ubisoft Montreal we wspolpracy z CD Projekt RED"<<endl;
_sleep(2000);
gotoxy(30,15);
cout<<"przedstawiaja: "<<endl;
_sleep(2000);
         
         system("cls");
         
         cout<<"Dawno, dawno temu w odleglej galaktyce..."<<endl;
          _sleep(4000);
          system("cls");
          gotoxy(35,13);

              for(int i=0;i<10;i++)
                      {       _sleep(500);
                              cout<<napis[i];
                      }
              
              gotoxy(35,14);                 //pseudo ładowanie
              cout<<"loading...";
              gotoxy(35,15);
              cout<<"----------";
              gotoxy(35,15);
              
              for(int i = 0;i<10;i++)
              {
              _sleep(500);
              cout<<"|";
              }
              
              system("cls");                 //wyświetlanie fabuły
          gotoxy(1,1);
          _sleep(1000);
         cout<<"Dowodca statku kosmicznego 'hash' kapitan "<<imie<<endl;
          _sleep(2000);
         cout<<"wyruszyl ku odleglej planecie"<<endl;
          _sleep(2000);
         cout<<"niespodziewanie napotkal tam dziwne stworzenia"<<endl;
          _sleep(2000);
         cout<<"do zludzenia prypominajce dolary"<<endl;
          _sleep(2000);
         cout<<"stworzenia zaczely go atakowac i gryzc jego statek"<<endl;
          _sleep(2000);
         cout<<"przebiegly kapitan zamontowal na swoim statku pozeracz tych stworzen"<<endl;
          _sleep(2000);
         cout<<"jestes kapitanem tego statku"<<endl;
          _sleep(2000);
         cout<<"zjedz jak najwiecej stworzen w wybranym przez siebie czasie"<<endl;
          _sleep(2000);
         cout<<"czy chcesz kontynuowac? (nacisnij dowlony klawisz)"<<endl;
         getch();
         system("cls");

do{    
    gotoxy(33,13);
    cout<<"Dark Space";
    gotoxy(33,14);
    cout<<"1.Nowa Gra";
    gotoxy(33,15);
    cout<<"2.O Autorze";
    gotoxy(33,16);
    cout<<"3.Koniec";
    gotoxy(33,17);
    cin>>wybor;
    
    //początek pętli switch
    switch(wybor)
    {
                 
    case 1:



         
                                        //wybor poziomu
         system("cls");
         gotoxy(33,13);
         cout<<"wybierz pozizom"<<endl;
         gotoxy(33,14);
         cout<<"1. latwy(2 minuty)"<<endl;
         gotoxy(33,15);
         cout<<"2. sredni(minuta)"<<endl;
         gotoxy(33,16);
         cout<<"3. trudny(10 sekund)"<<endl;
         gotoxy(33,17);
         cout<<"4. wybierz sam ilosc sekund"<<endl;
         gotoxy(33,18);
         cin>>poziom;
         
         switch(poziom) //switch wyboru poziomu
         {
                       case 1:
                            koniec=120;
                       break;
                       case 2:
                            koniec=60;
                       break;
                       case 3:
                            koniec=10;
                       break;
                       case 4:
                            cout<<"wpisz ilosc sekund"<<endl;
                       cin>>koniec;
                       break;
         }
         system("cls");
    
    //petla for zerująca tablice

    for(int a = 0; a < 80; a++)
    { 
    
    for(int b = 0; b < 26; b++)
            { 
                tab[a][b] = 0; 
            }
    }

    // rysowaie pierwszego znaku(potrzebne żeby zadziałał późniejszy if)

x=20;
y=5;
gotoxy(x,y);
tab[x][y] =1;
printf("$");
     
x=1;
y=1;



        //koniec rysowania
    gotoxy(x,y);

    
sekundy = time (NULL);     //pobieranie czasu systemowego i zapamiętywanie go w zmiennej
czas =sekundy + koniec;    //dodawanie do zmiennej "sekundy" wyboru poziomu
         

  //pętla zczytująca kod wciśniętego klawisza i wykonująca odpowiednią komende
   do{
                     //sprawdzanie trafienia na znak
                   if(tab[x][y] == 1)
                   {
                   int d,f;
                   tab[x][y]=0;
                   srand (time(NULL));
                   d = rand() % 23;
                   
                   temp++;
                   
                   
                   f = rand() % 78;
                   gotoxy(f,d);
                   printf("$");
                   tab[f][d]=1;
                   
                   }     

              sekundy = time (NULL); //uaktualnianie zmiennej "sekundy"
             
              z=getch();             //pobieranie kodu wciśniętego klawisza
        
       
                                     //poczatek sterowania
        if (z==72)gotoxy(x,y--),printf(" "),gotoxy(x,y++),printf("#"),gotoxy(x,y--); //góra
        
        if (z==80)gotoxy(x,y++),printf(" "),gotoxy(x,y--),printf("#"),gotoxy(x,y++); //dół
        
        if (z==75)gotoxy(x--,y),printf(" "),gotoxy(x++,y),printf("#"),gotoxy(x--,y); //lewo
        
        if (z==77)gotoxy(x++,y),printf(" "),gotoxy(x--,y),printf("#"),gotoxy(x++,y); //prawo  
        
                   
                   //powtórne sprawdzanie trafienia na znak, eliminujące pewnien problem
                   if(tab[x][y] == 1)
                   {
                   int d,f;
                   tab[x][y]=0;
                   srand (time(NULL));
                   d = rand() % 23;
                   
                   temp++;
                   
                   f = rand() % 78;
                   gotoxy(f,d);
                   printf("$");
                   tab[f][d]=1;
                   }  
                  
      
      //koniec sterowania, komendy warunkowe sprawdzajace zderzenia ze ścianą
      
      if (y==1)gotoxy(x,y++),printf(" "),y=24,gotoxy(x,y); //górna ściana
      if (y==25)gotoxy(x,y--),printf(" "),y=2,gotoxy(x,y); //dolna ściana
      if (x==0)gotoxy(x+2,y),printf(" "),x=79,gotoxy(x,y); //lewa ściana
      if (x==80)gotoxy(x--,y),printf(" "),x=1,gotoxy(x,y); //prawa ściana
      
      
      //if sprawdzajcy czy czas upłyną
     
     if(sekundy>=czas)
     {             
                        system("cls");
                        gotoxy(29,11);
                        cout<<"koniec czasu. twoj wynik to "<<temp<<endl;
                        _sleep(2000);
                        z=13;
                        gotoxy(33,17);
                        
     }      



}while(z!=13);
    //koniec pętli do...while.
    
      break;
    


   case 2:
   
        cout<<"Copyright (C) by Tomasz 'Sawik' Sawicki Technikum SCI 2009"<<endl;
        getch();
        system("cls");
   break;
   
   case 3:
   
        return 0;
   break;
   
      }//koneic pętli switch

}while(wybor!=4);
    
    
    return EXIT_SUCCESS;
}