用C#實現貪吃蛇遊戲
先說了,如果不會GDI+,類的定義這些基礎東西的,請先搜尋相關貼子學習。
這次教大家用C#做一個簡單的貪吃蛇遊戲。
先介紹用到的技術:
GDI+
定義類
列舉
因為C#是一門面向物件的語言,我們不用把所有程式碼都寫在一個窗體上,應該有一個分層思想(介面還介面,資料處理還資料處理),如果還要網上對戰的話,搞個三層吧(介面層,資料處理或邏輯層,Socket層),這樣不僅方便維護,還為後面新增新Idea會容易一點。
廢話少講,現在開始
在編寫遊戲程式碼之前,先想一想,貪食蛇裡有什麼呢?
蛇,這是必要的。
食物,這也是必要的。
蛇應該是怎樣的一條蛇?
不斷向一個方向移動,那就是有方向了。方向可以用整數代表,不過為了方便以後編寫程式碼,
還是定義一個列舉好一點。還要會移動。還要有一個位置。還要有一個速度
蛇有一個長度,也要記錄下它各個身體的位置,因為蛇吃食物會不斷加長,所以他的身體數量(即長度)是會變化的,所以最好是定義一個泛型List<Point>來記錄身體上的所有位置。
蛇怎樣才能移動,原理是這樣,後面一個蛇身替代頭部的位置,然後頭部向前走一步。
食物呢?我們不搞傳統的貪吃蛇,食物可以是多個的,也應該有不同型別,吃到不同型別的食物,蛇會作出相應的變化。也就是說,食物也有型別,所以定義一個enum為食物型別
為了搞搞新意思,加上一個蛇的速度,蛇吃到快的食物,會加快速度,吃到慢的食物,會減慢速度。所以定義了速度
列舉一般寫在一個Common.cs裡
總的來說,定義類應該是這樣:
蛇:方向(列舉),狀態(列舉),移動(方法),位置(頭部位置),長度,各身體的位置,速度
食物:位置,型別
不說太多,我將會在程式碼裡寫詳盡的註釋。大家應該看得明白。
程式碼如下:
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
namespace snake
{
public enum SnakeDirection
{
Up, Down, Left, Right
}
public enum SnakeState
{
Normal = 50, Fast = 20, Low = 100
}
public enum FoodType
{
Normal, Fast, Slow, Long, Short, LENGTH
}
}
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
namespace snake
{
public class Snake
{
public Snake(Point headLocation, int snakeLength, SnakeDirection direction)
{
bodiesLocation = new List<Point>();
bodiesLocation.Add(headLocation);
for (int i = 0; i < snakeLength; i++)
{
bodiesLocation.Add(new Point(-1, -1));
}
this.direction = direction;
this.speed = (int)SnakeState.Normal;
}
///<summary>向前移動一格</summary>
public void Run()
{
//從蛇尾開始,前面身體的位置替代後面的身體位置
for (int i = bodiesLocation.Count - 1; i >= 1; i--)
{
bodiesLocation[i] = bodiesLocation[i - 1];
}
//頭部向前走一步
Point head = bodiesLocation[0];
switch (direction)
{
case SnakeDirection.Up:
head = new Point(head.X, head.Y - 1);
break;
case SnakeDirection.Down:
head = new Point(head.X, head.Y + 1);
break;
case SnakeDirection.Left:
head = new Point(head.X - 1, head.Y);
break;
case SnakeDirection.Right:
head = new Point(head.X + 1, head.Y);
break;
}
bodiesLocation[0] = head; //因為Point是Struct,是值型別,所以要賦值過來
}
///<summary>移動方向</summary>
public SnakeDirection Direction
{
get { return direction; }
set { direction = value; }
}
///<summary>狀態</summary>
public SnakeState State
{
get { return state; }
set
{
state = value;
speed = (int)state; //改變蛇的速度
}
}
///<summary>頭部位置</summary>
public Point HeadLocation
{
get { return bodiesLocation[0]; }
}
///<summary>蛇身體</summary>
public List<Point> BodiesLocation
{
get { return bodiesLocation; }
}
///<summary>蛇的速度</summary>
public int Speed
{
get { return speed; }
set { speed = value; }
}
///<summary>移動方向</summary>
private SnakeDirection direction;
///<summary>狀態</summary>
private SnakeState state;
///<summary>蛇身體的位置</summary>
private List<Point> bodiesLocation;
///<summary>蛇的速度</summary>
private int speed = (int)SnakeState.Normal;
}
}
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
namespace snake
{
public class Food
{
public Food(Point location,FoodType type)
{
this.location = location;
this.type = type;
}
public Food() { }
///<summary>食物型別</summary>
public FoodType Type
{
get { return type; }
set { type = value; }
}
///<summary>位置</summary>
public Point Location
{
get { return location; }
set { location = value; }
}
///<summary>食物型別</summary>
private FoodType type;
///<summary>位置</summary>
private Point location;
}
}
為了方便維護,定義了一個類GameManager,專門處理遊戲的邏輯,運算之類的。
首先這個類相當於一個遊戲,所以蛇,食物是必不可少的,
遊戲一定要有一個畫面的,所以要定義一個Draw()方法把畫面畫出來
要隨機產生食物,所以要定義一個produceFood()方法
蛇要吃到食物,所以要定義一個SnakeEatFood
先說了,如果不會GDI+,類的定義這些基礎東西的,請先搜尋相關貼子學習。
這次教大家用C#做一個簡單的貪吃蛇遊戲。
先介紹用到的技術:
GDI+
定義類
列舉
因為C#是一門面向物件的語言,我們不用把所有程式碼都寫在一個窗體上,應該有一個分層思想(介面還介
寫在前面
用C++語言寫遊戲再適合不過了,當然不是因為用它寫起來簡單,(相反那並不簡單),但是其效能絕對是其他語言沒法比的。所以這裡我會用C++實現一個貪吃蛇的遊戲。當然我可能有意隱瞞了你,因為我們不僅僅是用C++純語言來幹這件事,那會很彆扭,因為我們需要影象
轉自C語言網
今天筆者為大家展示C語言寫的貪吃蛇遊戲,讓大家玩一玩自己寫的遊戲~ 是純C語言哦~VC6.0開發 無問題
首先,開始介面:
遊戲介面如下:
程式碼如下:
筆者VC6.0下編寫,測試無問題,可複製程式碼直接到VC6原始檔下,字尾為.c檔案 for 焦點 == tint 素材 ide graph 點擊 perf 貪吃蛇遊戲的設計步驟:
Part 1:
設計遊戲圖紙
畫出900*700的白色窗口
在窗口上添加畫布
在畫布上添加標題
在畫布上添加黑色遊戲區
Part 2:
很久之前學jquery時寫的一個小遊戲,程式碼如下:
<script type="text/javascript" src="jquery-3.2.1.js"></script>
<script type="text/javascript"&
原文在部落格園:https://www.cnblogs.com/leixiao-/p/9984836.html
這是我第一次工程實踐的作業,選題很多,但我只對其中的遊戲開發感興趣,可遊戲就兩三個型別,最終還是選擇了貪吃蛇。其實就貪吃蛇本身的程式碼實現還算是比較簡單的,可是實踐要求程式碼行達到
說明
我在2018年5月8日重新更新了貪吃蛇的程式碼,現在它比以前更精簡,且未使用全域性變數
函式均使用功能命名,可以輕易明白函式功能
貪吃蛇通過連結串列實現
你可以前往我的github下載此程式碼,僅可在vs下編譯,呼叫GameE
寒假看完了C++primer plus 之後就一直在看反彙編和逆向,對於C++一直沒有拿出來做點實質性的東西。 最近書也看完了...沒事幹就想著做一個貪吃蛇來鍛鍊一下自己的C++編寫程式碼的水平。結果是 很煩,怎麼可以做出這麼醜的東西來。之前在看反彙編之前就想過做貪吃蛇,不
先附上貪吃蛇效果圖:
蛇身用了佇列來實現,雖然不太優化,但是很容易理解,簡單來說,就是每一幀都把末尾的方塊去掉,把面前的方塊加進來,一旦佇列的size大於貪吃蛇的長度時,不斷出隊直到滿足。
w
實時監控a s
c++面向物件實現控制檯貪吃蛇
學習了c++面向物件方面的知識,閒著無聊寫了貪吃蛇,主要由下面幾個類組成:
MAP類實現地圖的渲染
蛇類實現蛇的初始化,渲染,行走,吃食物等行為
*食物類實現食物的初始化及生成
point類實現座標類
工具函式包括游標移動,
還有一個 MaxGrade.txt 檔案記錄最高分 建立一個即可
#include<iostream>
#include<windows.h>
#include<conio.h>
#include<cstdlib&g
目錄
0 引言
1 環境
2 需求分析
3 程式碼實現
4 後記
0 引言
前幾天,星球有人提到貪吃蛇,一下子就勾起了我的興趣,畢 JavaScript 小遊戲 需要用到html、css、javascript 和 DOM 這些知識點就可以了。主要是js,其他只是一些基本的知識。js貌似也不是很難。但是問題就在這裏,即使知識點都會了,但是還是無法綜合運用把東西做出來
遊戲界面
先把整個遊戲界面做出來:
<!DOCTYPE ht 接觸程式設計有段時間了,一直想學習怎麼去寫個遊戲來練練手。在看了B站上的教學終於可以自己試試怎麼實現貪吃蛇這個遊戲了。好了,廢話不多說,我們來看看如何用EasyX庫來實現貪吃蛇。
一、準備
工具vc++6.0
安裝庫檔案
EasyX庫安裝連結
可以安裝任意版本,本人安裝的
通過按鍵控制蛇的移動,首先需要讀取按鍵,通過按鍵來控制。
通過百度後得知用kbhit();
用一小段程式碼進行測試:
一直輸出Hello World,直到使用者按Esc結束
#include "stdafx.h"
#include<st log pan 實現 position .html .cn 數據類型 title ack 一、設計思路
蛇身本質上就是個結構數組,數組裏存儲了坐標x、y的值,再通過一個循環把它打印出來,蛇的移動則是不斷地刷新重新打印。所以撞墻、咬到自己只是數組x、y值的簡單比較。
二、
今天我就從零開始來完成這個小遊戲,完成的方式也是一步一步的新增功能這樣的方式來實現。
第一步完成的功能:寫一個介面
大家見到的貪吃蛇小遊戲,介面肯定是少不了的。因此,第一步就是寫一個小介面。
實現程式碼如下:
第二步完成的功能:在介面上畫成一格一格的
我們見過的貪吃蛇遊戲
1 設計目的和任務
本次期末大作業採用課程設計的形式進行,作為《Windows程式設計》課程的期末考核。要求綜合運用Windows程式設計的相關知識,完成大作業的相關內容,並撰寫設計報告。其目的和任務是:
鞏固和加深學生對本課程基本知識的理解和掌握
熟悉使用Windows環
用arduino編寫貪吃蛇小遊戲
裡面有大量的程式碼註釋,希望能真的幫助到電子愛好者。
工具 :
硬體:arduino UNO 、搖桿模組(控制貪吃蛇前後左右移動、
OLED 螢幕
軟體:arduino IDE1.8.2版本(基本上大於1.6版本,就能使用)
咱
上學期程式是設計實驗之二,用c#實現一個拼圖遊戲
(一)需求:(這個需求書寫較為簡單)
圖片:有圖
切割:拼圖不是一個圖,我們需要把一個整圖它切割成N*N的小圖
打亂:把這N*N的小圖打亂順序,才能叫拼圖qwq
判斷:判斷拼圖是否成功
互動:選擇滑鼠點選拖動 相關推薦
用C#實現貪吃蛇遊戲
用C++語言實現貪吃蛇遊戲
純C語言實現貪吃蛇遊戲(VC6.0)
用Java開發貪吃蛇遊戲
JQuery實現貪吃蛇遊戲
Java實現貪吃蛇遊戲(含賬號註冊登入,排行榜功能)
純C語言貪吃蛇遊戲
C++實現貪吃蛇。
c++實現貪吃蛇原理
c++實現貪吃蛇
C 實現 貪吃蛇
一步步教你怎麼用python寫貪吃蛇遊戲
用JS實現的貪吃蛇遊戲
基於EasyX庫的貪吃蛇遊戲——C語言實現
用C程式碼寫貪吃蛇遊戲--用按鍵控制蛇移動
[C語言]貪吃蛇_結構數組實現
Java實現貪吃蛇小遊戲(附完整原始碼)
[原始碼和文件分享]基於WIN32 API介面程式設計實現的貪吃蛇遊戲
用arduino編寫貪吃蛇小遊戲(完整程式碼)
用c#實現拼圖遊戲