前言
這是一款執行在window上簡單貪吃蛇,需要電腦上gcc編譯c語言**,可以參考win10下安裝gcc/g++
package main
import (
"fmt"
"math/rand"
"os"
"snake/clib"
"strconv"
"time"
)// 全域性常量
const (
width = 40 // 地圖寬度
height = 20 // 地圖高度
length = 2 // 蛇長度
direction = 'r' // 方向
)// 全域性變數
var (
food food // 食物
delay time.duration = time.second / 2 // 速度
score int = 0 // 分數
)// 初始化父類座標
type position struct
// 初始化蛇子類
type snake struct
// 初始化食物子類
type food struct
// 初始化遊戲地圖
func mapinit()
// 初始化蛇資訊
func (s *snake) snakeinit()
// 繪製蛇
func (s *snake) snake() else
show(s.pos[i].x, s.pos[i].y, ch) }}
// 接受指定鍵盤按鍵輸入
func (s *snake) getinput()
case 72, 85, 117:
if s.dir != 'd'
case 77, 82, 114:
if s.dir != 'l'
case 75, 76, 108:
if s.dir != 'r'
case 32:
s.dir = 'p'
}} }()
}// 蛇運動
func (s *snake) play()
if s.check() == false
s.eating() // 享受美食
s.changespeed() // 改變速度
s.updatepos() // 更新蛇位置
s.snake() // 繪製蛇的ui }}
// 生命檢測
func (s *snake) check() bool
// 蛇頭和身體碰撞
for i := 1; i < s.len; i++
} return true
}// 更新位置
func (s *snake) updatepos()
// 根據方向改變蛇頭位置
switch s.dir
show(s.pos[0].x, s.pos[0].y, '@') // 繪製蛇頭
}// 享受美食
func (s *snake) eating()
}// 根據得分改變速度
func (s *snake) changespeed()
// 隨機食物
func (s *snake) randomfood()
} show(food.x, food.y, '$') // 顯示食物
}// 顯示資訊
func show(x int, y int, ch byte)
// 兩者之間隨機數 左閉右開
func randint(min, max int) int
return rand.intn(max-min) + min
}// 顯示等分
func (s *snake) showscore()
// 遊戲結束
func (s *snake) gameover()
func main()
package clib
/*#include#include//使用winapi來移動控制台游標
void gotoxy(int x,int y)
//從鍵盤獲取一次按鍵但不顯示在控制台
int direct()
//去控制台游標
void hidecursor()
*/import "c" // go可以嵌入c語言的函式
// 設定控制台游標位置
func gotoposition(x int, y int)
// 無顯示鍵盤輸入字元
func direction() (key int)
// 隱藏滑鼠
func hidecursor()
關於一款c 貪吃蛇小遊戲
好久不資瓷了。首先宣告,這個東西為 窩不會寫這個。如下 include include include include using namespace std char ch w o int i 10,j 10,a 100 100 b 100000 c 100000 u 0,gh 0,i1 0,j1...
簡單的「貪吃蛇」
近日無事,看見很多地方有人在詢問貪吃蛇程式的做法,剛好我前段時間在公司做手持終端應用開發時,利用乙個午休時間自己也寫了個貪吃蛇程式玩玩,效果和手機 遊戲機上一樣,但是程式是在公司電腦上,由於資訊保安,是拷不出來的,這裡就給大家講講如何寫貪吃蛇程式吧。其實貪吃蛇遊戲程式是很簡單的,只要大家坐下來細心地...
C 簡單貪吃蛇
一定要自己定義set level view score 等函式,main 函式中主要運用了函式指標來縮短 其中忽略了必要的 include標頭檔案和using指示 如 using namespace std 請自行補充。我的想法是有 兩個線性表 和乙個字串 一 定義第乙個線性表的 片段如下 int ...