void SDL_Jugador::entrada(SDL_Surface*s){ SDL_Event evento; Mapa& mapa = *Mapa::getInstance(); Personaje* personaje=NULL; for( ; ; ) { while(SDL_PollEvent(&evento)) { if(evento.type == SDL_KEYDOWN) { if(evento.key.keysym.sym == SDLK_ESCAPE) return; } if(evento.type == SDL_QUIT) return; if(evento.type == SDL_MOUSEBUTTONDOWN) { printf("X: %d - Y: %d\n", evento.button.x,evento.button.y); if(evento.button.button == 1){ seleccion = mapa((int)evento.button.x/mapa.getLongCasilla(),(int)evento.button.y/mapa.getLongCasilla())->getContenido(); personaje=dynamic_cast<Personaje*>(seleccion); } else { if ( personaje ) personaje->caminar(evento.button.x,evento.button.y); } } } SDL_Delay(FREC_INPUT); } }
/** * @brief VentanaJugador::VentanaJugador * @param parent * Constructor que inicializa los threads de envio de datos y recepcion de datos. * A su vez seta las caraceristicas basicas de la ventana para su oportuna visualizacion. */ VentanaJugador::VentanaJugador(QWidget *parent) : QMainWindow(parent) { this->iniciarThreadsCliente(); this->mira = new QLabel(this); QPixmap mapa("/home/diego/Escritorio/CrazyDuckHunt/ClientePrincipal-ServidorSecundario/Mira.png"); this->mira->setPixmap(mapa); this->mira->setGeometry(0,0,mapa.width(),mapa.height()); this->mira->show(); this->show(); }
int main(int argc, char** argv) { ReferenceCountPtr<Mapa> mapa(new Mapa()); ReferenceCountPtr<Continente> america(new Continente("AMERICA")); ReferenceCountPtr<Continente> asia(new Continente("ASIA")); ReferenceCountPtr<Continente> europa(new Continente("EUROPA")); ReferenceCountPtr<Pais> argentina(new Pais("ARGENTINA")); ReferenceCountPtr<Pais> bolivia(new Pais("BOLIVIA")); argentina->agregarAdyacente(bolivia); america->agregarPais(argentina); mapa->agregarPais(argentina); mapa->agregarPais(bolivia); mapa->agregarContinente(america); mapa->agregarContinente(asia); mapa->agregarContinente(europa); MapaParser parser; parser.saveMap("mapa.xml", mapa); ReferenceCountPtr<Pais> pais = mapa->obtenerPais("ARGENTINA"); ReferenceCountPtr<Continente> continente = mapa->obtenerContinente("EUROPA"); if (pais != NULL) { std::cout << "Contiene Argentina" << std::endl; } if (continente != NULL) { std::cout << "Contiene Europa" << std::endl; } ReferenceCountPtr<Mapa> otroMapa = parser.loadMap("mapa.xml"); Mapa::IteradorPais iterPais; for (iterPais = otroMapa->primerPais(); iterPais != otroMapa->ultimoPais(); ++iterPais) { ReferenceCountPtr<Pais> actual = *iterPais; std::cout << actual->getNombre() << std::endl; } return 0; }
pair<int, int>doub_gv(String st) { String at = "", bt = ""; bool fl = 0; for (int i = 1; i <= st.Length(); ++i) { if (st[i] == ' ') { fl = 1; continue; } if (fl) bt += st[i]; else at += st[i]; } return mapa(gv(at), gv(bt)); }
int main(int argc, char *argv[]){ struct Coordenadas jugador = {1, 1}; //posicion inicial del jugador char tablero[FILAS][COL]; int user_input; initscr(); halfdelay(1); keypad(stdscr, TRUE); noecho(); curs_set(0); mapa(tablero); inicializar(tablero); while ((user_input = getch()) != ESC){ mover(user_input, &jugador, tablero); pintar_mapa(tablero, jugador); } endwin(); return EXIT_SUCCESS; }
// ustvari varnostno kopijo void prijava::varnostna_kopija() { QString mapa_za_shranjevanje = ""; baza nova_baza; QString ime_baze = ""; ime_baze = nova_baza.get_path(); if ( ime_baze.contains("/") ) { ime_baze = ime_baze.right(ime_baze.length() - ime_baze.lastIndexOf("/") -1 ); } if ( ime_baze.contains(".") ) { ime_baze = ime_baze.left(ime_baze.lastIndexOf(".")); } // v bazi poiscemo pot do mesta shranjevanja podatkov QSqlQuery sql_pot; sql_pot.prepare("SELECT * FROM nastavitve WHERE naziv LIKE '" + pretvori("pot") + "'"); sql_pot.exec(); if ( sql_pot.next() ) { mapa_za_shranjevanje = prevedi(sql_pot.value(sql_pot.record().indexOf("vrednost")).toString()); } if ( mapa_za_shranjevanje != "" ) { // varnostno kopiranje podatkov izvedemo zgolj v primeru, da obstaja mapa za shranjevanje podatkov // ustvari mapo za shranjevanje baze podatkov QDir mapa(mapa_za_shranjevanje); if ( mapa.exists() ) { mapa.mkdir("arhiv"); // osnovna mapa mapa.cd("arhiv"); mapa.mkdir("dnevni"); // dnevni back-up mapa.mkdir("mesecni"); // mesecni back-up /** * naredi mesecni arhiv * pogleda, ali ze obstaja arhivska datoteka za tekoci mesec * ce obstaja, jo izbrise in napravi novo za tekoci mesec * ce ne obstaja to pomeni, da smo na zacetku meseca * sedaj naredi novi mesecni arhiv in hkrati izbrise dnevni arhiv "prejsnjega" * meseca, ki sedaj ni vec aktualen (drugace bomo kmalu imeli nepregledno mnozico baz) * to pa ni smiselno **/ QFile f_baza_org; f_baza_org.setFileName(nova_baza.get_path()); QFile f_baza_mesec; f_baza_mesec.setFileName(mapa_za_shranjevanje + "/arhiv/mesecni/base-" + ime_baze + "-" + QDate::currentDate().toString("yyyy'-'MM") + ".bz.bck"); if ( f_baza_mesec.exists() ) { // ce obstaja, smo v tekocem mesecu in zgolj zbrisemo trenutno bazo in jo nadomestimo z novo f_baza_mesec.remove(); f_baza_org.copy(mapa_za_shranjevanje + "/arhiv/mesecni/base-" + ime_baze + "-" + QDate::currentDate().toString("yyyy'-'MM") + ".bz.bck"); } else { // gre za nov mesec, baze ne brisemo, brisemo pa vse baze v arhivu za f_baza_org.copy(mapa_za_shranjevanje + "/arhiv/mesecni/base-" + ime_baze + "-" + QDate::currentDate().toString("yyyy'-'MM") + ".bz.bck"); // poiscemo vse baze iz dnevnega arhiva mapa.cd("dnevni"); QStringList seznam_arhiva = mapa.entryList(); for ( int a = 0; a < seznam_arhiva.size(); a++ ) { QFile f_arhiv; f_arhiv.setFileName(mapa_za_shranjevanje + "/arhiv/dnevni/" + seznam_arhiva.at(a).toUtf8()); f_arhiv.remove(); } } /** * naredimo dnevni arhiv tako, da shranimo bazo kot datoteko s tekoco zadnjo * identifikacijsko stevilko * arhiv je samo za tekoci mesec, za prejsnje datoteke izbrisemo **/ int i = 1; while ( !f_baza_org.copy(mapa_za_shranjevanje + "/arhiv/dnevni/base-" + ime_baze + "-" + QDate::currentDate().toString("yyyy'-'MM'-'dd") + "-" + QString::number(i, 10) + ".bz.bck") ) { i++; } } } }
bool Personaje::desplazar(){ unsigned int mapaX, mapaY; unsigned int antX, antY; Mapa& mapa = *Mapa::getInstance(); this->estado=CAMINANDO; float alfa=atan2(((double)destY-(double)y),((double)destX-(double)x)); if ( alfa > -0.375 && alfa < 0.375 ){ this->orientacion=E; // printf("Mira al Este.\n"); } else if ( alfa < -0.375 && alfa > -1.125 ){ this->orientacion=NE; //printf("Mira al NorEste.\n"); } else if ( alfa < -1.125 && alfa > -1.875 ) { this->orientacion=N; //printf("Mira al Norte.\n"); } else if ( alfa < -1.875 && alfa > -2.625 ){ this->orientacion=NO; //printf("Mira al NorOeste.\n"); } else if ( alfa < -2.625 || alfa > 2.625 ){ this->orientacion=O; //printf("Mira al Oeste.\n"); } else if ( alfa < 2.625 && alfa > 1.875 ){ this->orientacion=SO; //printf("Mira al SudOeste.\n"); } else if ( alfa < 1.875 && alfa > 1.125 ){ this->orientacion=S; // printf("Mira al Sur.\n"); } else /* if ( alfa < 1.125 && alfa >0.375 ) */ { this->orientacion=SE; //printf("Mira al SudEste.\n"); } int flagX=1; int flagY=1; while ( (flagX == 1) || (flagY == 1) ) { // antY=y; antX=x; if ( (x > destX+velocidad) || (x < destX-velocidad) ) { x+=destX>x?velocidad:-velocidad; } else { flagX=0; } if ( (y > destY+velocidad) || (y < destY-velocidad) ) { y+=destY>y?velocidad:-velocidad; } else { flagY=0; } mapaX=x/mapa.getLongCasilla(); mapaY=y/mapa.getLongCasilla(); Terreno* t=mapa(mapaX,mapaY); if ( t != casilla ) { if ( !cambiarCasilla(t) ) { x=antX; y=antY; // return 0; } } SDL_Delay(70); } this->estado=QUIETO; return 1; }
int main() { HANDLE kolor; kolor = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(kolor, 15 | FOREGROUND_INTENSITY); int numerg; int x, y, i, j, kgracza=0; int kol = 0; int k1 = 12, k2 = 12, k3 = 12, k4 = 12, k5 = 12, k6 = 12, k7 = 12; int pnk[13][8]; int tmp=0, tmp2=0; int wygrany=0; int ponowna=0; mapa(); gotoxy(50, 1); printf("4 W RZEDZIE"); for (i = 1; i < 43; i++) { if (kgracza == 0) { gotoxy(40, 4); Wybor(kol, k1, k2, k3, k4, k5, k6, k7, tmp, tmp2); pnk[tmp2][tmp] = 1; Sprawdzanie(kol, wygrany, tmp, tmp2, pnk); kgracza = 1; } else { gotoxy(40, 4); Wybor2(kol, k1, k2, k3, k4, k5, k6, k7, tmp, tmp2); gotoxy(35, 7); printf(" "); pnk[tmp2][tmp] = 2; Sprawdzanie(kol, wygrany, tmp, tmp2, pnk); kgracza = 0; } if (wygrany != 0) { break; } } gotoxy(35, 4); printf(" "); gotoxy(35, 7); printf(" "); winner(i, wygrany); gotoxy(50, 13); system("PAUSE"); return 0; }