Giter VIP home page Giter VIP logo

debugging-of-isaac's Introduction

Debugging of Isaac

Compilazione ed esecuzione

La compilazione avviene tramite Makefile, il quale richiama il compilatore g++

Per creare l'eseguibile utilizzare:

$ make main

Per eseguirlo:

$ make run

Per far partire un ciclo di compilazione, esecuzione ed eliminazione del file binario, si può usare:

$ make

Controlli

I comandi sono:

  • wasd per muoversi nelle quattro direzioni
  • arrow keys per sparare nelle quattro direzioni
  • h per usare una pozione
  • 1 2 3 4 5 per lasciare a terra l'oggetto corrispondente al numero

Supporto

Il gioco è stato sviluppato e testato su Windows e Linux

Autori

Gli autori sono Diego Roberto Ammirabile, Saad Farqad Medhat, Emanuele Pischetola.

debugging-of-isaac's People

Contributors

asdru22 avatar bugboy-20 avatar jantizio avatar saadmedhat avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

debugging-of-isaac's Issues

bits/types/time_t.h non funziona

#include <bits/types/time_t.h> da un errore.
Queste librerie sono preinstallate su windows? oppure vanno scaricate a parte.
Quale dovrebbe essere l'include giusto per windows?

Bisogna fare delle ricerche

Problema del proiettile

bisogna trovare un modo per rappresentare in modo tangibile il proiettile, altrimenti non è possibile stamparlo schermo e il giocatore non può schivarlo

Idea: creare una sottoclasse di entità che rappresenta il proiettile, quando il nemico percepisce il player si attiva e genera questa entità, in ogni ciclo del loop l'entità farà un movimento nella direzione iniziale del player e si ferma una volta che collide con qualcosa. Se quel qualcosa è il player allora gli viene decrementata la vita, altrimenti sticazzi

  • lista proiettili
  • modificare EntityMoveE
  • modificare come le entità sono mostrare (aka non usare Core *get_element_in_this_position(coords); per ricavare il char per la posizione attuale)

Errore generato da linux

=================================================================
==6967==ERROR: AddressSanitizer: new-delete-type-mismatch on 0x607000000250 in thread T0:
object passed to delete has wrong type:
size of the allocated type: 72 bytes;
size of the deallocated type: 64 bytes.
#0 0x7f4ba3eb722f in operator delete(void*, unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:172
#1 0x558a6ea3c39e in EntityKilledE::destroy() src/Events.cpp:20
#2 0x558a6ea42371 in Screen::do_screen(Room*) src/Screen.cpp:75
#3 0x558a6ea453fd in main src/main.cpp:76
#4 0x7f4ba3629d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)
#5 0x7f4ba3629e3f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e3f)
#6 0x558a6ea3a844 in _start (/home/saad/Desktop/Progetto-Programmazione/main+0x3844)

0x607000000250 is located 0 bytes inside of 72-byte region [0x607000000250,0x607000000298)
allocated by thread T0 here:
#0 0x7f4ba3eb61c7 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:99
#1 0x558a6ea45ca1 in __static_initialization_and_destruction_0 src/main.cpp:40
#2 0x558a6ea465a4 in _GLOBAL__sub_I_dummy_map src/main.cpp:137
#3 0x7f4ba3629eba in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29eba)

SUMMARY: AddressSanitizer: new-delete-type-mismatch ../../../../src/libsanitizer/asan/asan_new_delete.cpp:172 in operator delete(void*, unsigned long)
==6967==HINT: if you don't care about these errors you may set ASAN_OPTIONS=new_delete_type_mismatch=0
==6967==ABORTING

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.