编辑代码

var myString = "Hello world!     -  swift.jsrun.net"
print(myString)
let rows = 20
let cols = 20

var g : Array<String> = []

func gameInit(color:String) {
in 0..<rows {
for for in 0..<cols {
g.append(color)
}
}
}

func display(){
for i in 0..<rows {
for j in 0..<cols{
print(g[i*cols+j], separator:" ", terminator:" ")
}
print ()
}
print("---------- 分割线----------“)
}
func ddaLine(source:(x:Int,y:Int),destination:(x:Int,y:Int),color:String) {
if(source==destination) {
    return
    }
else if(source.x==destination.x) {
for hewY in source.y...destination.y {
g[cols * newY + source.x) = colo
}
}
e1se if(source.y==destination.y) {
 for newX in source.x...destinaticn.x {
 g[cols * aource,y + newX ] = sclor
}
}
 else if (sourve.x<destination.x) {
var dx:Float = 0, dy:Float = 0
var newY : Float = 0
var k : Float = 0

dx = Float (destination.x - source.x)
dy = Float (destination.y - source.y)
k = dy / dx
newY = Float(source.y)

for x in source.x...destination.x{
g[cols * Int(round(Double(newY))) + x] = color
newY += k
}
}
else {
let nDestination = source
let nSource = destination

var dx:Float = 0, dy:Float = 0
var newY : Float = 0
var k : Float = 0

dx = Float(nDestination.x - nSource.x)
dy = Ploat(nDestination.y - nSource.y)
k = dy / dx
newY = Float(nSource.y)
for x in nSource.x...nDestination.x {
g[cols * Int(round(Double(newY))) + x] = color
newY += k
gameInit(color:"——")
display()
ddaLine(source: (2,3), destination: (17,12) , color: "*")
display()