Ah, das ist gut zu wissen.
MfG,
CracKPod
AntMe! Klon
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Wäre es nicht einfacher das ganze per Netzwerk-Interface zu realisieren? Somit wäre man Client-seitig Plattform unabhängig und man müßte sich nicht ums "sandboxed" kümmern ...
Allerdings gibts da ja schon Sachen, auch wenn mir der Name nicht einfällt momentan (findet man aber unter freshmeat iirc).
Allerdings gibts da ja schon Sachen, auch wenn mir der Name nicht einfällt momentan (findet man aber unter freshmeat iirc).
Sandboxed? In wie fern? Python ist doch so oder so cross-platform?...Hyperion hat geschrieben:Wäre es nicht einfacher das ganze per Netzwerk-Interface zu realisieren? Somit wäre man Client-seitig Plattform unabhängig und man müßte sich nicht ums "sandboxed" kümmern ...
Allerdings gibts da ja schon Sachen, auch wenn mir der Name nicht einfällt momentan (findet man aber unter freshmeat iirc).
Wenn dir der Name einfällt poste ihn bitte.
MfG,
CracKPod
Ich denke Hyperion meint, das man die KI-Progrämmchen in Sandboxen laufen lassen sollte, da man sonst schummeln kann und einzelne Ameisen einfach in die Spiellogik eingreifen können.
Wenn man also nicht auf den Sportsgeist der Ameisenprogrammierer vertrauen möchte, bietet es sich an das Spiel als Server zu implementieren, so dass die Ameisen nicht mehr auf Interna zugreifen können.
Wenn man also nicht auf den Sportsgeist der Ameisenprogrammierer vertrauen möchte, bietet es sich an das Spiel als Server zu implementieren, so dass die Ameisen nicht mehr auf Interna zugreifen können.
Da ich gerade von meinem Spiel gefrustet bin, und etwas abwechslung benötige, mache ich mich daran mal einen Singleplayer prototypen zu entwickeln. Vielleicht klappts, vielleicht auch nicht.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
http://realtimebattle.sourceforge.net/
Den meinte ich glaub ich
http://www.bluefire.nu/droidbattles/index.html
Der hier hat wohl eher Ähnlichkeit mit eurer Idee
Und dann gabs da noch einen in Ruby ... aber den find ich grad nicht.
Den meinte ich glaub ich
http://www.bluefire.nu/droidbattles/index.html
Der hier hat wohl eher Ähnlichkeit mit eurer Idee
Und dann gabs da noch einen in Ruby ... aber den find ich grad nicht.
So, das absolute Grundgerüst habe ich fertig:
ki.py:
snake.py:
snakeme.py:
ki.py:
Code: Alles auswählen
import pygame
def walk_x(rect):
rect = rect.move(1, 0)
return rect
def walk_y(rect):
rect = rect.move(0, 1)
return rect
Code: Alles auswählen
import pygame, ki
class snake():
def __init__(self):
self.image = pygame.image.load('Hopsy.bmp')
self.rect = self.image.get_rect()
def KI(self):
pass #it`s your turn ...
Code: Alles auswählen
import pygame
from pygame.locals import*
from snake import snake
pygame.init()
size = width, height = 900, 700
screen = pygame.display.set_mode(size)
black = 0, 0, 0
screen.fill(black)
snake = snake()
while True:
for event in pygame.event.get():
if event.type == KEYDOWN and event.key == K_ESCAPE:
pygame.quit()
snake.KI()
screen.blit(snake.image, snake.rect)
pygame.display.flip()
Und jetzt bitte alles was mit `pygame` zu tun hat raus nehmen. Wenn Du Spiel und GUI nicht sauber trennst, brauchst Du IMHO gar nicht erst anfangen.
Musstest du mich jetzt demotivieren
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Es ist nun mal so, dass wenn du Logik und darstellung vermischt sich das zu einem Maintenance-Alptraum entwickelt und der Code dann für niemandem mehr von nutzen sein kann.Imperator hat geschrieben:Musstest du mich jetzt demotivieren
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Die Leute die es benutzen verwenden dann ja nur noch snake.py wo sie die Ki reinschreiben. Snakeme.py wird nur noch per Doppelklick gestartet. Also was habt ihr?
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Naja, niemand kann dich zwingen mit sauberen Konzepten zu programmieren, aber man kann dich ja darauf hinweisen Uns trennt man Logik und Darstellung sauber, ist es eben eine saubere Lösung. Nebenbei: Wieso sollte ich unter Linux eine xyz.exe starten wollen?
@Imperator: Wenn man GUI und Spiellogik trennt, kann man neben einer 2D-GUI mit PyGame auch eine mit Tkinter drauf setzen oder eben auch 3D mit OpenGL oder einem anderen 3D-Toolkit. Und das, ohne dass man am Spielcode selbst etwas ändern muss.
Zumindest für einen Klon vom Original AntMe! dürfte eine Tkinter-GUI übrigens für den Anfang einfacher sein, weil die API sehr nach Vektorgrafik aussieht.
Zumindest für einen Klon vom Original AntMe! dürfte eine Tkinter-GUI übrigens für den Anfang einfacher sein, weil die API sehr nach Vektorgrafik aussieht.
@hyperion: Wie meinst du das mit xyz.exe? Wer hat was von exe gesagt?
@BlackJack: Ok, jetzt kommts: Ich kenne mich kein bisschen mit Tkinter aus Deshalb mach ich es mit Pygame
@BlackJack: Ok, jetzt kommts: Ich kenne mich kein bisschen mit Tkinter aus Deshalb mach ich es mit Pygame
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Wieso sollte es kein echtes Python sein? Es ist eine Python-Implementation in C#, die auf .NET-Klassen zugreifen kann, was eine recht coole Sache ist. Ich denke sie sind momentan auch weiter als Jython es ist.Crazed hat geschrieben:Aber Iron Python ist doch eigentlich kein "echtes" Python, oder doch?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice