Ir à oferta completa

MINIMALIST PONG GAME FOR GBA

Descrição da oferta de emprego

create a simplified Pong game that compiles and runs on GBA emulators.
Here are the design specifications.
● The Pong game consists of one bal, one paddle, and one scoreboard ● Size of the ball.
fitting 8x8 sprite ● Size of the paddle.
fitting 16x8 sprite ● The paddle will be located at the bottom of the screen.
The paddle can be moved around the screen with buttons.
● The ball can bounce around the screen’s left, right, and top edges.
However, the game will end if it touches the bottom edge of the screen.
● The scoreboard will start from 0, and add 1 every time the paddle hits the ball.
The game will not include any sound effects.
The game should feature a modern minimalist visual style.
The game should use a black and white color scheme.
The game screen will have a black background.
The paddle should have moderate movement speed in response to player inputs.
To develop the game, it needs to be modified version of following code.
// Butano libraries #include "bn_core.
" // Core libraries.
#include "bn_log.
" #include "bn_sram.
" #include "bn_music.
" #include "bn_music_actions.
" #include "bn_music_items.
" #include "bn_sound_items.
" #include "bn_sram.
" #include "bn_math.
" #include "bn_string.
" #include "bn_keypad.
" #include "bn_display.
" #include "bn_random.
" #include "bn_regular_bg_ptr.
" #include "bn_sprite_text_generator.
" #include "bn_sprite_animate_actions.
" #include "bn_sprite_palette_ptr.
" #include "common_info.
" #include "common_variable_8x8_sprite_font.
" #include "bn_sprite_items_paddle.
" #include "bn_sprite_items_ball.
" #include "bn_regular_bg_items_bg.
" int main() {   bn:.
ore:.
nit();   bn:.
usic_items:.
login to view URL](1);   bn:.
egular_bg_ptr bg = bn:.
egular_bg_items:.
g.
reate_bg(0, 0);   bn:.
prite_ptr left_paddle = bn:.
prite_items:.
addle.
reate_sprite(-);   bn:.
prite_ptr right_paddle = bn:.
prite_items:.
addle.
reate_sprite();   right_paddle.
et_horizontal_flip(true);   bn:.
prite_ptr ball = bn:.
prite_items:.
all.
reate_sprite(0, 0);   int score = 0;     bool enemy_going_up = false;   int delta_x = 0;   int delta_y = 0;   bn:.
andom random;   bn:.
prite_text_generator text_generator(common:.
ariable_8x8_sprite_font);   bn:.
ector text_sprites;   [login to view URL](-, "(Press A to start)", text_sprites);   while (true)   {     if (bn:.
eypad:.
p_held() && left_paddle.
() > -48)     {       left_paddle.
et_y(left_paddle.
() - 1);     }     else if (bn:.
eypad:.
own_held() && left_paddle.
()     {       left_paddle.
et_y(left_paddle.
() + 1);     }     if (enemy_going_up)     {       if (right_paddle.
() > -48)       {         right_paddle.
et_y(right_paddle.
() - 1);       }       else       {         enemy_going_up = false;       }     }     else     {       if (right_paddle.
()       {         right_paddle.
et_y(right_paddle.
() + 1);       }       else       {         enemy_going_up = true;       }     }     if (bn:.
eypad:.
_pressed() && delta_x == 0 && delta_y == 0)     {       // The 'generate' function fills up the selected vector,       // so make sure to clear whatever is in it!       [login to view URL]();       // We're setting up a string to represent the new value.
bn:.
tring txt_score = "Score.
" + bn:.
o_string (score);       [login to view URL](-, txt_score, text_sprites);       /*       x = 0    mod 3    output.
0       x = 1    mod 3    output.
1       x = 2    mod 3    output.
2       x = 3    mod 3    output.
0       x = 4    mod 3    output.
1       x = 5    mod 3    output.
2       */       /*       og number = 0    -2   = -2       og number = 1    -2   = -1       og number = 2    -2   = 0       og number = 4    -2   = 1       og number = 5    -2   = 2       */       while (delta_x == 0 || delta_y == 0)       {         delta_x = (random.
et_int() % 5) - 2;         delta_y = (random.
et_int() % 5) - 2;       }       bn:.
ound_items:.
login to view URL]();     }     ball.
et_x(ball.
() + delta_x);     ball.
et_y(ball.
() + delta_y);     if (ball.
()     {       if (bn:.
bs(ball.
() - left_paddle.
())       {         delta_x = delta_x * -1;         bn:.
ound_items:.
login to view URL]();       }       else       {         score--;         ball.
et_position(0, 0);         delta_x = 0;         delta_y = 0;         [login to view URL]();         bn:.
tring txt_score = "Score.
" + bn:.
o_string (score) + " (Press A)";         [login to view URL](-, txt_score, text_sprites);       }     }     else if (ball.
() > 100)     {       if (bn:.
bs(ball.
() - right_paddle.
())       {         delta_x = delta_x * -1;         bn:.
ound_items:.
login to view URL]();       }       else       {         score++;         ball.
et_position(0, 0);         delta_x = 0;         delta_y = 0;         [login to view URL]();         bn:.
tring txt_score = "Score.
" + bn:.
o_string (score) + " (Press A)";         [login to view URL](-, txt_score, text_sprites);       }     }     if (ball.
()     {       delta_y = delta_y * -1;       bn:.
ound_items:.
login to view URL]();     }     else if (ball.
() > 64)     {       delta_y = delta_y * -1;       bn:.
ound_items:.
login to view URL]();     }     if (bn:.
eypad:.
_pressed())     {       BN_LOG(score);     }     bn:.
ore:.
pdate();   } } please adjust [login to view URL], [login to view URL], [login to view URL], [login to view URL] No additional gameplay features or power-ups will be included.
The game will feature solid color backgrounds for a clean and simple look.
The paddle and ball will use basic, solid color textures for a minimalist effect.
The paddle and ball will have no animations to maintain a minimalist style.
The game will have no transition effects to keep the minimalist style.
The game will start directly with gameplay, with no title screen.
Design de jogos Desenvolvimento de Jogos ID do Projeto.
# Sobre o projeto 1 proposta Aberto para ofertas Projeto remoto Ativo em 20 minutos atrás
Ir à oferta completa

Detalhes da oferta

Empresa
  • Indeterminado
Localidade
  • Em todo Portugal
Endereço
  • Indeterminado - Indeterminado
Data de publicação
  • 15/11/2024
Data de expiração
  • 13/02/2025
NURSE FOR SENIOR CARE IN GERMANY
Eugenia talent recruitment

Benefits: • apartment accommodation can be provided for the initial quarter... • minimum 3 years of professional nursing experience for candidates without a diploma... they are in search of empathetic and proficient nursing staff with expertise in nursing or medicine, capable of offering thorough care......

Polish speaker Content moderator for Social Media
SmartRecruitments

Your profilenative level of written and verbal communication skills in polish (mandatory);natural fast learner so you can develop your skills within a short period of time;fluency in english (minimum level b2);empathic; motivated and with a positive attitude;attention to detail; experience in dealing......

Customer Support with French & English for Search Engine
Paco recrutiment

Do naszego zespołu w lizbonie poszukujemy pracowników mówiących po francusku, którzy będą wspierać naszych klientów... odpowiednio reaguj na eskalacje klientów i eskaluj problemy oraz klientów na wyższe poziomy wsparcia zgodnie z definicją i udokumentowaniem odpowiadaj na przychodzące żądania klientów......

Customer Support with Dutch & English for Search Engine
Paco recrutiment

Do naszego zespołu w lizbonie poszukujemy pracowników mówiących po holendersku, którzy będą wspierać naszych klientów... jej sztandarowym produktem jest wyszukiwarka, a deklarowaną misją jest „organizowanie światowych zasobów informacyjnych tak, aby były powszechnie dostępne i przydatne dla każdego”......

Customer Support with German & English for Insurance Company
Paco recrutiment

Do naszego zespołu w lizbonie poszukujemy pracowników mówiących po niemiecku i angielsku, którzy będą wspierać naszych klientów (połączenia przychodzące, e-maile i czat) twoje zadania: odbieranie rozmów telefonicznych lub czatów od klientów chcących uzyskać różnego rodzaju informacje dotyczące ich polisy......

Customer service german (m,f) banking lisbon
Personalbüro u. herrmann

The candidates book their own transportation and we will reimburse them fully (up to 700€ for external relocators and up to 150€ for internals)... job description:you will be a single point of contact for the bank's clients for different types of inquiriesyou are able to manage all different types of......

Bilingual Jobs in Portugal (M/F)
Get The Job

For employment beyond two years, a permanent contract may be offered... employment term: initial contracts of 12 months, extendable for another 12 months... accommodation benefit: for those staying in designated apartments, this benefit is tax-free... meal allowance: preloaded debit card for tax-free......

Customer service german (m,f) banking
Personalbüro u. herrmann

Job description:you will be a single point of contact for the bank's clients for different types of inquiriesyou are able to manage all different types of inquiries generated via inbound activities such as chat and email... start: asap banking project: german on-siterole: as customer service agent (m/f/d)......

Enfermeiros - vários serviços - UK
Cpl Healthcare

As you can see, there's a lot for you to do here... you'll also be part of working for the country's leading centre for rare + complex conditions, along with 1 of the largest transplant centres... our cqc rating of 'good' is proof that we are doing something right for our patients and staff......

Customer service german (m,f) banking
Personalbüro u. herrmann

Job description:you will be a single point of contact for the bank's clients for different types of inquiriesyou are able to manage all different types of inquiries generated via inbound activities such as chat and email... banking project: german on-siterole: as customer service agent (m/f/d) for german......