Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.programmare > #9 > unrolled thread

piccolo giochino

Started byRonie <asasa@alice.it>
First post2015-11-30 17:00 +0100
Last post2015-12-03 16:13 +0100
Articles 8 — 2 participants

Back to article view | Back to it.comp.programmare


Contents

  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

#9 — piccolo giochino

FromRonie <asasa@alice.it>
Date2015-11-30 17:00 +0100
Subjectpiccolo 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]


#10

Fromfmassei@gmail.com
Date2015-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]


#11

FromRonie <asasa@alice.it>
Date2015-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]


#12

Fromfmassei@gmail.com
Date2015-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]


#13

FromRonie <asasa@alice.it>
Date2015-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]


#14

Fromfmassei@gmail.com
Date2015-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]


#15

FromRonie <asasa@alice.it>
Date2015-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]


#16

FromRonie <asasa@alice.it>
Date2015-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