Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.programmare > #9 > unrolled thread
| Started by | Ronie <asasa@alice.it> |
|---|---|
| First post | 2015-11-30 17:00 +0100 |
| Last post | 2015-12-03 16:13 +0100 |
| Articles | 8 — 2 participants |
Back to article view | Back to it.comp.programmare
piccolo giochino Ronie <asasa@alice.it> - 2015-11-30 17:00 +0100
Re: piccolo giochino fmassei@gmail.com - 2015-11-30 08:08 -0800
Re: piccolo giochino Ronie <asasa@alice.it> - 2015-12-01 20:45 +0100
Re: piccolo giochino fmassei@gmail.com - 2015-12-02 09:02 -0800
Re: piccolo giochino Ronie <asasa@alice.it> - 2015-12-03 11:09 +0100
Re: piccolo giochino fmassei@gmail.com - 2015-12-03 02:22 -0800
Re: piccolo giochino Ronie <asasa@alice.it> - 2015-12-03 16:10 +0100
Re: piccolo giochino Ronie <asasa@alice.it> - 2015-12-03 16:13 +0100
| From | Ronie <asasa@alice.it> |
|---|---|
| Date | 2015-11-30 17:00 +0100 |
| Subject | piccolo giochino |
| Message-ID | <n3hrqa$7gi$2@speranza.aioe.org> |
ho realizzato un piccolo giochino in c++ seguendo una guida su internet in cui appare uno scarabocchio che sarebbe la mia astronave,un bmp che rappresenta il nemico e il fondale che fa scrolling. non ci sono ancora collisioni ecco però il nemico mi appare doppio e si muove troppo velocemente cosi come lo scrolling del fondale. non c'è modo di regolare velocità. se volete posto codice ...
[toc] | [next] | [standalone]
| From | fmassei@gmail.com |
|---|---|
| Date | 2015-11-30 08:08 -0800 |
| Message-ID | <ec07cf15-631e-4029-af69-891215391274@googlegroups.com> |
| In reply to | #9 |
On Monday, November 30, 2015 at 5:00:25 PM UTC+1, Ronie wrote: > ho realizzato un piccolo giochino in c++ seguendo una guida su internet > in cui appare uno scarabocchio che sarebbe la mia astronave,un bmp che > rappresenta il nemico e il fondale che fa scrolling. > non ci sono ancora collisioni ecco però il nemico mi appare doppio e si > muove troppo velocemente cosi come lo scrolling del fondale. > non c'è modo di regolare velocità. > se volete posto codice ... Difficilmente se non lo posti si può riuscire ad indovinare :) Ciao!
[toc] | [prev] | [next] | [standalone]
| From | Ronie <asasa@alice.it> |
|---|---|
| Date | 2015-12-01 20:45 +0100 |
| Message-ID | <n3ktcu$cp8$1@speranza.aioe.org> |
| In reply to | #10 |
Il 30/11/2015 17:08, fmassei@gmail.com ha scritto:
> On Monday, November 30, 2015 at 5:00:25 PM UTC+1, Ronie wrote:
>> ho realizzato un piccolo giochino in c++ seguendo una guida su internet
>> in cui appare uno scarabocchio che sarebbe la mia astronave,un bmp che
>> rappresenta il nemico e il fondale che fa scrolling.
>> non ci sono ancora collisioni ecco però il nemico mi appare doppio e si
>> muove troppo velocemente cosi come lo scrolling del fondale.
>> non c'è modo di regolare velocità.
>> se volete posto codice ...
>
> Difficilmente se non lo posti si può riuscire ad indovinare :)
>
> Ciao!
>
ecco qua il codice:
#include "allegro.h"
BITMAP *buf, *sprite,*sfondo,*scrolling,*cattivo;
PALETTE colori;
int x,y,moltiplica,xscroll,xcattivo,ycattivo,xconto,yconto,morto;
void doppiobuffering()
{
vsync();
blit(buf, screen, 0, 0, 0, 0, 640, 480);
clear(buf);
}
void player() {
if(morto==1){
draw_sprite(buf, sprite, x, y);
}
}
void movimentotasti() {
if (key[KEY_LEFT]) x=x-2; if (x<=0) x=0;
if (key[KEY_RIGHT]) x=x+2; if (x>=300) x=300;
if (key[KEY_UP]) y=y-2; if (y<=0) y=0;
if (key[KEY_DOWN]) y=y+2; if (y>=180) y=180;
}
void fondale() {
xscroll=xscroll+1;
blit(scrolling,buf,xscroll,0, 0, 0, 320, 200);
if(xscroll>319){
xscroll=0;
}
}
void nemico(){
draw_sprite(buf,cattivo,xcattivo,ycattivo);
}
void movimentonemico(){
if(yconto==1){
ycattivo=ycattivo-1;
if(ycattivo<=10){
yconto=2;
}
}
if(yconto==2){
ycattivo=ycattivo+1;
if(ycattivo>=150){
yconto=3;
}
}
if(yconto==3){
xcattivo=xcattivo-1;
xconto=xconto+1;
if(xconto>=40){
xconto=0;yconto=1;
}
}
if (xcattivo<=50) {
xcattivo=360;
ycattivo=10;
yconto=3;
}
}
void collisione() {
if (((x+30)>=xcattivo) && (x<=(xcattivo+40))) {
if (((y+20)>=ycattivo) && (y<=(ycattivo+31))) {
morto=0;}
}
}
int main()
{
allegro_init();
install_keyboard();
set_color_depth(32);
set_palette(colori);
set_gfx_mode(GFX_AUTODETECT, 320, 200, 0, 0);
buf = create_bitmap(320, 200);
clear(buf);
sprite = load_bmp("player.bmp",colori);
sfondo = load_bmp("fondale.bmp",colori);
cattivo=load_bmp("nemico.bmp",colori);
scrolling=create_bitmap(640,200);
clear(scrolling);
for (moltiplica=0;moltiplica<=640;moltiplica=moltiplica+320) {
blit(sfondo,scrolling,0,0,moltiplica,0,320,200);
}
morto=1;
x=10; y=30;
xcattivo=360;ycattivo=10;
yconto=3;xconto=0;
while (!key[KEY_ESC]) {
doppiobuffering();
fondale();
player();
movimentotasti();
nemico();
movimentonemico();
collisione();
}
destroy_bitmap(buf);
destroy_bitmap(sprite);
destroy_bitmap(sfondo);
destroy_bitmap(cattivo);
destroy_bitmap(scrolling);
}
END_OF_MAIN ();
[toc] | [prev] | [next] | [standalone]
| From | fmassei@gmail.com |
|---|---|
| Date | 2015-12-02 09:02 -0800 |
| Message-ID | <0fbe769f-7e6f-455b-83f3-a6dafe002d55@googlegroups.com> |
| In reply to | #11 |
On Tuesday, December 1, 2015 at 8:45:38 PM UTC+1, Ronie wrote: > Il 30/11/2015 17:08, fmassei@gmail.com ha scritto: > > On Monday, November 30, 2015 at 5:00:25 PM UTC+1, Ronie wrote: > >> ho realizzato un piccolo giochino in c++ seguendo una guida su internet > >> in cui appare uno scarabocchio che sarebbe la mia astronave,un bmp che > >> rappresenta il nemico e il fondale che fa scrolling. > >> non ci sono ancora collisioni ecco però il nemico mi appare doppio e si > >> muove troppo velocemente cosi come lo scrolling del fondale. > >> non c'è modo di regolare velocità. > >> se volete posto codice ... > > > > Difficilmente se non lo posti si può riuscire ad indovinare :) > > > > Ciao! > > > ecco qua il codice: > > <snip> > Mamma mia, butta quella "guida"! :) Come prima cosa, non si scrive a video in un ciclo stretto (il tuo while nel main()), che non ha senso: vuoi bloccare il framerate (e tutti i conti che fai prima del rendering) sui 30/sec, e per farlo ti devi tarare con qualche timer. Non conosco allegro ma sicuramente c'è una funzione per avere il clock. Per tarare la "velocità" a quel punto puoi incrementare i tuoi movimenti di diversi pixel (o frazioni di pixel, se è per questo) - ora è hardwired a 2. Per "il nemico che si vede doppio" probabilmente è perché scrivi oltre la dimensione della riga (x e/o y troppo grosse, o negative): trovare un errore così però in un codice pieno di numerelli che non dicono nulla (10, 150, 40, etc. - ma come fai a capirci qualcosa?) è impossibile: usa costanti o #define per incrementare la leggibilità del codice, e quasi sicuramente a quel punto vedrai anche te qual'è il numero sbagliato. Ciao!
[toc] | [prev] | [next] | [standalone]
| From | Ronie <asasa@alice.it> |
|---|---|
| Date | 2015-12-03 11:09 +0100 |
| Message-ID | <n3p4cs$dod$1@speranza.aioe.org> |
| In reply to | #12 |
Il 02/12/2015 18:02, fmassei@gmail.com ha scritto: > On Tuesday, December 1, 2015 at 8:45:38 PM UTC+1, Ronie wrote: >> Il 30/11/2015 17:08, fmassei@gmail.com ha scritto: >>> On Monday, November 30, 2015 at 5:00:25 PM UTC+1, Ronie wrote: >>>> ho realizzato un piccolo giochino in c++ seguendo una guida su internet >>>> in cui appare uno scarabocchio che sarebbe la mia astronave,un bmp che >>>> rappresenta il nemico e il fondale che fa scrolling. >>>> non ci sono ancora collisioni ecco però il nemico mi appare doppio e si >>>> muove troppo velocemente cosi come lo scrolling del fondale. >>>> non c'è modo di regolare velocità. >>>> se volete posto codice ... >>> >>> Difficilmente se non lo posti si può riuscire ad indovinare :) >>> >>> Ciao! >>> >> ecco qua il codice: >> >> <snip> >> > > Mamma mia, butta quella "guida"! :) > è che io sono un niubbo totale ... la guida era proprio per niubbi totali o quasi ...
[toc] | [prev] | [next] | [standalone]
| From | fmassei@gmail.com |
|---|---|
| Date | 2015-12-03 02:22 -0800 |
| Message-ID | <193999b0-a6a1-450e-a311-be4100548a31@googlegroups.com> |
| In reply to | #13 |
On Thursday, December 3, 2015 at 11:09:35 AM UTC+1, Ronie wrote: > Il 02/12/2015 18:02, fmassei@gmail.com ha scritto: > > On Tuesday, December 1, 2015 at 8:45:38 PM UTC+1, Ronie wrote: > >> ecco qua il codice: > >> > >> <snip> > >> > > > > Mamma mia, butta quella "guida"! :) > > > è che io sono un niubbo totale ... > la guida era proprio per niubbi totali o quasi ... > Un motivo in più per prenderne una buona: se uno comincia subito a farsi brutte abitudini poi è finita! :) Una volta uno dei tutorial orientati allo sviluppo di giochini 2d che mi sembrava ben fatto era questo: http://lazyfoo.net/tutorials/SDL/index.php (che però usa le SDL invece di allegro). In ogni caso l'importante sono i concetti base, poi quale libreria usi conta fino ad un certo punto. Se potessi ti consiglierei qualche libro, ma lo sviluppo di giochi non è proprio il mio campo, per cui purtroppo non ne ho la minima idea. Ciao!
[toc] | [prev] | [next] | [standalone]
| From | Ronie <asasa@alice.it> |
|---|---|
| Date | 2015-12-03 16:10 +0100 |
| Message-ID | <n3pm22$sjo$1@speranza.aioe.org> |
| In reply to | #14 |
Il 03/12/2015 11:22, fmassei@gmail.com ha scritto: > On Thursday, December 3, 2015 at 11:09:35 AM UTC+1, Ronie wrote: >> Il 02/12/2015 18:02, fmassei@gmail.com ha scritto: >>> On Tuesday, December 1, 2015 at 8:45:38 PM UTC+1, Ronie wrote: >>>> ecco qua il codice: >>>> >>>> <snip> >>>> >>> >>> Mamma mia, butta quella "guida"! :) >>> >> è che io sono un niubbo totale ... >> la guida era proprio per niubbi totali o quasi ... >> > > Un motivo in più per prenderne una buona: se uno comincia subito a farsi > brutte abitudini poi è finita! :) > > Una volta uno dei tutorial orientati allo sviluppo di giochini 2d che mi > sembrava ben fatto era questo: http://lazyfoo.net/tutorials/SDL/index.php > (che però usa le SDL invece di allegro). mi sembra troppo complicato e poi è in inglese e il testo è su fondale scuro !!!
[toc] | [prev] | [next] | [standalone]
| From | Ronie <asasa@alice.it> |
|---|---|
| Date | 2015-12-03 16:13 +0100 |
| Message-ID | <n3pm7u$sjo$2@speranza.aioe.org> |
| In reply to | #15 |
Il 03/12/2015 16:10, Ronie ha scritto: > Il 03/12/2015 11:22, fmassei@gmail.com ha scritto: >> On Thursday, December 3, 2015 at 11:09:35 AM UTC+1, Ronie wrote: >>> Il 02/12/2015 18:02, fmassei@gmail.com ha scritto: >>>> On Tuesday, December 1, 2015 at 8:45:38 PM UTC+1, Ronie wrote: >>>>> ecco qua il codice: >>>>> >>>>> <snip> >>>>> >>>> >>>> Mamma mia, butta quella "guida"! :) >>>> >>> è che io sono un niubbo totale ... >>> la guida era proprio per niubbi totali o quasi ... >>> >> >> Un motivo in più per prenderne una buona: se uno comincia subito a farsi >> brutte abitudini poi è finita! :) >> >> Una volta uno dei tutorial orientati allo sviluppo di giochini 2d che mi >> sembrava ben fatto era questo: http://lazyfoo.net/tutorials/SDL/index.php >> (che però usa le SDL invece di allegro). > > mi sembra troppo complicato e poi è in inglese e il testo è su fondale > scuro !!! > > comunque ci darò un'occhiata grazie ... dovrei essere almeno in grado di importare le librerie ;)
[toc] | [prev] | [standalone]
Back to top | Article view | it.comp.programmare
csiph-web