The Code-Bin
Links
Home
Add your code!
All Listings
About
Latest Entry
Featured Scripts
Author's Website
Latest Entries
FFMPEG Thumbnail Scr...
PHP, 0.8KB
Jul. 29, 10:24pm
John
Z80 Assembler, 190 bytes
Feb. 17, 3:36am
John
Z80 Assembler, 176 bytes
Sep. 13, 2:19am
John
Z80 Assembler, 77 bytes
Sep. 13, 2:18am
John
Z80 Assembler, 209 bytes
Sep. 13, 2:17am
untitled C++ Code
Posted by: code | April 10, 2011 @ 4:11am
C++ Code
[
Download
]
// Level.cpp - Copyright (C) 2003 Oliver Pearce, see COPYING for details #include "coRect.h" #include "gegner.h" #include "level.h" #include <iostream> #include <fstream> #include <vector> #include <string> #include <iostream> #if defined(linux) #include <netinet/in.h> #endif extern int einfuellen(int x,int y,int w,int h,int typ, int x2, int y2); extern void parseLevel(); extern Gegner gegnerArr[20]; //extern vector <CoRect> levEx; bool Level::loadLevel(const char* fileName){ files.push_back("level1.bdt"); files.push_back("level2.bdt"); files.push_back("level3.bdt"); ifstream inFile(fileName); //ifstream inFile("test.dat"); int x, y, w, h, typ; for(int i=0; i<60; ++i){ for(int k=0; k<60; ++k){ inFile.read((char*) &x, sizeof(x) ); inFile.read((char*) &y, sizeof(y) ); inFile.read((char*) &w, sizeof(w) ); inFile.read((char*) &h, sizeof(h) ); inFile.read((char*) &typ, sizeof(typ) ); #if defined(linux) x = ntohl(x); y = ntohl(y); w = ntohl(w); h = ntohl(h); typ = ntohl(typ); #endif einfuellen(x,y,w,h,typ,k,i); } } for(int i=0; i<3; ++i){ //liest Eing�nge ein inFile.read((char*) &x, sizeof(x) ); inFile.read((char*) &y, sizeof(y) ); #if defined(linux) x = ntohl(x); y = ntohl(y); #endif Eingang eingang; //Eing�nge ... eingang.xCoor = x; eingang.yCoor = y; einVec.push_back(eingang); int einXPos = x/10; int einYPos = y/10; for (int i=0; i < 3; ++i){ for (int k=0; k < 6; ++k) einfuellen(x+10*i, y+10*k, 10, 10, 8, einXPos+i, einYPos+k); //...Eing�nge } } inFile.read((char*) &x, sizeof(x) ); //Ausgang.... inFile.read((char*) &y, sizeof(y) ); #if defined(linux) x = ntohl(x); y = ntohl(y); #endif Eingang ausgang; ausgang.xCoor = x; ausgang.yCoor = y; this->ausgang = ausgang; inFile.read((char*) &x, sizeof(x) ); //GegnerAusgang.... inFile.read((char*) &y, sizeof(y) ); #if defined(linux) x = ntohl(x); y = ntohl(y); #endif Eingang gegnerAusgang; gegnerAusgang.xCoor = x; gegnerAusgang.yCoor = y; this->gegnerAusgang = gegnerAusgang; inFile.read((char*) &x, sizeof(x) ); //StartPosition... inFile.read((char*) &y, sizeof(y) ); #if defined(linux) x = ntohl(x); y = ntohl(y); #endif Eingang startPosition; startPosition.xCoor = x; startPosition.yCoor = y; this->startPosition = startPosition; //...StartPosition for(int i=0; i<20; ++i){ //liest Gegner- Steuerungs- Skript ein inFile.read((char*) &x, sizeof(x) ); #if defined(linux) x = ntohl(x); #endif skript.push_back(x); } for(int i=0; i <3; ++i){ inFile.read((char*) &x, sizeof(x) ); //StartPosition der station�ren Gegner inFile.read((char*) &y, sizeof(y) ); #if defined(linux) x = ntohl(x); y = ntohl(y); #endif if (x != -1 && y != -1){ for (int i=0; i< 20 ; ++i) { //Gegner generieren if ( ! (gegnerArr[i].getIsAlive()) ) { if (x%33 == 0) //M�glichkeit, auch granatwefende station�re Gegner zu schaffen! gegnerArr[i] = Gegner (x, y ,20,50, 4); else gegnerArr[i] = Gegner (x, y ,20,50, 2); break; } } } } inFile.read((char*) &x, sizeof(x) ); //Levelzeit einlesen #if defined(linux) x = ntohl(x); #endif levelZeit = x; parseLevel(); //Startzeit des Levels bestimmen time(&levelStartZeit); return true; } void Level::gegnerGenerator() { Uint32 aktuelleZeit = SDL_GetTicks(); if (aktuelleZeit > startzeit + 3000 ) { //Wie oft kommt ein neuer Gegner startzeit = SDL_GetTicks(); Eingang aktEingang = einVec[einIndex]; //Aktueller Eingang zuweisen ++einIndex; if (einIndex == 3) einIndex =0; int aktSkript = skript[skriptIndex]; //Aktueller Skriptwert zuweisen ++ skriptIndex; if (skriptIndex == 20) skriptIndex =0; //if ( ( aktEingang.xCoor != -100 ) && (aktEingang.yCoor != -100) ){ //Mit -100/-100 kann das Produktionstempo vermindert werden if (aktSkript != 0){ for (int i=0; i< 20 ; ++i) { //Gegner generieren if ( ! (gegnerArr[i].getIsAlive()) ) { gegnerArr[i] = Gegner (aktEingang.xCoor, aktEingang.yCoor ,20,50, aktSkript); break; } } } } } void Level::reset() { for (int i=0; i<3; ++i){ einVec.pop_back(); } for (int i=0; i<20; ++i){ skript.pop_back(); } skriptIndex = 0; }
Syntax Highlighting
[
Open in new window
]
Author Comments
none
Rating
4.59 / 8
209 Votes
http://codebin.yi.org/1213
page generated in 0.00 seconds