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


Groups > it.comp.programmare > #11

Re: piccolo giochino

From Ronie <asasa@alice.it>
Newsgroups it.comp.programmare
Subject Re: piccolo giochino
Date 2015-12-01 20:45 +0100
Organization Aioe.org NNTP Server
Message-ID <n3ktcu$cp8$1@speranza.aioe.org> (permalink)
References <n3hrqa$7gi$2@speranza.aioe.org> <ec07cf15-631e-4029-af69-891215391274@googlegroups.com>

Show all headers | View raw


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 ();

Back to it.comp.programmare | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

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

csiph-web