Collision detection, en filosofisk och/eller praktisk fråga

Permalänk
Medlem

Collision detection, en filosofisk och/eller praktisk fråga

Hej!

Jag sitter och försöker leka ihop en pongklon där jag använder mig av objekt och funktioner. Jag har kommit så pass långt att jag håller på att förbättra den collision detection som blev implementerad i början. När jag sitter här och funderar så kom jag fram till att jag vet inte vad en bra praxis skulle vara att lägga in funktionalliteten collision detection, i en funktion, i ett objekt, rätt in i main loop?

Hur jag kom fram till min fundering: (hoppas folk vet hur pong ser ut och funkar)

  • I mitt program har jag tre classer, spelplanen, spelare(paddle) och boll.

  • Jag har funktioner, ex. set up och en Main där själva programmet körs

  • Var jag lägger in den kan bero på storleken på programmet

  • Kan bero på vilken filosofi jag väljer att följa, tex *nix en fil skall göra en sak och göra den sjukt bra

  • Vilket språk jag använder, Assembler och C är inte Objekt orienterat, C++, Processing och Python är det.

  • Python som jag använder för tillfället är någon slags kult för sig enligt mig

  • SOLID och CUPID(råkade höra om dessa och har absolut ingen full förståelse för dem)

  • Vad är standard för att lägga in funktionen i spel?

Min bakgrund inom detta ämne är glad amatör som lärde mig lite i skolan för ca 20år sedan (pascal och java), lite olika PLC har programmerats, råkade hitta Ardunio för några år sedan och släpade mig igenom någon liten introkurs i Python online.

Så ni som gjort program där collition detection ingår vart lägger ni den?

MVH

Visa signatur

Laptop: HP Elitebook 640 G9
Server: HP Microserver N54L, 8 GB ram, 8 TB hd.

Permalänk
Medlem

Jag är långt ifrån l33th4xx0r och har bara sniffat lite på spelprogrammering. Jag vet i stort sett bara att det är svårt.
Så jag kan vara ute och cykla.

Men jag hade nog lagt det i en egen funktion som jag hade anropat i game loopen om du har en sådan dvs.

Visa signatur

www.fckdrm.com - DRM år 2024? Ha pyttsan.

Permalänk
Medlem

Det där är ju en sådan sak som känns alldeles uppenbar att den skall in i en egen funktion.

Eller i en metod om man kör objektorienterat, men metoder är ju bara en variant av funktioner. Det är dock inte uppenbart vilken klass som metoden skulle tillhöra eftersom problemet involverar interaktion mellan två objekt som kan tänkas tillhöra två olika klasser. Går dock att lösa med någon basklass som andra relevanta klasser kan ärva från.

Permalänk
Medlem

Nånstans har du en loop som körs på en timer (har du inte det så skaffa det). I den loopen lägger du all fysik, t.ex. collision detection). Kör du oop så anropas den via klassen boll eller liknande.

Visa signatur

Processor: Motorola 68000 | Klockfrekvens: 7,09 Mhz (PAL) | Minne: 256 kB ROM / 512 kB RAM | Bussbredd: 24 bit | Joystick: Tac2 | Operativsystem: Amiga OS 1.3