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
|
print.d
|
||||||
intro.d
|
intro.d
|
||||||
sleep.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 {
|
class Intro {
|
||||||
public:
|
public:
|
||||||
|
static void mainIntro();
|
||||||
void mainIntro();
|
|
||||||
private:
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class Inventory{
|
||||||
|
public:
|
||||||
|
|
||||||
|
Inventory(){
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
|
@ -0,0 +1,6 @@
|
||||||
|
|
||||||
|
|
||||||
|
class Item{
|
||||||
|
|
||||||
|
|
||||||
|
};
|
|
@ -1,4 +1,6 @@
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include "intro.h"
|
#include "intro.h"
|
||||||
#include "title.h"
|
#include "title.h"
|
||||||
|
#include <cstdlib>
|
||||||
|
#include "game.h"
|
||||||
using namespace std;
|
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 <iostream>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <thread>
|
||||||
|
#include <cstring>
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
class Print{
|
class Print{
|
||||||
|
@ -10,7 +12,9 @@ class Print{
|
||||||
~Print(){
|
~Print(){
|
||||||
|
|
||||||
};
|
};
|
||||||
void printl(string text);
|
static void printl(string text);
|
||||||
void println(string text);
|
static void println(string text);
|
||||||
|
static void type(string text);
|
||||||
|
static void blank_line();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -3,6 +3,6 @@ using namespace std;
|
||||||
|
|
||||||
class Sleep{
|
class Sleep{
|
||||||
public:
|
public:
|
||||||
void delay(int milliseconds);
|
static void delay(int milliseconds);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -3,8 +3,6 @@
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
class Title{
|
class Title{
|
||||||
private:
|
|
||||||
protected:
|
|
||||||
public:
|
public:
|
||||||
void mainTitle();
|
static void mainTitle();
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,15 @@
|
||||||
#include "include/intro.h"
|
#include "include/intro.h"
|
||||||
|
|
||||||
void Intro::mainIntro(){
|
void Intro::mainIntro(){
|
||||||
cout << "The world didn't end with a bang. It ended with a groan.. and the scratching of death fingers against steel shutters." << endl;
|
Print::blank_line();
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(3000));
|
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.");
|
||||||
}
|
}
|
||||||
|
|
10
src/main.cpp
10
src/main.cpp
|
@ -1,9 +1,11 @@
|
||||||
#include "include/main.h"
|
#include "include/main.h"
|
||||||
|
|
||||||
int main (){
|
int main (){
|
||||||
Title title;
|
system("clear");
|
||||||
title.mainTitle();
|
Title::mainTitle();
|
||||||
Intro intro;
|
Intro::mainIntro();
|
||||||
intro.mainIntro();
|
Game game;
|
||||||
|
game.gameloop();
|
||||||
|
cin.get();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
#include "include/player.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,30 @@
|
||||||
#include "include/print.h"
|
#include "include/print.h"
|
||||||
|
|
||||||
void Print::printl(string text){
|
void Print::printl(string text){
|
||||||
cout << text;
|
cout << text << flush;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Print::println(string text){
|
void Print::println(string text){
|
||||||
cout << text << endl;
|
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;
|
||||||
|
}
|
||||||
|
|
|
@ -1,21 +1,21 @@
|
||||||
#include "include/title.h"
|
#include "include/title.h"
|
||||||
#include "include/print.h"
|
#include "include/print.h"
|
||||||
|
#include "include/sleep.h"
|
||||||
|
|
||||||
void Title::mainTitle(){
|
void Title::mainTitle(){
|
||||||
int s = 2000;
|
int s = 900;
|
||||||
Print print;
|
Print::println("");
|
||||||
print.println("███████╗██╗ ██╗ ██████╗ ████████╗ ██████╗ ██╗ ██╗███╗ ██╗ ██████╗ ███████╗████████╗███████╗");
|
Print::println("\033[31m███████╗██╗ ██╗ ██████╗ ████████╗ ██████╗ ██╗ ██╗███╗ ██╗ ██████╗ ███████╗████████╗███████╗");
|
||||||
usleep(s);
|
Sleep::delay(s);
|
||||||
print.println("██╔════╝██║ ██║██╔═══██╗╚══██╔══╝██╔════╝ ██║ ██║████╗ ██║ ██╔══██╗██╔════╝╚══██╔══╝██╔════╝");
|
Print::println("██╔════╝██║ ██║██╔═══██╗╚══██╔══╝██╔════╝ ██║ ██║████╗ ██║ ██╔══██╗██╔════╝╚══██╔══╝██╔════╝");
|
||||||
usleep(s);
|
Sleep::delay(s);
|
||||||
print.println("███████╗███████║██║ ██║ ██║ ██║ ███╗██║ ██║██╔██╗ ██║ ██████╔╝█████╗ ██║ █████╗ ");
|
Print::println("███████╗███████║██║ ██║ ██║ ██║ ███╗██║ ██║██╔██╗ ██║ ██████╔╝█████╗ ██║ █████╗ ");
|
||||||
usleep(s);
|
Sleep::delay(s);
|
||||||
print.println("╚════██║██╔══██║██║ ██║ ██║ ██║ ██║██║ ██║██║╚██╗██║ ██╔═══╝ ██╔══╝ ██║ ██╔══╝ ");
|
Print::println("╚════██║██╔══██║██║ ██║ ██║ ██║ ██║██║ ██║██║╚██╗██║ ██╔═══╝ ██╔══╝ ██║ ██╔══╝ ");
|
||||||
usleep(s);
|
Sleep::delay(s);
|
||||||
print.println("███████║██║ ██║╚██████╔╝ ██║ ╚██████╔╝╚██████╔╝██║ ╚████║ ██║ ███████╗ ██║ ███████╗");
|
Print::println("███████║██║ ██║╚██████╔╝ ██║ ╚██████╔╝╚██████╔╝██║ ╚████║ ██║ ███████╗ ██║ ███████╗");
|
||||||
usleep(s);
|
Sleep::delay(s);
|
||||||
print.println("╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═╝ ╚══════╝ ╚═╝ ╚══════╝");
|
Print::println("╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═╝ ╚══════╝ ╚═╝ ╚══════╝");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue