Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
RandomRegionsGenerator
#15
Mein Kopf ist leer und ausgebrannt lach.

Code:
#########################################################
########### Hier kommt ein Spiral Test ##################
#########################################################
mapsprung = 0 # Regionsgroesse 0=Singe, 1=512Var, 2=768Var ...
xcounter = 1000 # x Position
ycounter = 5000 # y Position
n = 6; # Anzahl Regionen Bloecke

grid = [[None]*n for i in range(n)]


def move(pos, d, counter): # zuerst erzeugen, dann bewegen
    x = pos[0]
    y = pos[1]

    # Kommentiere diese Zeile aus, um zu überpruefen, wie sie sich bewegt
    #print (x,y)

    if d == "right":
     if x == n-y-1: # Wenn wir nach rechts gehen und aufgrund von Indizes das Ende (n-y) -1 erreichen, aendere die Richtung nach unten
      #grid[y][x] = "1"
      grid[y][x] = str(xcounter + mapsprung) + ',' + str(ycounter + mapsprung) + ' '
      y+=1
      d = "down"
     else:
      #grid[y][x] = "2"
      grid[y][x] = str(xcounter + mapsprung + 1) + ',' + str(ycounter + mapsprung +1) + ' '
      x+=1
    elif d == "down": # Wenn wir nach unten gehen und das Ende erreichen, das der Spaltennummer entspricht, auf der wir uns befinden, aendere die Richtung nach links
     if y == x:
      #grid[y][x] = "3"
      grid[y][x] = str(xcounter + mapsprung + 2) + ',' + str(ycounter + mapsprung +2) + ' '
      x-=1
      d = "left"
     else:
      #grid[y][x] = "4"
      grid[y][x] = str(xcounter + mapsprung + 1) + ',' + str(ycounter + mapsprung +1) + ' '
      y+=1
    elif d == "left": # Wenn wir nach links gehen und das Ende erreichen, das das gleiche wie rechts ist, aendere die Richtung nach oben
     if x == n-y-1:
      #grid[y][x] = "5"
      grid[y][x] = str(xcounter + mapsprung + 3) + ',' + str(ycounter + mapsprung +3) + ' '
      y-=1
      d="up"
     else:
      grid[y][x] = str(xcounter + mapsprung + 4) + ',' + str(ycounter + mapsprung +4) + ' '
      x-=1
    elif d == "up": # Wenn wir nach oben gehen und das Ende erreichen, das x + 1 ist, aendere die Richtung nach rechts
     if y ==x+1:
      #grid[y][x] = "6"
      grid[y][x] =  str(xcounter + mapsprung + 5) + ',' + str(ycounter + mapsprung +5) + ' '
      x+=1
      d = "right"
     else:
      #grid[y][x] = "7"
      grid[y][x] = str(xcounter + mapsprung + 6) + ',' + str(ycounter + mapsprung +6) + ' '
      y-=1

    counter+=1
    if counter != n*n: # Wenn wir n*n Mal gemalt haben, bedeutet dies, dass wir mit der Spirale fertig sind
     move((x,y),d,counter)


move((0,0),"right",0) # Beginne in Koordinaten (0,0) mit der Richtung nach rechts und setzen Sie in 0

for row in grid:
    print(''.join('%s' % i for i in row))

Code:
#! /usr/bin/env python

# Vari
mapsprung = 1
xcounter = 1000
ycounter = 2000

def rot_right(a):
    return zip(*a[::-1])

def spiral(m, n, start=1, is_rotate=False):
    global xcounter, ycounter
    if n < 1:
        return

    xcounter += 1
    ycounter += 1
    lst = [str(xcounter + mapsprung) + ',' + str(ycounter + mapsprung) + ' ' if is_rotate else str(xcounter + mapsprung) + ',' + str(ycounter + mapsprung) + ' ' for i in range(start, m + start - 1)]
    lst += [str(xcounter + mapsprung) + ',' + str(ycounter + mapsprung) + ' ' if is_rotate and m > 0 else str(xcounter + mapsprung) + ',' + str(ycounter + mapsprung) + ' ']


    yield tuple(lst)
    for row in rot_right(list(spiral(n - 1, m, m + start, not is_rotate))):
        yield row

n = 7
for row in spiral(n, n):
    print(''.join('%s' % i for i in row))
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.



Zitieren


Nachrichten in diesem Thema
RandomRegionsGenerator - von Manfred Aabye - 12.08.2020, 20:44
RE: RandomRegionsGenerator - von Manfred Aabye - 22.08.2020, 14:01
RE: RandomRegionsGenerator - von Manfred Aabye - 24.09.2020, 19:26
RE: RandomRegionsGenerator - von Manfred Aabye - 25.09.2020, 15:21
RE: RandomRegionsGenerator - von Bogus Curry - 27.09.2020, 16:01
RE: RandomRegionsGenerator - von Manfred Aabye - 27.09.2020, 20:48
RE: RandomRegionsGenerator - von Bogus Curry - 27.09.2020, 22:56
RE: RandomRegionsGenerator - von Manfred Aabye - 28.09.2020, 11:35
RE: RandomRegionsGenerator - von Kubwa - 02.10.2020, 18:03
RE: RandomRegionsGenerator - von Bogus Curry - 02.10.2020, 18:52
RE: RandomRegionsGenerator - von Kubwa - 02.10.2020, 19:04
RE: RandomRegionsGenerator - von Manfred Aabye - 02.10.2020, 10:54
RE: RandomRegionsGenerator - von Bogus Curry - 02.10.2020, 19:07
RE: RandomRegionsGenerator - von Manfred Aabye - 07.10.2020, 10:56
RE: RandomRegionsGenerator - von Manfred Aabye - 09.10.2020, 20:20

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste