Link Utili
Oh la pagina di programmazione dedicata a C++ (e forse in futuro a C# e VB.Net li sto imparando ora), inserirò come prima cosa alcuni link utili per iniziare a programmare,
come prima cosa un compilatore; ho scelto come compilatore Dev C++ perchè ha sicuramente un idle intuitivo e potete
trovarlo QUI.
Poi il sito del Prof. Sarrapochiello, dove potrete trovare i suoi appunti del primo superiore e qualche porgrammino,
ecco il LINK.
Spero che questi link saranno utili a chi vuole iniziare... presto comunque scriverò qualche piccola guida nei limiti di quello che so.
Progetto gioco 3D C++
Avevo gia anticipato questo articolo, il gioco procede bene (apparte qualche libreria mancante...) e sopratutto gia posso allegare una piccola demo ^^
ma la cosa + importante è che ho deciso di allegare anche il source per chi volesse cimentarsi con irrlich e C++.
Ho creato un piccolo demo che fa vedere il motore di irrlich.. visto che stiamo creando anche le mappe e i modelli 3D ma fanno un pò schifo -.-... ho deciso di utilizzare per il demo una mappa di Quake 3
(uno sparatutto non molto nuovo).
Ecco il codice:
#include
#include
using namespace irr;
#pragma comment(lib, "Irrlicht.lib")
int main()
{
//Tipi di driver video da scegliere (per ora funziona solo la Open GL)
video::E_DRIVER_TYPE driverType;
printf("Please select the driver you want for this example:\n"\
" (a) Direct3D 9.0c\n
(b) Direct3D 8.1\n
(c) OpenGL 1.5\n"\
" (d) Software Renderer\n
(e) Apfelbaum Software Renderer\n"\
" (f) NullDevice\n (otherKey) exit\n\n");
char i;
std::cin >> i;
//Selezione del software per il driver video
switch(i)
{
case 'a': driverType = video::EDT_DIRECT3D9;break;
case 'b': driverType = video::EDT_DIRECT3D8;break;
case 'c': driverType = video::EDT_OPENGL; break;
case 'd': driverType = video::EDT_SOFTWARE; break;
case 'e': driverType = video::EDT_SOFTWARE2;break;
case 'f': driverType = video::EDT_NULL; break;
default: return 1; }
//Caricamento del spftware e dell'interfaccia
IrrlichtDevice *device =
createDevice(driverType, core::dimension2d(640, 480));
if (device == 0)
return 1;
video::IVideoDriver* driver = device->getVideoDriver();
scene::ISceneManager* smgr = device->getSceneManager();
//Caricamento della mappa (che deve essere nella stessa cartella del file .exe
device->getFileSystem()->addZipFileArchive("map-20kdm2.pk3");
//Le texture
scene::IAnimatedMesh* mesh = smgr->getMesh("20kdm2.bsp");
scene::ISceneNode* node = 0;
if (mesh)
node = smgr->addOctTreeSceneNode(mesh->getMesh(0));
if (node)
node->setPosition(core::vector3df(-1300,-144,-1249));
//Il tipo di telecamera in questo caso FPS
smgr->addCameraSceneNodeFPS();
device->getCursorControl()->setVisible(false);
int lastFPS = -1;
while(device->run())
if (device->isWindowActive())
{
driver->beginScene(true, true, video::SColor(0,200,200,200));
smgr->drawAll();
driver->endScene();
int fps = driver->getFPS();
if (lastFPS != fps)
{
core::stringw str = L"Irrlicht Engine - Quake 3 Map example [";
str += driver->getName();
str += "] FPS:";
str += fps;
device->setWindowCaption(str.c_str());
lastFPS = fps;
}
}
device->drop();
return 0;
}
Scarica il surce completo da QUI.
Potete poi scaricare da QUI la demo. per ora non abbiamo creato alcuno callisione perchi siatmo attendendo la libreria mancante del personaggio quindi potrete svolazzare liberamente nella mappa.
C++ a scuola
Programma per calcolare il parallelo di 2 resistenze
/*Parallelo di 2 resistenze*/Radice quadrata di un numero
#include
#include
#include
main()
{
float a,x;
printf("Inserisci un numero:");
scanf("%f",&a);
x=sqrt(a);
printf("La radice del numero inserito e':");
printf("%f",x);
printf("\n\n");
system("PAUSE");
return 0;
}
/*Radice quadrata di un numero*/
#include
#include
#include
main()
{
float a,x;
printf("Inserisci un numero:");
scanf("%f",&a);
x=sqrt(a);
printf("\n\n");
printf("La radice del numero inserito e':");
printf("%f",x);
printf("\n\n");
system("PAUSE");
return 0;
}
Gli include per i 2 programmi sono rispettivamente stdio.h, stdlib.h e math.h purtroppo non riesco a visualizzarli in html.