Compare commits
19 Commits
Author | SHA1 | Date |
---|---|---|
|
6a69ea5685 | |
|
3aee2fa468 | |
|
0bfecbfb66 | |
|
7beb263dfc | |
|
420998231b | |
|
fc4a95db3d | |
|
331a0812bc | |
|
888c0744d9 | |
|
72a07395c7 | |
|
ee934b2d26 | |
|
b57c137daf | |
|
5e8a530dba | |
|
53d83a16fb | |
|
d0fad7966a | |
|
8659174a14 | |
|
f0daf29917 | |
|
5855b37c6e | |
|
b7ad0fbb6c | |
|
1673e995a6 |
|
@ -6,3 +6,11 @@ banner.txt
|
|||
print.d
|
||||
intro.d
|
||||
sleep.d
|
||||
game.d
|
||||
chest.d
|
||||
door.d
|
||||
inventory.d
|
||||
player.d
|
||||
room.d
|
||||
wall.d
|
||||
item.d
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
#include "include/game.h"
|
||||
|
||||
void Game::gameloop(){
|
||||
//This is the main game loop.
|
||||
const int target_fps = 15;
|
||||
const std::chrono::duration<double> target_frame_duration = chrono::duration<double>(1.0 / target_fps);
|
||||
auto previous_time = std::chrono::steady_clock::now();
|
||||
|
||||
|
||||
while(true){
|
||||
auto current_time = std::chrono::steady_clock::now();
|
||||
chrono::duration<double> elapsed_time = current_time - previous_time;
|
||||
|
||||
// Game logic and rendering here
|
||||
system("clear");
|
||||
cout << "Frame time: " << elapsed_time.count() << " seconds" << endl;
|
||||
|
||||
if (elapsed_time < target_frame_duration) {
|
||||
chrono::duration<double> sleep_time = target_frame_duration - elapsed_time;
|
||||
this_thread::sleep_for(sleep_time);
|
||||
}
|
||||
|
||||
previous_time = chrono::steady_clock::now();
|
||||
exit(1);
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
#include <iostream>
|
||||
#include <chrono>
|
||||
#include <thread>
|
||||
#include <cstdlib>
|
||||
using namespace std;
|
||||
|
||||
|
||||
class Game{
|
||||
public:
|
||||
void gameloop();
|
||||
|
||||
};
|
|
@ -6,9 +6,6 @@ using namespace std;
|
|||
|
||||
class Intro {
|
||||
public:
|
||||
|
||||
static void mainIntro();
|
||||
private:
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
|
||||
|
||||
|
||||
class Inventory{
|
||||
public:
|
||||
|
||||
Inventory(){
|
||||
|
||||
};
|
||||
|
||||
};
|
|
@ -0,0 +1,6 @@
|
|||
|
||||
|
||||
class Item{
|
||||
|
||||
|
||||
};
|
|
@ -2,4 +2,5 @@
|
|||
#include "intro.h"
|
||||
#include "title.h"
|
||||
#include <cstdlib>
|
||||
#include "game.h"
|
||||
using namespace std;
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
#include "inventory.h"
|
||||
#include "item.h"
|
||||
|
||||
|
||||
class Player{
|
||||
public:
|
||||
void move();
|
||||
void add_inventory(Item);
|
||||
bool check_inventory(Item);
|
||||
bool remove_inventory(Item);
|
||||
|
||||
private:
|
||||
Inventory inventory;
|
||||
};
|
|
@ -1,5 +1,7 @@
|
|||
#include <iostream>
|
||||
#include <string>
|
||||
#include <thread>
|
||||
#include <cstring>
|
||||
using namespace std;
|
||||
|
||||
class Print{
|
||||
|
@ -10,7 +12,9 @@ class Print{
|
|||
~Print(){
|
||||
|
||||
};
|
||||
void printl(string text);
|
||||
void println(string text);
|
||||
|
||||
static void printl(string text);
|
||||
static void println(string text);
|
||||
static void type(string text);
|
||||
static void blank_line();
|
||||
|
||||
};
|
||||
|
|
|
@ -1,13 +1,8 @@
|
|||
#include <chrono>
|
||||
#include <string>
|
||||
#include <iostream>
|
||||
#include <cstring>
|
||||
#include <thread>
|
||||
|
||||
using namespace std;
|
||||
|
||||
class Sleep{
|
||||
public:
|
||||
static void delay(int milliseconds);
|
||||
static void type(string text);
|
||||
|
||||
};
|
||||
|
|
|
@ -1,12 +1,8 @@
|
|||
#include <iostream>
|
||||
#include <unistd.h>
|
||||
#include "include/print.h"
|
||||
#include "include/sleep.h"
|
||||
using namespace std;
|
||||
|
||||
class Title{
|
||||
private:
|
||||
protected:
|
||||
public:
|
||||
static void mainTitle();
|
||||
};
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
#include "include/intro.h"
|
||||
|
||||
void Intro::mainIntro(){
|
||||
int time = 1000;
|
||||
cout << endl;
|
||||
cout << endl;
|
||||
Sleep::type("");
|
||||
Sleep::delay(time);
|
||||
Sleep::type("The world didn't end with a bang. It ended with a groan.. and the scratching of death fingers against steel shutters.");
|
||||
Sleep::delay(time);
|
||||
Sleep::type("Pete used to sell shotgun, slug, and survival tips to deer hunters and doomsday preppers out of his rundown gun store ");
|
||||
Print::blank_line();
|
||||
Print::type("The world didn't end with a bang. It ended with a groan.. and the scratching of death fingers against ");
|
||||
Print::type("steel shutters.");
|
||||
Print::type("Pete used to sell shotguns, slugs, and survival tips to deer hunters and doomsday preppers out of his");
|
||||
Print::type("rundown gun store on the edge of town. Folks called him Shotgun Pete. They laughed at his bunker in the");
|
||||
Print::type("basement and his endless stockpile of beans and buckshot.");
|
||||
Print::type("They’re not laughing now.");
|
||||
Print::type("It’s been 47 days since the dead started walking. The city’s overrun. The power’s gone. The roads are broken");
|
||||
Print::type("and the rules are worse.");
|
||||
Print::type("But Pete? Pete’s still here. Armed to the teeth. Ready to take back what’s his, one shell at a time.");
|
||||
Print::type("Welcome to Shotgun Pete. Lock and load.");
|
||||
}
|
||||
|
|
|
@ -4,5 +4,8 @@ int main (){
|
|||
system("clear");
|
||||
Title::mainTitle();
|
||||
Intro::mainIntro();
|
||||
Game game;
|
||||
game.gameloop();
|
||||
cin.get();
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
#include "include/player.h"
|
||||
|
||||
|
||||
|
|
@ -1,9 +1,30 @@
|
|||
#include "include/print.h"
|
||||
|
||||
void Print::printl(string text){
|
||||
cout << text;
|
||||
cout << text << flush;
|
||||
}
|
||||
|
||||
void Print::println(string text){
|
||||
cout << text << endl;
|
||||
}
|
||||
|
||||
void Print::type(string text){
|
||||
int a = text.size();
|
||||
char* charArray = new char[a+1];
|
||||
strcpy(charArray, text.c_str());
|
||||
int i = 0;
|
||||
int time = 150;
|
||||
|
||||
while(i < a+1){
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(time));
|
||||
cout << charArray[i] << flush;
|
||||
i++;
|
||||
|
||||
}
|
||||
cout << endl;
|
||||
delete[] charArray;
|
||||
}
|
||||
|
||||
void Print::blank_line(){
|
||||
cout << endl;
|
||||
}
|
||||
|
|
|
@ -8,18 +8,3 @@ void Sleep::delay(int milliseconds){
|
|||
// Do nothing, just wait
|
||||
}
|
||||
}
|
||||
void Sleep::type(string text){
|
||||
int a = text.size();
|
||||
char* charArray = new char[a+1];
|
||||
strcpy(charArray, text.c_str());
|
||||
int i = 0;
|
||||
int time = 300;
|
||||
|
||||
while(i < a+1){
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(time));
|
||||
cout << charArray[i] << flush;
|
||||
i++;
|
||||
}
|
||||
cout << endl;
|
||||
delete[] charArray;
|
||||
}
|
||||
|
|
|
@ -1,18 +1,21 @@
|
|||
#include "include/title.h"
|
||||
#include "include/print.h"
|
||||
#include "include/sleep.h"
|
||||
|
||||
void Title::mainTitle(){
|
||||
int time = 700;
|
||||
cout << "███████╗██╗ ██╗ ██████╗ ████████╗ ██████╗ ██╗ ██╗███╗ ██╗ ██████╗ ███████╗████████╗███████╗" << endl;
|
||||
Sleep::delay(time);
|
||||
cout << "██╔════╝██║ ██║██╔═══██╗╚══██╔══╝██╔════╝ ██║ ██║████╗ ██║ ██╔══██╗██╔════╝╚══██╔══╝██╔════╝" << endl;
|
||||
Sleep::delay(time);
|
||||
cout << "███████╗███████║██║ ██║ ██║ ██║ ███╗██║ ██║██╔██╗ ██║ ██████╔╝█████╗ ██║ █████╗ " << endl;
|
||||
Sleep::delay(time);
|
||||
cout << "╚════██║██╔══██║██║ ██║ ██║ ██║ ██║██║ ██║██║╚██╗██║ ██╔═══╝ ██╔══╝ ██║ ██╔══╝ " << endl;
|
||||
Sleep::delay(time);
|
||||
cout << "███████║██║ ██║╚██████╔╝ ██║ ╚██████╔╝╚██████╔╝██║ ╚████║ ██║ ███████╗ ██║ ███████╗" << endl;
|
||||
Sleep::delay(time);
|
||||
cout << "╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═╝ ╚══════╝ ╚═╝ ╚══════╝" << endl;
|
||||
int s = 900;
|
||||
Print::println("");
|
||||
Print::println("\033[31m███████╗██╗ ██╗ ██████╗ ████████╗ ██████╗ ██╗ ██╗███╗ ██╗ ██████╗ ███████╗████████╗███████╗");
|
||||
Sleep::delay(s);
|
||||
Print::println("██╔════╝██║ ██║██╔═══██╗╚══██╔══╝██╔════╝ ██║ ██║████╗ ██║ ██╔══██╗██╔════╝╚══██╔══╝██╔════╝");
|
||||
Sleep::delay(s);
|
||||
Print::println("███████╗███████║██║ ██║ ██║ ██║ ███╗██║ ██║██╔██╗ ██║ ██████╔╝█████╗ ██║ █████╗ ");
|
||||
Sleep::delay(s);
|
||||
Print::println("╚════██║██╔══██║██║ ██║ ██║ ██║ ██║██║ ██║██║╚██╗██║ ██╔═══╝ ██╔══╝ ██║ ██╔══╝ ");
|
||||
Sleep::delay(s);
|
||||
Print::println("███████║██║ ██║╚██████╔╝ ██║ ╚██████╔╝╚██████╔╝██║ ╚████║ ██║ ███████╗ ██║ ███████╗");
|
||||
Sleep::delay(s);
|
||||
Print::println("╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═╝ ╚══════╝ ╚═╝ ╚══════╝");
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue